freebsd-skq/sys/dev/ata
sos 62bed477fa This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.

However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:

atacore:	ATA core functionality, always needed for any ATA setup

atacard:	CARDBUS support
atacbus:	PC98 cbus support
ataisa:		ISA bus support
atapci:		PCI bus support only generic chipset support.

ataahci:	AHCI support, also pulled in by some vendor modules.

ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia;	Vendor support, ie atavia for VIA chipsets

atadisk:	ATA disk driver
ataraid:	ATA softraid driver

atapicd:	ATAPI cd/dvd driver
atapifd:	ATAPI floppy/flashdisk driver
atapist:	ATAPI tape driver

atausb:		ATA<>USB bridge
atapicam:	ATA<>CAM bridge

This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:

device          atacore
device          atapci
device          atavia

And then you need the atadisk, atapicd etc lines in there just as usual.

If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
..
chipsets This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata_if.m Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-all.c This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-all.h This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-card.c Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-cbus.c Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-disk.c Fix panic and breakage for non-DMA ATA devices e.g. powermac macio cells. 2008-05-08 17:55:44 +00:00
ata-disk.h Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-dma.c This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-isa.c Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-lowlevel.c Fix panic and breakage for non-DMA ATA devices e.g. powermac macio cells. 2008-05-08 17:55:44 +00:00
ata-pci.c This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-pci.h This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-queue.c Unload DMA slot on device timeouts. 2008-04-21 10:35:19 +00:00
ata-raid.c Go back to preallocating everything possible on init. 2008-04-17 12:29:35 +00:00
ata-raid.h Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
ata-sata.c This is the roumored ATA modulerisation works, and it needs a little explanation. 2008-10-09 12:56:57 +00:00
ata-usb.c Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
atapi-cam.c Go back to preallocating everything possible on init. 2008-04-17 12:29:35 +00:00
atapi-cd.c Fix panic and breakage for non-DMA ATA devices e.g. powermac macio cells. 2008-05-08 17:55:44 +00:00
atapi-cd.h Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
atapi-fd.c Fix panic and breakage for non-DMA ATA devices e.g. powermac macio cells. 2008-05-08 17:55:44 +00:00
atapi-fd.h Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00
atapi-tape.c Replace all calls to minor() with dev2unit(). 2008-09-27 08:51:18 +00:00
atapi-tape.h Add experimental support for SATA Port Multipliers 2008-04-10 13:05:05 +00:00