Re: [2.6 patch] select ATA_SFF

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

Adrian Bunk wrote:

Making ATA_SFF a user-visible option with the drivers needing it
depending on it caused the following problems:
- people lose their driver when accidentally disabling it
- people not requiring it needlessly enable it

Fortunately, we don't have to bother the user with this option at all
since we can simply select it when it's required.

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxxx>

[...]

@@ -132,6 +119,7 @@ config SATA_NV
 config PDC_ADMA
 	tristate "Pacific Digital ADMA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for Pacific Digital ADMA controllers

ADMA is not SFF-8038i compilant, it's the IDE DMA spec of its own. And I'm seeing references to libata-sff.c... confusing.

@@ -248,6 +249,7 @@ config PATA_ARTOP
 config PATA_AT32
 	tristate "Atmel AVR32 PATA support (Experimental)"
 	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the IDE devices on the
 	  Atmel AT32AP platform.

   I'm seeing no DMA support here... yet there are calls to

@@ -266,6 +269,7 @@ config PATA_ATIIXP
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the CMD640 PCI IDE
 	  interface chip. Only the primary channel is currently

   PIO only chip... yet its driver seems to call libata-sff.c...

@@ -285,6 +290,7 @@ config PATA_CMD64X
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the Cyrix 5510/5520
 	  companion chip used with the MediaGX/Geode processor family.

   These chips are PIO only. Yet the driver calls libata-sff.c, hm...

@@ -375,6 +390,7 @@ config PATA_HPT3X2N
 config PATA_HPT3X3
 	tristate "HPT 343/363 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for the HPT 343/363
 	  PATA controllers via the new ATA layer
@@ -384,6 +400,7 @@ config PATA_HPT3X3
 config PATA_HPT3X3_DMA
 	bool "HPT 343/363 DMA support (Experimental)"
 	depends on PATA_HPT3X3
+	select ATA_SFF

I don't think this 'select' is needed, since it's not on option that enables the driver itself, just DMA support in it.

 	help
 	  This option enables DMA support for the HPT343/363
 	  controllers. Enable with care as there are still some
@@ -392,6 +409,7 @@ config PATA_HPT3X3_DMA
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
 	depends on EXPERIMENTAL && ISAPNP
+	select ATA_SFF
 	help
 	  This option enables support for ISA plug & play ATA
 	  controllers such as those found on old soundcards.

   PnP IDE is not SFF-8038i compliant, and not DMA capable, IIUC.

@@ -429,6 +450,7 @@ config PATA_JMICRON
 config PATA_LEGACY
 	tristate "Legacy ISA PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for ISA/VLB bus legacy PATA
 	  ports and allows them to be accessed via the new ATA layer.

   PIO only driver, no SFF-8038i stuff... but calls libata-sff.c, hm...

@@ -456,6 +480,7 @@ config PATA_MARVELL
 config PATA_MPC52xx
 	tristate "Freescale MPC52xx SoC internal IDE"
 	depends on PPC_MPC52xx
+	select ATA_SFF
 	help
 	  This option enables support for integrated IDE controller
 	  of the Freescale MPC52xx SoC.

   DMA is not SFF-8038i compliant -- however it calls libata-sff.c...

@@ -465,6 +490,7 @@ config PATA_MPC52xx
 config PATA_MPIIX
 	tristate "Intel PATA MPIIX support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for MPIIX PATA support.

   PIO only, no SFF-8038i compliant registers. Yet it calls liabat-sff.c...

@@ -490,6 +518,7 @@ config PATA_NETCELL
 config PATA_NINJA32
 	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the Ninja32, Delkin and
 	  possibly other brands of Cardbus ATA adapter

   BMDMA here is not SFF-8038i compatible. Uses libata-sff.c though, it seems...

@@ -499,6 +528,7 @@ config PATA_NINJA32
 config PATA_NS87410
 	tristate "Nat Semi NS87410 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables support for the National Semiconductor
 	  NS87410 PCI-IDE controller.

PIO only driver, no SFF-8038i compatible registers. Seems to be calling libata-sff.c though...

@@ -517,6 +548,7 @@ config PATA_NS87415
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  This option enables full PIO support for the early Opti ATA
 	  controllers found on some old motherboards.

   PIO only driver, not SFF-8038i compliant. Seems to be calling libata-sff.c...

@@ -536,6 +569,7 @@ config PATA_OPTIDMA
 config PATA_PCMCIA
 	tristate "PCMCIA PATA support"
 	depends on PCMCIA
+	select ATA_SFF
 	help
 	  This option enables support for PCMCIA ATA interfaces, including
 	  compact flash card adapters via the new ATA layer.

PCMCIA driver is PIO only, not SFF-8038i "by definition" since it's not PCI. Yet seems to call libab-sff.c...

@@ -554,12 +589,14 @@ config PATA_PDC_OLD
 config PATA_QDI
 	tristate "QDI VLB PATA support"
 	depends on ISA
+	select ATA_SFF
 	help
 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.

   QDI6580 is VLB PIO only driver -- therefore not SFF-8038i compliant.

@@ -578,6 +616,7 @@ config PATA_RB500
 config PATA_RZ1000
 	tristate "PC Tech RZ1000 PATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables basic support for the PC Tech RZ1000/1
 	  PATA controllers via the new ATA layer

   RZ1000 is PIO only, IIRC -- no SFF-8038i registers.

@@ -647,6 +693,7 @@ config PATA_WINBOND
 config PATA_WINBOND_VLB
 	tristate "Winbond W83759A VLB PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	select ATA_SFF
 	help
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.

This is VLB PIO only driver -- no SFF-8038i. Seems to call libata-sff.c though...

@@ -673,6 +722,7 @@ config PATA_OF_PLATFORM
 config PATA_ICSIDE
 	tristate "Acorn ICS PATA support"
 	depends on ARM && ARCH_ACORN
+	select ATA_SFF
 	help
 	  On Acorn systems, say Y here if you wish to use the ICS PATA
 	  interface card.  This is not required for ICS partition support.

   ICS is not SFF-8038i compliant. However it calls libata-sff.c... go figure.

@@ -691,6 +742,7 @@ config PATA_IXP4XX_CF
 config PATA_SCC
 	tristate "Toshiba's Cell Reference Set IDE support"
 	depends on PCI && PPC_CELLEB
+	select ATA_SFF

   SCC PATA is not SFF-8038i compliant. Seem to calls libata-sff.c however...

 	help
 	  This option enables support for the built-in IDE controller on
 	  Toshiba Cell Reference Board.

Looks like there's no clean separation within libata-sff.c itself between SFF-8038i (BMDMA spec) and IDE registers itself -- that confused me: at first I thought there's a big issue with a patch. :-/

Jeff, Tejun, what "sff" in the file name actually means? Isn't it strange that the drivers lacking DMA support or not really compliant with SFF-8038i have to link with this file?

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux