Why do we need libata to access SATA host controller low level device drivers?

From: Deven Balani
Date: Mon Oct 17 2005 - 23:16:06 EST


Hi Everybody

I'm sorry if my question sounds absurd to some. I've found out through
web sources, for the following reasons/features we need libata,

[1] libata is a library used inside the linux kernel to support ATA
host controllers and devices.
[2] libata provides an ATA driver API, class transport for ATA and
ATAPI devices and SCSI<->ATA translation for ATA devices according to
the T10 SAT spec.
[3] libata causes each SATA to appear as a SCSI bus.
[4] It controls how the low-level driver interfaces with the ATA and
SCSI layers.
[5] libata supports the necessary "lba48" ATA addressing extension
starting with kernel version 2.6.5-rc2.
[6] libata has hotplug & random task file submission(thus enabling
SMART support).
SOURCE KEY:[1][2][4]libata.pdf
[3][5][6]http://linuxmafia.com/faq/Hardware/sata.html

But still at the back of my curious mind I'm looking for the most
appropriate answer to this question that can come only come from the
experienced linux kernel experts of this group.

Now some info about myself, i'm a software engineer in india and
developing GPL'ed (open source and Linux Kernel 2.4 based) SATA
low-level driver for a SATA/ATAPI-6 Host Controller on a ARM 920TDMI
based chipset.

Looking forward for your replies and guidance. Thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/