All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: worth separating serial from parallel ATA kernel options?
  2008-08-08 16:32 worth separating serial from parallel ATA kernel options? Robert P. J. Day
@ 2008-08-08 16:26 ` Alan Cox
  2008-08-08 16:53   ` Robert P. J. Day
  2008-08-08 22:34   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Grant Coady
  0 siblings, 2 replies; 22+ messages in thread
From: Alan Cox @ 2008-08-08 16:26 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Linux Kernel Mailing List

On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
"Robert P. J. Day" <rpjday@crashcourse.ca> wrote:

> 
>   asked from a position of appalling ignorance, but would it be more
> organized to be able to select serial ATA functionality separately
> from parallel ATA? 

The correct fix is to remove the (experimental) from the Parallel ATA
drivers Kconfig

For the rest of the menu the list is SATA first, then PATA (and PATA is
roughly alphabetic but both want a tidy)

^ permalink raw reply	[flat|nested] 22+ messages in thread

* worth separating serial from parallel ATA kernel options?
@ 2008-08-08 16:32 Robert P. J. Day
  2008-08-08 16:26 ` Alan Cox
  0 siblings, 1 reply; 22+ messages in thread
From: Robert P. J. Day @ 2008-08-08 16:32 UTC (permalink / raw)
  To: Linux Kernel Mailing List


  asked from a position of appalling ignorance, but would it be more
organized to be able to select serial ATA functionality separately
from parallel ATA?  i ask only because the current (lengthy) menu
seems to randomly mix them together and, more significantly, serial
ATA is categorized as production level, while parallel ATA is still
tagged as experimental.  just wondering ...

rday

p.s.  it's also amusing to see that things in that menu graduate from
"EXPERIMENTAL" to "Very Experimental" to "HIGHLY EXPERIMENTAL".  i'm
scared to see where this goes next.  :-)

--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: worth separating serial from parallel ATA kernel options?
  2008-08-08 16:26 ` Alan Cox
@ 2008-08-08 16:53   ` Robert P. J. Day
  2008-08-08 22:34   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Grant Coady
  1 sibling, 0 replies; 22+ messages in thread
From: Robert P. J. Day @ 2008-08-08 16:53 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux Kernel Mailing List

On Fri, 8 Aug 2008, Alan Cox wrote:

> On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
> "Robert P. J. Day" <rpjday@crashcourse.ca> wrote:
>
> >
> >   asked from a position of appalling ignorance, but would it be more
> > organized to be able to select serial ATA functionality separately
> > from parallel ATA?
>
> The correct fix is to remove the (experimental) from the Parallel
> ATA drivers Kconfig
>
> For the rest of the menu the list is SATA first, then PATA (and PATA
> is roughly alphabetic but both want a tidy)

  that definitely sounds like a job for the real ATA people.  i'll
leave it to them.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-08 16:26 ` Alan Cox
  2008-08-08 16:53   ` Robert P. J. Day
@ 2008-08-08 22:34   ` Grant Coady
  2008-08-08 22:58     ` Krzysztof Halasa
  1 sibling, 1 reply; 22+ messages in thread
From: Grant Coady @ 2008-08-08 22:34 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert P. J. Day, Linux Kernel Mailing List

On Fri, 8 Aug 2008 17:26:29 +0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

>On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
>"Robert P. J. Day" <rpjday@crashcourse.ca> wrote:
>
>> 
>>   asked from a position of appalling ignorance, but would it be more
>> organized to be able to select serial ATA functionality separately
>> from parallel ATA? 
>
>The correct fix is to remove the (experimental) from the Parallel ATA
>drivers Kconfig
>
>For the rest of the menu the list is SATA first, then PATA (and PATA is
>roughly alphabetic but both want a tidy)

Well, since Robert didn't have a go, I did ;)  How about:

 .config - Linux Kernel v2.6.27-rc2 Configuration
 ------------------------------------------------------------------------------
  +----------- Serial ATA (SATA) and Parallel ATA (PATA) drivers -----------+
  ¦  Arrow keys navigate the menu.  <Enter> selects submenus --->.          ¦
  ¦  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, ¦
  ¦  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> ¦
  ¦  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       ¦
  ¦ +---------------------------------------------------------------------+ ¦
  ¦ ¦    --- Serial ATA (SATA) and Parallel ATA (PATA) drivers            ¦ ¦
  ¦ ¦    <*>   AHCI SATA support                                          ¦ ¦
  ¦ ¦    [*]   ATA ACPI Support                                           ¦ ¦
  ¦ ¦    [ ]   SATA Port Multiplier support                               ¦ ¦
  ¦ ¦    < >   Silicon Image 3124/3132 SATA support                       ¦ ¦
  ¦ ¦    [*]   ATA SFF support                                            ¦ ¦
  ¦ ¦            *** Serial ATA drivers ***                               ¦ ¦
  ¦ ¦    < >     Initio 162x SATA support                                 ¦ ¦
  ¦ ¦    < >     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support           ¦ ¦
  ¦ ¦    < >     Marvell SATA support (HIGHLY EXPERIMENTAL)               ¦ ¦
  ¦ ¦    < >     NVIDIA SATA support                                      ¦ ¦
  ¦ ¦    < >     Pacific Digital ADMA support                             ¦ ¦
  ¦ ¦    < >     Pacific Digital SATA QStor support                       ¦ ¦
  ¦ ¦    < >     Promise SATA SX4 support                                 ¦ ¦
  ¦ ¦    < >     Promise SATA TX2/TX4 support                             ¦ ¦
  ¦ ¦    < >     Silicon Image SATA support                               ¦ ¦
  ¦ ¦    < >     SiS 964/965/966/180 SATA support                         ¦ ¦
  ¦ ¦    < >     ServerWorks Frodo / Apple K2 SATA support                ¦ ¦
  ¦ ¦    < >     ULi Electronics SATA support                             ¦ ¦
  ¦ ¦    < >     VIA SATA support                                         ¦ ¦
  ¦ ¦    < >     VITESSE VSC-7174 / INTEL 31244 SATA support              ¦ ¦
  ¦ ¦            *** Parallel ATA drivers ***                             ¦ ¦
  ¦ ¦    < >     ACPI firmware driver for PATA                            ¦ ¦
  ¦ ¦    < >     ALi PATA support (Experimental)                          ¦ ¦
  ¦ ¦    < >     AMD/NVidia PATA support                                  ¦ ¦
  ¦ ¦    < >     ARTOP 6210/6260 PATA support                             ¦ ¦
  ¦ ¦    < >     ATI PATA support                                         ¦ ¦
  ¦ ¦    < >     CMD640 PCI PATA support (Very Experimental)              ¦ ¦
  ¦ ¦    < >     CMD64x PATA support                                      ¦ ¦
  ¦ ¦    < >     CMD / Silicon Image 680 PATA support                     ¦ ¦
  ¦ ¦    < >     Compaq Triflex PATA support                              ¦ ¦
  ¦ ¦    < >     CS5510/5520 PATA support                                 ¦ ¦
  ¦ ¦    < >     CS5530 PATA support (Experimental)                       ¦ ¦
  ¦ ¦    < >     Cypress CY82C693 PATA support (Very Experimental)        ¦ ¦
  ¦ ¦    < >     EFAR SLC90E66 support                                    ¦ ¦
  ¦ ¦    < >     Generic ATA support                                      ¦ ¦
  ¦ ¦    < >     HPT 366/368 PATA support                                 ¦ ¦
  ¦ ¦    < >     HPT 370/370A/371/372/374/302 PATA support (Experimental) ¦ ¦
  ¦ ¦    < >     HPT 372N/302N PATA support (Very Experimental)           ¦ ¦
  ¦ ¦    < >     HPT 343/363 PATA support                                 ¦ ¦
  ¦ ¦    < >     Intel PATA MPIIX support                                 ¦ ¦
  ¦ ¦    < >     Intel PATA old PIIX support                              ¦ ¦
  ¦ ¦    < >     Intel SCH PATA support                                   ¦ ¦
  ¦ ¦    < >     IT8211/2 PATA support                                    ¦ ¦
  ¦ ¦    < >     IT8213 PATA support (Experimental)                       ¦ ¦
  ¦ ¦    <*>     JMicron PATA support                                     ¦ ¦
  ¦ ¦    < >     Marvell PATA support via legacy mode                     ¦ ¦
  ¦ ¦    < >     Nat Semi NS87410 PATA support (Experimental)             ¦ ¦
  ¦ ¦    < >     Nat Semi NS87415 PATA support (Experimental)             ¦ ¦
  ¦ ¦    < >     NETCELL Revolution RAID support                          ¦ ¦
  ¦ ¦    < >     Ninja32/Delkin Cardbus ATA support (Experimental)        ¦ ¦
  ¦ ¦    < >     OPTI621/6215 PATA support (Very Experimental)            ¦ ¦
  ¦ ¦    < >     OPTI FireStar PATA support (Very Experimental)           ¦ ¦
  ¦ ¦    < >     Promise PATA 2027x support                               ¦ ¦
  ¦ ¦    < >     Older Promise PATA controller support (Experimental)     ¦ ¦
  ¦ ¦    < >     RADISYS 82600 PATA support (Very Experimental)           ¦ ¦
  ¦ ¦    < >     PC Tech RZ1000 PATA support                              ¦ ¦
  ¦ ¦    < >     SC1200 PATA support (Very Experimental)                  ¦ ¦
  ¦ ¦    < >     SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support           ¦ ¦
  ¦ ¦    < >     SiS PATA support (Experimental)                          ¦ ¦
  ¦ ¦    < >     VIA PATA support                                         ¦ ¦
  ¦ ¦    < >     Winbond SL82C105 PATA support                            ¦ ¦
  ¦ +---------------------------------------------------------------------+ ¦
  +-------------------------------------------------------------------------¦
  ¦                    <Select>    < Exit >    < Help >                     ¦
  +-------------------------------------------------------------------------+

From: Grant Coady <gcoady.lk@gmail.com>

Cleanup Serial ATA and Parallel ATA drivers Kconfig

Sort the menu items as suggested by Alan Cox, I left the platform
devices at the end, poetic license with 'Older Promise', and of
course where should Intel's ICH ... PATA/SATA go?

Made the 'If unsure...' look alike and added missing entry.

Should 'SATA Port Multiplier support' default to 'Y'?  Because it
at present, is I added If unsure, say 'Y' to it.  Doesn't seem
right though...  Compile tested on x86_64.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>

---
 Kconfig |  296 +++++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 155 insertions(+), 141 deletions(-)

--- drivers/ata/Kconfig.orig	2008-07-14 07:51:29.000000000 +1000
+++ drivers/ata/Kconfig	2008-08-09 07:01:39.418858173 +1000
@@ -3,7 +3,7 @@
 #
 
 menuconfig ATA
-	tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
+	tristate "Serial ATA (SATA) and Parallel ATA (PATA) drivers"
 	depends on HAS_IOMEM
 	depends on BLOCK
 	depends on !(M32R || M68K) || BROKEN
@@ -27,6 +27,14 @@
        bool
        default n
 
+config SATA_AHCI
+	tristate "AHCI SATA support"
+	depends on PCI
+	help
+	  This option enables support for AHCI Serial ATA.
+
+	  If unsure, say N.
+
 config ATA_ACPI
 	bool "ATA ACPI Support"
 	depends on ACPI && PCI
@@ -41,6 +49,17 @@
 	  You can disable this at kernel boot time by using the
 	  option libata.noacpi=1
 
+	  If unsure, say Y.
+
+config SATA_FSL
+	tristate "Freescale 3.0Gbps SATA support"
+	depends on FSL_SOC
+	help
+	  This option enables support for Freescale 3.0Gbps SATA controller.
+	  It can be found on MPC837x and MPC8315.
+
+	  If unsure, say N.
+
 config SATA_PMP
 	bool "SATA Port Multiplier support"
 	default y
@@ -48,13 +67,7 @@
 	  This option adds support for SATA Port Multipliers
 	  (the SATA version of an ethernet hub, or SAS expander).
 
-config SATA_AHCI
-	tristate "AHCI SATA support"
-	depends on PCI
-	help
-	  This option enables support for AHCI Serial ATA.
-
-	  If unsure, say N.
+	  If unsure, say Y.
 
 config SATA_SIL24
 	tristate "Silicon Image 3124/3132 SATA support"
@@ -64,15 +77,6 @@
 
 	  If unsure, say N.
 
-config SATA_FSL
-	tristate "Freescale 3.0Gbps SATA support"
-	depends on FSL_SOC
-	help
-	  This option enables support for Freescale 3.0Gbps SATA controller.
-	  It can be found on MPC837x and MPC8315.
-
-	  If unsure, say N.
-
 config ATA_SFF
 	bool "ATA SFF support"
 	default y
@@ -93,14 +97,14 @@
 
 if ATA_SFF
 
-config SATA_SVW
-	tristate "ServerWorks Frodo / Apple K2 SATA support"
+comment	"Serial ATA drivers"
+	depends on ATA_SFF
+
+config SATA_INIC162X
+	tristate "Initio 162x SATA support"
 	depends on PCI
 	help
-	  This option enables support for Broadcom/Serverworks/Apple K2
-	  SATA support.
-
-	  If unsure, say N.
+	  This option enables support for Initio 162x Serial ATA.
 
 config ATA_PIIX
 	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
@@ -145,14 +149,6 @@
 
 	  If unsure, say N.
 
-config SATA_PROMISE
-	tristate "Promise SATA TX2/TX4 support"
-	depends on PCI
-	help
-	  This option enables support for Promise Serial ATA TX2/TX4.
-
-	  If unsure, say N.
-
 config SATA_SX4
 	tristate "Promise SATA SX4 support"
 	depends on PCI && EXPERIMENTAL
@@ -161,6 +157,14 @@
 
 	  If unsure, say N.
 
+config SATA_PROMISE
+	tristate "Promise SATA TX2/TX4 support"
+	depends on PCI
+	help
+	  This option enables support for Promise Serial ATA TX2/TX4.
+
+	  If unsure, say N.
+
 config SATA_SIL
 	tristate "Silicon Image SATA support"
 	depends on PCI
@@ -178,6 +182,16 @@
 	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
 	  The PATA support for SiS 180 requires additionally to
 	  enable the PATA_SIS driver in the config.
+
+	  If unsure, say N.
+
+config SATA_SVW
+	tristate "ServerWorks Frodo / Apple K2 SATA support"
+	depends on PCI
+	help
+	  This option enables support for Broadcom/Serverworks/Apple K2
+	  SATA support.
+
 	  If unsure, say N.
 
 config SATA_ULI
@@ -204,11 +218,8 @@
 
 	  If unsure, say N.
 
-config SATA_INIC162X
-	tristate "Initio 162x SATA support"
-	depends on PCI
-	help
-	  This option enables support for Initio 162x Serial ATA.
+comment	"Parallel ATA drivers"
+	depends on ATA_SFF
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
@@ -219,6 +230,15 @@
 	  firmware in the BIOS. This driver can sometimes handle
 	  otherwise unsupported hardware.
 
+config PATA_ICSIDE
+	tristate "Acorn ICS PATA support"
+	depends on ARM && ARCH_ACORN
+	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.
+
+	  If unsure, say N.
+
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
@@ -263,6 +283,15 @@
 
 	  If unsure, say N.
 
+config PATA_BF54X
+	tristate "Blackfin 54x ATAPI support"
+	depends on BF542 || BF548 || BF549
+	help
+	  This option enables support for the built-in ATAPI controller on
+	  Blackfin 54x family chips.
+
+	  If unsure, say N.
+
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
@@ -282,6 +311,23 @@
 
 	  If unsure, say N.
 
+config PATA_SIL680
+	tristate "CMD / Silicon Image 680 PATA support"
+	depends on PCI
+	help
+	  This option enables support for CMD / Silicon Image 680 PATA.
+
+	  If unsure, say N.
+
+config PATA_TRIFLEX
+	tristate "Compaq Triflex PATA support"
+	depends on PCI
+	help
+	  Enable support for the Compaq 'Triflex' IDE controller as found
+	  on many Compaq Pentium-Pro systems, via the new ATA layer.
+
+	  If unsure, say N.
+
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
 	depends on PCI
@@ -336,6 +382,15 @@
 
 	  If unsure, say N.
 
+config PATA_MPC52xx
+	tristate "Freescale MPC52xx SoC internal IDE"
+	depends on PPC_MPC52xx
+	help
+	  This option enables support for integrated IDE controller
+	  of the Freescale MPC52xx SoC.
+
+	  If unsure, say N.
+
 config ATA_GENERIC
 	tristate "Generic ATA support"
 	depends on PCI
@@ -389,6 +444,31 @@
 	  controllers. Enable with care as there are still some
 	  problems with DMA on this chipset.
 
+config PATA_MPIIX
+	tristate "Intel PATA MPIIX support"
+	depends on PCI
+	help
+	  This option enables support for MPIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_OLDPIIX
+	tristate "Intel PATA old PIIX support"
+	depends on PCI
+	help
+	  This option enables support for early PIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_SCH
+	tristate "Intel SCH PATA support"
+	depends on PCI
+	help
+	  This option enables support for Intel SCH PATA on the Intel
+	  SCH (US15W, US15L, UL11L) series host controllers.
+
+	  If unsure, say N.
+
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
 	depends on EXPERIMENTAL && ISAPNP
@@ -417,6 +497,16 @@
 
 	  If unsure, say N.
 
+config PATA_IXP4XX_CF
+	tristate "IXP4XX Compact Flash support"
+	depends on ARCH_IXP4XX
+	help
+	  This option enables support for a Compact Flash connected on
+	  the ixp4xx expansion bus. This driver had been written for
+	  Loft/Avila boards in mind but can work with others.
+
+	  If unsure, say N.
+
 config PATA_JMICRON
 	tristate "JMicron PATA support"
 	depends on PCI
@@ -435,15 +525,6 @@
 
 	  If unsure, say N.
 
-config PATA_TRIFLEX
-	tristate "Compaq Triflex PATA support"
-	depends on PCI
-	help
-	  Enable support for the Compaq 'Triflex' IDE controller as found
-	  on many Compaq Pentium-Pro systems, via the new ATA layer.
-
-	  If unsure, say N.
-
 config PATA_MARVELL
 	tristate "Marvell PATA support via legacy mode"
 	depends on PCI
@@ -453,28 +534,21 @@
 
 	  If unsure, say N.
 
-config PATA_MPC52xx
-	tristate "Freescale MPC52xx SoC internal IDE"
-	depends on PPC_MPC52xx
-	help
-	  This option enables support for integrated IDE controller
-	  of the Freescale MPC52xx SoC.
-
-	  If unsure, say N.
-
-config PATA_MPIIX
-	tristate "Intel PATA MPIIX support"
-	depends on PCI
+config PATA_NS87410
+	tristate "Nat Semi NS87410 PATA support (Experimental)"
+	depends on PCI && EXPERIMENTAL
 	help
-	  This option enables support for MPIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87410 PCI-IDE controller.
 
 	  If unsure, say N.
 
-config PATA_OLDPIIX
-	tristate "Intel PATA old PIIX support"
-	depends on PCI
+config PATA_NS87415
+	tristate "Nat Semi NS87415 PATA support (Experimental)"
+	depends on PCI && EXPERIMENTAL
 	help
-	  This option enables support for early PIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87415 PCI-IDE controller.
 
 	  If unsure, say N.
 
@@ -496,24 +570,6 @@
 
 	  If unsure, say N.
 
-config PATA_NS87410
-	tristate "Nat Semi NS87410 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
-	help
-	  This option enables support for the National Semiconductor
-	  NS87410 PCI-IDE controller.
-
-	  If unsure, say N.
-
-config PATA_NS87415
-	tristate "Nat Semi NS87415 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
-	help
-	  This option enables support for the National Semiconductor
-	  NS87415 PCI-IDE controller.
-
-	  If unsure, say N.
-
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
@@ -542,6 +598,14 @@
 
 	  If unsure, say N.
 
+config PATA_PDC2027X
+	tristate "Promise PATA 2027x support"
+	depends on PCI
+	help
+	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
+
+	  If unsure, say N.
+
 config PATA_PDC_OLD
 	tristate "Older Promise PATA controller support (Experimental)"
 	depends on PCI && EXPERIMENTAL
@@ -602,22 +666,6 @@
 
 	  If unsure, say N.
 
-config PATA_PDC2027X
-	tristate "Promise PATA 2027x support"
-	depends on PCI
-	help
-	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
-
-	  If unsure, say N.
-
-config PATA_SIL680
-	tristate "CMD / Silicon Image 680 PATA support"
-	depends on PCI
-	help
-	  This option enables support for CMD / Silicon Image 680 PATA.
-
-	  If unsure, say N.
-
 config PATA_SIS
 	tristate "SiS PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
@@ -626,6 +674,15 @@
 
 	  If unsure, say N.
 
+config PATA_SCC
+	tristate "Toshiba's Cell Reference Set IDE support"
+	depends on PCI && PPC_CELLEB
+	help
+	  This option enables support for the built-in IDE controller on
+	  Toshiba Cell Reference Board.
+
+	  If unsure, say N.
+
 config PATA_VIA
 	tristate "VIA PATA support"
 	depends on PCI
@@ -651,6 +708,8 @@
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.
 
+	  If unsure, say N.
+
 config HAVE_PATA_PLATFORM
 	bool
 	help
@@ -678,50 +737,5 @@
 
 	  If unsure, say N.
 
-config PATA_ICSIDE
-	tristate "Acorn ICS PATA support"
-	depends on ARM && ARCH_ACORN
-	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.
-	  If you are unsure, say N to this.
-
-config PATA_IXP4XX_CF
-	tristate "IXP4XX Compact Flash support"
-	depends on ARCH_IXP4XX
-	help
-	  This option enables support for a Compact Flash connected on
-	  the ixp4xx expansion bus. This driver had been written for
-	  Loft/Avila boards in mind but can work with others.
-
-	  If unsure, say N.
-
-config PATA_SCC
-	tristate "Toshiba's Cell Reference Set IDE support"
-	depends on PCI && PPC_CELLEB
-	help
-	  This option enables support for the built-in IDE controller on
-	  Toshiba Cell Reference Board.
-
-	  If unsure, say N.
-
-config PATA_SCH
-	tristate "Intel SCH PATA support"
-	depends on PCI
-	help
-	  This option enables support for Intel SCH PATA on the Intel
-	  SCH (US15W, US15L, UL11L) series host controllers.
-
-	  If unsure, say N.
-
-config PATA_BF54X
-	tristate "Blackfin 54x ATAPI support"
-	depends on BF542 || BF548 || BF549
-	help
-	  This option enables support for the built-in ATAPI controller on
-	  Blackfin 54x family chips.
-
-	  If unsure, say N.
-
 endif # ATA_SFF
 endif # ATA

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-08 22:34   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Grant Coady
@ 2008-08-08 22:58     ` Krzysztof Halasa
  2008-08-08 23:13       ` Robert P. J. Day
  0 siblings, 1 reply; 22+ messages in thread
From: Krzysztof Halasa @ 2008-08-08 22:58 UTC (permalink / raw)
  To: Grant Coady; +Cc: Alan Cox, Robert P. J. Day, Linux Kernel Mailing List

Grant Coady <grant_lkml@dodo.com.au> writes:

>   ¦ ¦    --- Serial ATA (SATA) and Parallel ATA (PATA) drivers            ¦ ¦
>   ¦ ¦    <*>   AHCI SATA support                                          ¦ ¦
>   ¦ ¦    [*]   ATA ACPI Support                                           ¦ ¦
>   ¦ ¦    [ ]   SATA Port Multiplier support                               ¦ ¦
>   ¦ ¦    < >   Silicon Image 3124/3132 SATA support                       ¦ ¦
>   ¦ ¦    [*]   ATA SFF support                                            ¦ ¦
>   ¦ ¦            *** Serial ATA drivers ***                               ¦ ¦
>   ¦ ¦    < >     Initio 162x SATA support                                 ¦ ¦
>   ¦ ¦    < >     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support           ¦ ¦

As noted, it's both PATA and SATA. People searching for PATA-only PIIX
support may have trouble locating it under SATA.

Why not remove ATA SFF support visual option (or leave it for optional
off-tree drivers only, if it makes sense) and SELECT it when any
driver using it is selected? I'm not sure that users know they need
SFF, or what's that.

I think I would also ask for PATA and for SATA first:

[*] PATA support
[*] SATA support
... PATA drivers if "PATA support" is selected
... SATA drivers if "SATA support" is selected
... PIIX is PATA and/or SATA support is selected

I guess all PATA and/or SATA drivers in a single sorted list (so PIIX
doesn't break ordering).
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-08 22:58     ` Krzysztof Halasa
@ 2008-08-08 23:13       ` Robert P. J. Day
  2008-08-09  9:33         ` Alan Cox
  0 siblings, 1 reply; 22+ messages in thread
From: Robert P. J. Day @ 2008-08-08 23:13 UTC (permalink / raw)
  To: Krzysztof Halasa; +Cc: Grant Coady, Alan Cox, Linux Kernel Mailing List

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1942 bytes --]

On Sat, 9 Aug 2008, Krzysztof Halasa wrote:

> Grant Coady <grant_lkml@dodo.com.au> writes:
>
> >   ¦ ¦    --- Serial ATA (SATA) and Parallel ATA (PATA) drivers            ¦ ¦
> >   ¦ ¦    <*>   AHCI SATA support                                          ¦ ¦
> >   ¦ ¦    [*]   ATA ACPI Support                                           ¦ ¦
> >   ¦ ¦    [ ]   SATA Port Multiplier support                               ¦ ¦
> >   ¦ ¦    < >   Silicon Image 3124/3132 SATA support                       ¦ ¦
> >   ¦ ¦    [*]   ATA SFF support                                            ¦ ¦
> >   ¦ ¦            *** Serial ATA drivers ***                               ¦ ¦
> >   ¦ ¦    < >     Initio 162x SATA support                                 ¦ ¦
> >   ¦ ¦    < >     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support           ¦ ¦
>
> As noted, it's both PATA and SATA. People searching for PATA-only
> PIIX support may have trouble locating it under SATA.
>
> Why not remove ATA SFF support visual option (or leave it for
> optional off-tree drivers only, if it makes sense) and SELECT it
> when any driver using it is selected? I'm not sure that users know
> they need SFF, or what's that.
>
> I think I would also ask for PATA and for SATA first:
>
> [*] PATA support
> [*] SATA support

  that was sort my original thought, but i don't know enough about ATA
fundamentals to know if it makes sense for these to be independently
selectable.  that's why i nobly bailed and left it for someone else to
do the actual work.  :-)

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-08 23:13       ` Robert P. J. Day
@ 2008-08-09  9:33         ` Alan Cox
  2008-08-09 10:39           ` Robert P. J. Day
  2008-08-09 12:04           ` Krzysztof Halasa
  0 siblings, 2 replies; 22+ messages in thread
From: Alan Cox @ 2008-08-09  9:33 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Krzysztof Halasa, Grant Coady, Linux Kernel Mailing List

> I would also ask for PATA and for SATA first:
> >
> > [*] PATA support
> > [*] SATA support
> 
>   that was sort my original thought, but i don't know enough about ATA
> fundamentals to know if it makes sense for these to be independently
> selectable. 

Alas it does not or we would have done so. A lot of the chips have things
like 'two SATA one PATA' and some of them have SATA and PATA variants of
the same chip. Then we have generic drivers like ata_generic which really
don't care if its SATA or PATA ..

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09  9:33         ` Alan Cox
@ 2008-08-09 10:39           ` Robert P. J. Day
  2008-08-09 12:04           ` Krzysztof Halasa
  1 sibling, 0 replies; 22+ messages in thread
From: Robert P. J. Day @ 2008-08-09 10:39 UTC (permalink / raw)
  To: Alan Cox; +Cc: Krzysztof Halasa, Grant Coady, Linux Kernel Mailing List

On Sat, 9 Aug 2008, Alan Cox wrote:

> > I would also ask for PATA and for SATA first:
> > >
> > > [*] PATA support
> > > [*] SATA support
> >
> >   that was sort my original thought, but i don't know enough about ATA
> > fundamentals to know if it makes sense for these to be independently
> > selectable.
>
> Alas it does not or we would have done so. A lot of the chips have
> things like 'two SATA one PATA' and some of them have SATA and PATA
> variants of the same chip. Then we have generic drivers like
> ata_generic which really don't care if its SATA or PATA ..

at this point, i'll back away slowly and leave it for someone way
smarter than me to decide on.  at the very least, most of those
EXPERIMENTAL tags can be heaved over the side.

rday
--


========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09  9:33         ` Alan Cox
  2008-08-09 10:39           ` Robert P. J. Day
@ 2008-08-09 12:04           ` Krzysztof Halasa
  2008-08-09 12:18             ` Andreas Schwab
                               ` (3 more replies)
  1 sibling, 4 replies; 22+ messages in thread
From: Krzysztof Halasa @ 2008-08-09 12:04 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert P. J. Day, Grant Coady, Linux Kernel Mailing List

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> Alas it does not or we would have done so. A lot of the chips have things
> like 'two SATA one PATA' and some of them have SATA and PATA variants of
> the same chip. Then we have generic drivers like ata_generic which really
> don't care if its SATA or PATA ..

Then I would enable them if SATA _or_ PATA is selected. Something like
the following. Then the driver list (one common list) could be sorted,
ATA_SFF moved to the end etc.

It complicates the Kconfig, I don't know if users' experience is worth
it in the end.

I'm not sure about IXP4XX_CF (compact flash) case, it's essentially
PATA but the physical interface is a bit different and it may be
confusing(?). Also not sure about Pacific Digital ADMA, is it
PATA-only or both?

--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -3,7 +3,7 @@
 #
 
 menuconfig ATA
-	tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
+	tristate "Serial ATA and Parallel ATA drivers"
 	depends on HAS_IOMEM
 	depends on BLOCK
 	depends on !(M32R || M68K) || BROKEN
@@ -23,6 +23,21 @@ menuconfig ATA
 
 if ATA
 
+config ATA_PATA
+	bool "Parallel ATA (PATA) support"
+	depends on ATA
+	help
+	  Say Y here if you want support for Parallel ATA devices, previously
+	  known as IDE. This also includes Compact Flash slots.
+
+config ATA_SATA
+	bool "Serial ATA (SATA) support"
+	depends on ATA
+	help
+	  Say Y here if you want support for Parallel ATA devices.
+
+if ATA_PATA || ATA_SATA
+
 config ATA_NONSTANDARD
        bool
        default n
@@ -44,13 +59,14 @@ config ATA_ACPI
 config SATA_PMP
 	bool "SATA Port Multiplier support"
 	default y
+	depends on ATA_SATA
 	help
 	  This option adds support for SATA Port Multipliers
 	  (the SATA version of an ethernet hub, or SAS expander).
 
 config SATA_AHCI
 	tristate "AHCI SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
 	help
 	  This option enables support for AHCI Serial ATA.
 
@@ -58,7 +74,7 @@ config SATA_AHCI
 
 config SATA_SIL24
 	tristate "Silicon Image 3124/3132 SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
 	help
 	  This option enables support for Silicon Image 3124/3132 Serial ATA.
 
@@ -66,7 +82,7 @@ config SATA_SIL24
 
 config SATA_FSL
 	tristate "Freescale 3.0Gbps SATA support"
-	depends on FSL_SOC
+	depends on FSL_SOC && ATA_SATA
 	help
 	  This option enables support for Freescale 3.0Gbps SATA controller.
 	  It can be found on MPC837x and MPC8315.
@@ -91,11 +107,10 @@ config ATA_SFF
 
 	  If unsure, say Y.
 
-if ATA_SFF
-
 config SATA_SVW
 	tristate "ServerWorks Frodo / Apple K2 SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Broadcom/Serverworks/Apple K2
 	  SATA support.
@@ -105,6 +120,7 @@ config SATA_SVW
 config ATA_PIIX
 	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for ICH5/6/7/8 Serial ATA
 	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
@@ -114,7 +130,8 @@ config ATA_PIIX
 
 config SATA_MV
 	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for the Marvell Serial ATA family.
 	  Currently supports 88SX[56]0[48][01] chips.
@@ -123,7 +140,8 @@ config SATA_MV
 
 config SATA_NV
 	tristate "NVIDIA SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for NVIDIA Serial ATA.
 
@@ -132,6 +150,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
 
@@ -139,7 +158,8 @@ config PDC_ADMA
 
 config SATA_QSTOR
 	tristate "Pacific Digital SATA QStor support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Pacific Digital Serial ATA QStor.
 
@@ -147,7 +167,8 @@ config SATA_QSTOR
 
 config SATA_PROMISE
 	tristate "Promise SATA TX2/TX4 support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Promise Serial ATA TX2/TX4.
 
@@ -155,7 +176,8 @@ config SATA_PROMISE
 
 config SATA_SX4
 	tristate "Promise SATA SX4 support"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Promise Serial ATA SX4.
 
@@ -163,7 +185,8 @@ config SATA_SX4
 
 config SATA_SIL
 	tristate "Silicon Image SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Silicon Image Serial ATA.
 
@@ -171,8 +194,9 @@ config SATA_SIL
 
 config SATA_SIS
 	tristate "SiS 964/965/966/180 SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
 	select PATA_SIS
+	select ATA_SFF
 	help
 	  This option enables support for SiS Serial ATA on
 	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
@@ -182,7 +206,8 @@ config SATA_SIS
 
 config SATA_ULI
 	tristate "ULi Electronics SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for ULi Electronics SATA.
 
@@ -190,7 +215,8 @@ config SATA_ULI
 
 config SATA_VIA
 	tristate "VIA SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for VIA Serial ATA.
 
@@ -198,7 +224,8 @@ config SATA_VIA
 
 config SATA_VITESSE
 	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
 
@@ -206,13 +233,15 @@ config SATA_VITESSE
 
 config SATA_INIC162X
 	tristate "Initio 162x SATA support"
-	depends on PCI
+	depends on PCI && ATA_SATA
+	select ATA_SFF
 	help
 	  This option enables support for Initio 162x Serial ATA.
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
-	depends on ATA_ACPI
+	depends on ATA_ACPI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables an ACPI method driver which drives
 	  motherboard PATA controller interfaces through the ACPI
@@ -221,7 +250,8 @@ config PATA_ACPI
 
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the ALi ATA interfaces
 	  found on the many ALi chipsets.
@@ -230,7 +260,8 @@ config PATA_ALI
 
 config PATA_AMD
 	tristate "AMD/NVidia PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the AMD and NVidia PATA
 	  interfaces found on the chipsets for Athlon/Athlon64.
@@ -239,7 +270,8 @@ config PATA_AMD
 
 config PATA_ARTOP
 	tristate "ARTOP 6210/6260 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for ARTOP PATA controllers.
 
@@ -247,7 +279,8 @@ config PATA_ARTOP
 
 config PATA_AT32
 	tristate "Atmel AVR32 PATA support (Experimental)"
-	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the IDE devices on the
 	  Atmel AT32AP platform.
@@ -256,7 +289,8 @@ config PATA_AT32
 
 config PATA_ATIIXP
 	tristate "ATI PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the ATI ATA interfaces
 	  found on the many ATI chipsets.
@@ -265,7 +299,8 @@ config PATA_ATIIXP
 
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the CMD640 PCI IDE
 	  interface chip. Only the primary channel is currently
@@ -275,7 +310,8 @@ config PATA_CMD640_PCI
 
 config PATA_CMD64X
 	tristate "CMD64x PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the CMD64x series chips
 	  except for the CMD640.
@@ -284,7 +320,8 @@ config PATA_CMD64X
 
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Cyrix 5510/5520
 	  companion chip used with the MediaGX/Geode processor family.
@@ -293,7 +330,8 @@ config PATA_CS5520
 
 config PATA_CS5530
 	tristate "CS5530 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Cyrix/NatSemi/AMD CS5530
 	  companion chip used with the MediaGX/Geode processor family.
@@ -302,7 +340,8 @@ config PATA_CS5530
 
 config PATA_CS5535
 	tristate "CS5535 PATA support (Experimental)"
-	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on PCI && X86 && !X86_64 && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the NatSemi/AMD CS5535
 	  companion chip used with the Geode processor family.
@@ -311,7 +350,8 @@ config PATA_CS5535
 
 config PATA_CS5536
 	tristate "CS5536 PATA support (Experimental)"
-	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on PCI && X86 && !X86_64 && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
@@ -320,7 +360,8 @@ config PATA_CS5536
 
 config PATA_CYPRESS
 	tristate "Cypress CY82C693 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Cypress/Contaq CY82C693
 	  chipset found in some Alpha systems
@@ -329,7 +370,8 @@ config PATA_CYPRESS
 
 config PATA_EFAR
 	tristate "EFAR SLC90E66 support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the EFAR SLC90E66
 	  IDE controller found on some older machines.
@@ -339,6 +381,7 @@ config PATA_EFAR
 config ATA_GENERIC
 	tristate "Generic ATA support"
 	depends on PCI
+	select ATA_SFF
 	help
 	  This option enables support for generic BIOS configured
 	  ATA controllers via the new ATA layer
@@ -347,7 +390,8 @@ config ATA_GENERIC
 
 config PATA_HPT366
 	tristate "HPT 366/368 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the HPT 366 and 368
 	  PATA controllers via the new ATA layer.
@@ -356,7 +400,8 @@ config PATA_HPT366
 
 config PATA_HPT37X
 	tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the majority of the later HPT
 	  PATA controllers via the new ATA layer.
@@ -365,7 +410,8 @@ config PATA_HPT37X
 
 config PATA_HPT3X2N
 	tristate "HPT 372N/302N PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the N variant HPT PATA
 	  controllers via the new ATA layer
@@ -374,7 +420,8 @@ config PATA_HPT3X2N
 
 config PATA_HPT3X3
 	tristate "HPT 343/363 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the HPT 343/363
 	  PATA controllers via the new ATA layer
@@ -383,7 +430,8 @@ config PATA_HPT3X3
 
 config PATA_HPT3X3_DMA
 	bool "HPT 343/363 DMA support (Experimental)"
-	depends on PATA_HPT3X3
+	depends on PATA_HPT3X3 && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables DMA support for the HPT343/363
 	  controllers. Enable with care as there are still some
@@ -391,7 +439,8 @@ config PATA_HPT3X3_DMA
 
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
-	depends on EXPERIMENTAL && ISAPNP
+	depends on EXPERIMENTAL && ISAPNP && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for ISA plug & play ATA
 	  controllers such as those found on old soundcards.
@@ -400,7 +449,8 @@ config PATA_ISAPNP
 
 config PATA_IT821X
 	tristate "IT8211/2 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the ITE 8211 and 8212
 	  PATA controllers via the new ATA layer, including RAID
@@ -410,7 +460,8 @@ config PATA_IT821X
 
 config PATA_IT8213
 	tristate "IT8213 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the ITE 821 PATA
           controllers via the new ATA layer.
@@ -419,7 +470,8 @@ config PATA_IT8213
 
 config PATA_JMICRON
 	tristate "JMicron PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  Enable support for the JMicron IDE controller, via the new
 	  ATA layer.
@@ -428,7 +480,8 @@ config PATA_JMICRON
 
 config PATA_LEGACY
 	tristate "Legacy ISA PATA support (Experimental)"
-	depends on ISA && EXPERIMENTAL
+	depends on ISA && EXPERIMENTAL && ATA_PATA
+	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.
@@ -437,7 +490,8 @@ config PATA_LEGACY
 
 config PATA_TRIFLEX
 	tristate "Compaq Triflex PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  Enable support for the Compaq 'Triflex' IDE controller as found
 	  on many Compaq Pentium-Pro systems, via the new ATA layer.
@@ -446,7 +500,8 @@ config PATA_TRIFLEX
 
 config PATA_MARVELL
 	tristate "Marvell PATA support via legacy mode"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables limited support for the Marvell 88SE6145 ATA
 	  controller.
@@ -455,7 +510,8 @@ config PATA_MARVELL
 
 config PATA_MPC52xx
 	tristate "Freescale MPC52xx SoC internal IDE"
-	depends on PPC_MPC52xx
+	depends on PPC_MPC52xx && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for integrated IDE controller
 	  of the Freescale MPC52xx SoC.
@@ -464,7 +520,8 @@ config PATA_MPC52xx
 
 config PATA_MPIIX
 	tristate "Intel PATA MPIIX support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for MPIIX PATA support.
 
@@ -472,7 +529,8 @@ config PATA_MPIIX
 
 config PATA_OLDPIIX
 	tristate "Intel PATA old PIIX support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for early PIIX PATA support.
 
@@ -480,7 +538,8 @@ config PATA_OLDPIIX
 
 config PATA_NETCELL
 	tristate "NETCELL Revolution RAID support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Netcell Revolution RAID
 	  PATA controller.
@@ -489,7 +548,8 @@ config PATA_NETCELL
 
 config PATA_NINJA32
 	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Ninja32, Delkin and
 	  possibly other brands of Cardbus ATA adapter
@@ -498,7 +558,8 @@ config PATA_NINJA32
 
 config PATA_NS87410
 	tristate "Nat Semi NS87410 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the National Semiconductor
 	  NS87410 PCI-IDE controller.
@@ -507,7 +568,8 @@ config PATA_NS87410
 
 config PATA_NS87415
 	tristate "Nat Semi NS87415 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the National Semiconductor
 	  NS87415 PCI-IDE controller.
@@ -516,7 +578,8 @@ config PATA_NS87415
 
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables full PIO support for the early Opti ATA
 	  controllers found on some old motherboards.
@@ -525,7 +588,8 @@ config PATA_OPTI
 
 config PATA_OPTIDMA
 	tristate "OPTI FireStar PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables DMA/PIO support for the later OPTi
 	  controllers found on some old motherboards and in some
@@ -535,7 +599,8 @@ config PATA_OPTIDMA
 
 config PATA_PCMCIA
 	tristate "PCMCIA PATA support"
-	depends on PCMCIA
+	depends on PCMCIA && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for PCMCIA ATA interfaces, including
 	  compact flash card adapters via the new ATA layer.
@@ -544,7 +609,8 @@ config PATA_PCMCIA
 
 config PATA_PDC_OLD
 	tristate "Older Promise PATA controller support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Promise 20246, 20262, 20263,
 	  20265 and 20267 adapters.
@@ -553,13 +619,15 @@ config PATA_PDC_OLD
 
 config PATA_QDI
 	tristate "QDI VLB PATA support"
-	depends on ISA
+	depends on ISA && ATA_PATA
+	select ATA_SFF
 	help
 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
 config PATA_RADISYS
 	tristate "RADISYS 82600 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the RADISYS 82600
 	  PATA controllers via the new ATA layer
@@ -568,7 +636,8 @@ config PATA_RADISYS
 
 config PATA_RB532
 	tristate "RouterBoard 532 PATA CompactFlash support"
-	depends on MIKROTIK_RB532
+	depends on MIKROTIK_RB532 && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the RouterBoard 532
 	  PATA CompactFlash controller.
@@ -577,7 +646,8 @@ config PATA_RB532
 
 config PATA_RZ1000
 	tristate "PC Tech RZ1000 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables basic support for the PC Tech RZ1000/1
 	  PATA controllers via the new ATA layer
@@ -586,7 +656,8 @@ config PATA_RZ1000
 
 config PATA_SC1200
 	tristate "SC1200 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the NatSemi/AMD SC1200 SoC
 	  companion chip used with the Geode processor family.
@@ -595,7 +666,8 @@ config PATA_SC1200
 
 config PATA_SERVERWORKS
 	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
 	  HT1000 PATA controllers, via the new ATA layer.
@@ -604,7 +676,8 @@ config PATA_SERVERWORKS
 
 config PATA_PDC2027X
 	tristate "Promise PATA 2027x support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
 
@@ -612,7 +685,8 @@ config PATA_PDC2027X
 
 config PATA_SIL680
 	tristate "CMD / Silicon Image 680 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for CMD / Silicon Image 680 PATA.
 
@@ -620,7 +694,8 @@ config PATA_SIL680
 
 config PATA_SIS
 	tristate "SiS PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for SiS PATA controllers
 
@@ -628,7 +703,8 @@ config PATA_SIS
 
 config PATA_VIA
 	tristate "VIA PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the VIA PATA interfaces
 	  found on the many VIA chipsets.
@@ -637,7 +713,8 @@ config PATA_VIA
 
 config PATA_WINBOND
 	tristate "Winbond SL82C105 PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for SL82C105 PATA devices found in the
 	  Netwinder and some other systems
@@ -646,7 +723,8 @@ config PATA_WINBOND
 
 config PATA_WINBOND_VLB
 	tristate "Winbond W83759A VLB PATA support (Experimental)"
-	depends on ISA && EXPERIMENTAL
+	depends on ISA && EXPERIMENTAL && ATA_PATA
+	select ATA_SFF
 	help
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.
@@ -662,6 +740,8 @@ config HAVE_PATA_PLATFORM
 config PATA_PLATFORM
 	tristate "Generic platform device PATA support"
 	depends on EMBEDDED || ARCH_RPC || PPC || HAVE_PATA_PLATFORM
+	depends on ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems.
@@ -670,7 +750,8 @@ config PATA_PLATFORM
 
 config PATA_OF_PLATFORM
 	tristate "OpenFirmware platform device PATA support"
-	depends on PATA_PLATFORM && PPC_OF
+	depends on PATA_PLATFORM && PPC_OF && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems with OpenFirmware
@@ -680,7 +761,8 @@ config PATA_OF_PLATFORM
 
 config PATA_ICSIDE
 	tristate "Acorn ICS PATA support"
-	depends on ARM && ARCH_ACORN
+	depends on ARM && ARCH_ACORN && ATA_PATA
+	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.
@@ -688,7 +770,8 @@ config PATA_ICSIDE
 
 config PATA_IXP4XX_CF
 	tristate "IXP4XX Compact Flash support"
-	depends on ARCH_IXP4XX
+	depends on ARCH_IXP4XX && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for a Compact Flash connected on
 	  the ixp4xx expansion bus. This driver had been written for
@@ -698,7 +781,8 @@ config PATA_IXP4XX_CF
 
 config PATA_SCC
 	tristate "Toshiba's Cell Reference Set IDE support"
-	depends on PCI && PPC_CELLEB
+	depends on PCI && PPC_CELLEB && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the built-in IDE controller on
 	  Toshiba Cell Reference Board.
@@ -707,7 +791,8 @@ config PATA_SCC
 
 config PATA_SCH
 	tristate "Intel SCH PATA support"
-	depends on PCI
+	depends on PCI && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for Intel SCH PATA on the Intel
 	  SCH (US15W, US15L, UL11L) series host controllers.
@@ -716,12 +801,13 @@ config PATA_SCH
 
 config PATA_BF54X
 	tristate "Blackfin 54x ATAPI support"
-	depends on BF542 || BF548 || BF549
+	depends on (BF542 || BF548 || BF549) && ATA_PATA
+	select ATA_SFF
 	help
 	  This option enables support for the built-in ATAPI controller on
 	  Blackfin 54x family chips.
 
 	  If unsure, say N.
 
-endif # ATA_SFF
+endif # ATA_PATA || ATA_SATA
 endif # ATA

-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 12:04           ` Krzysztof Halasa
@ 2008-08-09 12:18             ` Andreas Schwab
  2008-08-09 12:36             ` Mikael Pettersson
                               ` (2 subsequent siblings)
  3 siblings, 0 replies; 22+ messages in thread
From: Andreas Schwab @ 2008-08-09 12:18 UTC (permalink / raw)
  To: Krzysztof Halasa
  Cc: Alan Cox, Robert P. J. Day, Grant Coady,
	Linux Kernel Mailing List

Krzysztof Halasa <khc@pm.waw.pl> writes:

> +config ATA_SATA
> +	bool "Serial ATA (SATA) support"
> +	depends on ATA
> +	help
> +	  Say Y here if you want support for Parallel ATA devices.

s/Parallel/Serial/

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 12:04           ` Krzysztof Halasa
  2008-08-09 12:18             ` Andreas Schwab
@ 2008-08-09 12:36             ` Mikael Pettersson
  2008-08-09 13:10             ` Alan Cox
  2008-08-09 22:40             ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Oliver Pinter
  3 siblings, 0 replies; 22+ messages in thread
From: Mikael Pettersson @ 2008-08-09 12:36 UTC (permalink / raw)
  To: Krzysztof Halasa
  Cc: Alan Cox, Robert P. J. Day, Grant Coady,
	Linux Kernel Mailing List

Krzysztof Halasa writes:
 > @@ -147,7 +167,8 @@ config SATA_QSTOR
 >  
 >  config SATA_PROMISE
 >  	tristate "Promise SATA TX2/TX4 support"
 > -	depends on PCI
 > +	depends on PCI && ATA_SATA
 > +	select ATA_SFF
 >  	help
 >  	  This option enables support for Promise Serial ATA TX2/TX4.
 >  

NAK, sata_promise drives both sata and pata ports.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 12:04           ` Krzysztof Halasa
  2008-08-09 12:18             ` Andreas Schwab
  2008-08-09 12:36             ` Mikael Pettersson
@ 2008-08-09 13:10             ` Alan Cox
  2008-08-09 19:12               ` Krzysztof Halasa
  2008-08-09 22:40             ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Oliver Pinter
  3 siblings, 1 reply; 22+ messages in thread
From: Alan Cox @ 2008-08-09 13:10 UTC (permalink / raw)
  To: Krzysztof Halasa; +Cc: Robert P. J. Day, Grant Coady, Linux Kernel Mailing List

> I'm not sure about IXP4XX_CF (compact flash) case, it's essentially
> PATA but the physical interface is a bit different and it may be
> confusing(?). Also not sure about Pacific Digital ADMA, is it
> PATA-only or both?

CF can hang off any interface. Also in theory any PATA interface is also
SATA as it may be combined with a bridge chip

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 13:10             ` Alan Cox
@ 2008-08-09 19:12               ` Krzysztof Halasa
  2008-08-09 20:59                 ` Alan Cox
  0 siblings, 1 reply; 22+ messages in thread
From: Krzysztof Halasa @ 2008-08-09 19:12 UTC (permalink / raw)
  To: Alan Cox; +Cc: Robert P. J. Day, Grant Coady, Linux Kernel Mailing List

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> CF can hang off any interface. Also in theory any PATA interface is also
> SATA as it may be combined with a bridge chip

But we don't drop PATA/SATA from the names and help texts, do we? :-)

Even if we do, we can still sort the single driver list
alphabetically, and we can still "select ATA_SFF" instead of the other
way around.
-- 
Krzysztof Halasa

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 19:12               ` Krzysztof Halasa
@ 2008-08-09 20:59                 ` Alan Cox
  2008-08-10  1:07                   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try2 Grant Coady
  0 siblings, 1 reply; 22+ messages in thread
From: Alan Cox @ 2008-08-09 20:59 UTC (permalink / raw)
  To: Krzysztof Halasa; +Cc: Robert P. J. Day, Grant Coady, Linux Kernel Mailing List

> Even if we do, we can still sort the single driver list
> alphabetically, and we can still "select ATA_SFF" instead of the other
> way around.

That I agree with entirely.

Alan

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig
  2008-08-09 12:04           ` Krzysztof Halasa
                               ` (2 preceding siblings ...)
  2008-08-09 13:10             ` Alan Cox
@ 2008-08-09 22:40             ` Oliver Pinter
  3 siblings, 0 replies; 22+ messages in thread
From: Oliver Pinter @ 2008-08-09 22:40 UTC (permalink / raw)
  To: Krzysztof Halasa
  Cc: Alan Cox, Robert P. J. Day, Grant Coady,
	Linux Kernel Mailing List

On 8/9/08, Krzysztof Halasa <khc@pm.waw.pl> wrote:
> Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
>
>> Alas it does not or we would have done so. A lot of the chips have things
>> like 'two SATA one PATA' and some of them have SATA and PATA variants of
>> the same chip. Then we have generic drivers like ata_generic which really
>> don't care if its SATA or PATA ..
>
> Then I would enable them if SATA _or_ PATA is selected. Something like
> the following. Then the driver list (one common list) could be sorted,
> ATA_SFF moved to the end etc.
>
> It complicates the Kconfig, I don't know if users' experience is worth
> it in the end.
>
> I'm not sure about IXP4XX_CF (compact flash) case, it's essentially
> PATA but the physical interface is a bit different and it may be
> confusing(?). Also not sure about Pacific Digital ADMA, is it
> PATA-only or both?
>
> --- a/drivers/ata/Kconfig
> +++ b/drivers/ata/Kconfig
> @@ -3,7 +3,7 @@
>  #
>
>  menuconfig ATA
> -	tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
> +	tristate "Serial ATA and Parallel ATA drivers"
>  	depends on HAS_IOMEM
>  	depends on BLOCK
>  	depends on !(M32R || M68K) || BROKEN
> @@ -23,6 +23,21 @@ menuconfig ATA
>
>  if ATA
>
> +config ATA_PATA
> +	bool "Parallel ATA (PATA) support"
> +	depends on ATA
> +	help
> +	  Say Y here if you want support for Parallel ATA devices, previously
> +	  known as IDE. This also includes Compact Flash slots.
> +
> +config ATA_SATA
> +	bool "Serial ATA (SATA) support"
> +	depends on ATA
> +	help
> +	  Say Y here if you want support for Parallel ATA devices.

s/Parallel/Serial/

[...]

-- 
Thanks,
Oliver

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try2
  2008-08-09 20:59                 ` Alan Cox
@ 2008-08-10  1:07                   ` Grant Coady
  2008-08-10  7:10                     ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3 Grant Coady
  0 siblings, 1 reply; 22+ messages in thread
From: Grant Coady @ 2008-08-10  1:07 UTC (permalink / raw)
  To: Alan Cox
  Cc: Krzysztof Halasa, Robert P. J. Day, Grant Coady,
	Linux Kernel Mailing List

On Sat, 9 Aug 2008 21:59:18 +0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

>> Even if we do, we can still sort the single driver list
>> alphabetically, and we can still "select ATA_SFF" instead of the other
>> way around.
>
>That I agree with entirely.
>
>Alan

Okay, here's another try:

  ¦ ¦    --- Serial ATA (SATA) and Parallel ATA (PATA) drivers            ¦ ¦
  ¦ ¦    <*>   AHCI SATA support                                          ¦ ¦
  ¦ ¦    [*]   ATA ACPI Support                                           ¦ ¦
  ¦ ¦    [ ]   SATA Port Multiplier support                               ¦ ¦
  ¦ ¦    < >   Silicon Image 3124/3132 SATA support                       ¦ ¦
  ¦ ¦    [*]   Parallel ATA (PATA) support                                ¦ ¦
  ¦ ¦    [*]   Serial ATA (SATA) support                                  ¦ ¦
  ¦ ¦    < >   ACPI firmware driver for PATA                              ¦ ¦
  ¦ ¦    < >   ALi PATA support (Experimental)                            ¦ ¦
  ¦ ¦    < >   AMD/NVidia PATA support                                    ¦ ¦
  ¦ ¦    < >   ARTOP 6210/6260 PATA support                               ¦ ¦
  ¦ ¦    < >   ATI PATA support                                           ¦ ¦
  ¦ ¦    < >   CMD640 PCI PATA support (Very Experimental)                ¦ ¦
  ¦ ¦    < >   CMD64x PATA support                                        ¦ ¦
  ¦ ¦    < >   CMD / Silicon Image 680 PATA support                       ¦ ¦
  ¦ ¦    < >   Compaq Triflex PATA support                                ¦ ¦
  ¦ ¦    < >   CS5510/5520 PATA support                                   ¦ ¦
  ¦ ¦    < >   CS5530 PATA support (Experimental)                         ¦ ¦
  ¦ ¦    < >   Cypress CY82C693 PATA support (Very Experimental)          ¦ ¦
  ¦ ¦    < >   EFAR SLC90E66 support                                      ¦ ¦
  ¦ ¦    < >   Generic ATA support                                        ¦ ¦
  ¦ ¦    < >   HPT 366/368 PATA support                                   ¦ ¦
  ¦ ¦    < >   HPT 370/370A/371/372/374/302 PATA support (Experimental)   ¦ ¦
  ¦ ¦    < >   HPT 372N/302N PATA support (Very Experimental)             ¦ ¦
  ¦ ¦    < >   HPT 343/363 PATA support                                   ¦ ¦
  ¦ ¦    < >   Initio 162x SATA support (NEW)                             ¦ ¦
  ¦ ¦    < >   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (NEW)       ¦ ¦
  ¦ ¦    < >   Intel PATA MPIIX support                                   ¦ ¦
  ¦ ¦    < >   Intel PATA old PIIX support                                ¦ ¦
  ¦ ¦    < >   Intel SCH PATA support                                     ¦ ¦
  ¦ ¦    < >   IT8211/2 PATA support                                      ¦ ¦
  ¦ ¦    < >   IT8213 PATA support (Experimental)                         ¦ ¦
  ¦ ¦    <*>   JMicron PATA support                                       ¦ ¦
  ¦ ¦    < >   Marvell PATA support via legacy mode                       ¦ ¦
  ¦ ¦    < >   Marvell SATA support (HIGHLY EXPERIMENTAL) (NEW)           ¦ ¦
  ¦ ¦    < >   Nat Semi NS87410 PATA support (Experimental)               ¦ ¦
  ¦ ¦    < >   Nat Semi NS87415 PATA support (Experimental)               ¦ ¦
  ¦ ¦    < >   NETCELL Revolution RAID support                            ¦ ¦
  ¦ ¦    < >   Ninja32/Delkin Cardbus ATA support (Experimental)          ¦ ¦
  ¦ ¦    < >   NVIDIA SATA support (NEW)                                  ¦ ¦
  ¦ ¦    < >   OPTI621/6215 PATA support (Very Experimental)              ¦ ¦
  ¦ ¦    < >   OPTI FireStar PATA support (Very Experimental)             ¦ ¦
  ¦ ¦    < >   Pacific Digital ADMA support (NEW)                         ¦ ¦
  ¦ ¦    < >   Pacific Digital SATA QStor support (NEW)                   ¦ ¦
  ¦ ¦    < >   Promise PATA 2027x support                                 ¦ ¦
  ¦ ¦    < >   Promise old PATA controller support (Experimental)         ¦ ¦
  ¦ ¦    < >   Promise SATA SX4 support (NEW)                             ¦ ¦
  ¦ ¦    < >   Promise SATA TX2/TX4 support (NEW)                         ¦ ¦
  ¦ ¦    < >   RADISYS 82600 PATA support (Very Experimental)             ¦ ¦
  ¦ ¦    < >   PC Tech RZ1000 PATA support                                ¦ ¦
  ¦ ¦    < >   SC1200 PATA support (Very Experimental)                    ¦ ¦
  ¦ ¦    < >   ServerWorks Frodo / Apple K2 SATA support (NEW)            ¦ ¦
  ¦ ¦    < >   ServerWorks OSB4/CSB5/CSB6/HT1000 PATA support             ¦ ¦
  ¦ ¦    < >   Silicon Image SATA support (NEW)                           ¦ ¦
  ¦ ¦    < >   SiS 964/965/966/180 SATA support (NEW)                     ¦ ¦
  ¦ ¦    < >   SiS PATA support (Experimental)                            ¦ ¦
  ¦ ¦    < >   ULi Electronics SATA support (NEW)                         ¦ ¦
  ¦ ¦    < >   VIA PATA support                                           ¦ ¦
  ¦ ¦    < >   VIA SATA support (NEW)                                     ¦ ¦
  ¦ ¦    < >   VITESSE VSC-7174 / INTEL 31244 SATA support (NEW)          ¦ ¦
  ¦ ¦    < >   Winbond SL82C105 PATA support                              ¦ ¦


From: Grant Coady <gcoady.lk@gmail.com>

Cleanup ATA Kconfig

Cleanup ATA Kconfig, hide the SFF option behind new PATA and SATA menu 
items, sort drivers into a single list, add missing "if unsure, say..."
help text.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>

---
 Kconfig |  555 +++++++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 328 insertions(+), 227 deletions(-)

--- linux-2.6.27-rc2/drivers/ata/Kconfig	2008-07-14 07:51:29.000000000 +1000
+++ linux-2.6.27-rc2d/drivers/ata/Kconfig	2008-08-10 10:57:33.642213799 +1000
@@ -3,7 +3,7 @@
 #
 
 menuconfig ATA
-	tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
+	tristate "Serial ATA (SATA) and Parallel ATA (PATA) drivers"
 	depends on HAS_IOMEM
 	depends on BLOCK
 	depends on !(M32R || M68K) || BROKEN
@@ -27,6 +27,14 @@
        bool
        default n
 
+config SATA_AHCI
+	tristate "AHCI SATA support"
+	depends on PCI
+	help
+	  This option enables support for AHCI Serial ATA.
+
+	  If unsure, say N.
+
 config ATA_ACPI
 	bool "ATA ACPI Support"
 	depends on ACPI && PCI
@@ -41,28 +49,7 @@
 	  You can disable this at kernel boot time by using the
 	  option libata.noacpi=1
 
-config SATA_PMP
-	bool "SATA Port Multiplier support"
-	default y
-	help
-	  This option adds support for SATA Port Multipliers
-	  (the SATA version of an ethernet hub, or SAS expander).
-
-config SATA_AHCI
-	tristate "AHCI SATA support"
-	depends on PCI
-	help
-	  This option enables support for AHCI Serial ATA.
-
-	  If unsure, say N.
-
-config SATA_SIL24
-	tristate "Silicon Image 3124/3132 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Silicon Image 3124/3132 Serial ATA.
-
-	  If unsure, say N.
+	  If unsure, say Y.
 
 config SATA_FSL
 	tristate "Freescale 3.0Gbps SATA support"
@@ -73,155 +60,82 @@
 
 	  If unsure, say N.
 
-config ATA_SFF
-	bool "ATA SFF support"
+config SATA_PMP
+	bool "SATA Port Multiplier support"
 	default y
 	help
-	  This option adds support for ATA controllers with SFF
-	  compliant or similar programming interface.
-
-	  SFF is the legacy IDE interface that has been around since
-	  the dawn of time.  Almost all PATA controllers have an
-	  SFF interface.  Many SATA controllers have an SFF interface
-	  when configured into a legacy compatibility mode.
-
-	  For users with exclusively modern controllers like AHCI,
-	  Silicon Image 3124, or Marvell 6440, you may choose to
-	  disable this uneeded SFF support.
+	  This option adds support for SATA Port Multipliers
+	  (the SATA version of an ethernet hub, or SAS expander).
 
 	  If unsure, say Y.
 
-if ATA_SFF
-
-config SATA_SVW
-	tristate "ServerWorks Frodo / Apple K2 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Broadcom/Serverworks/Apple K2
-	  SATA support.
-
-	  If unsure, say N.
-
-config ATA_PIIX
-	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
-	depends on PCI
-	help
-	  This option enables support for ICH5/6/7/8 Serial ATA
-	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
-	  host controllers.
-
-	  If unsure, say N.
-
-config SATA_MV
-	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	help
-	  This option enables support for the Marvell Serial ATA family.
-	  Currently supports 88SX[56]0[48][01] chips.
-
-	  If unsure, say N.
-
-config SATA_NV
-	tristate "NVIDIA SATA support"
-	depends on PCI
-	help
-	  This option enables support for NVIDIA Serial ATA.
-
-	  If unsure, say N.
-
-config PDC_ADMA
-	tristate "Pacific Digital ADMA support"
-	depends on PCI
-	help
-	  This option enables support for Pacific Digital ADMA controllers
-
-	  If unsure, say N.
-
-config SATA_QSTOR
-	tristate "Pacific Digital SATA QStor support"
+config SATA_SIL24
+	tristate "Silicon Image 3124/3132 SATA support"
 	depends on PCI
 	help
-	  This option enables support for Pacific Digital Serial ATA QStor.
+	  This option enables support for Silicon Image 3124/3132 Serial ATA.
 
 	  If unsure, say N.
 
-config SATA_PROMISE
-	tristate "Promise SATA TX2/TX4 support"
-	depends on PCI
-	help
-	  This option enables support for Promise Serial ATA TX2/TX4.
-
-	  If unsure, say N.
+config ATA_SFF
+	bool
+	default n
 
-config SATA_SX4
-	tristate "Promise SATA SX4 support"
-	depends on PCI && EXPERIMENTAL
+config ATA_SFF_PATA
+	bool "Parallel ATA (PATA) support"
+	default y
+	select ATA_SFF
 	help
-	  This option enables support for Promise Serial ATA SX4.
-
-	  If unsure, say N.
+	  Say Y here if you want support for Parallel ATA (PATA) devices, 
+	  also known as IDE devices.
 
-config SATA_SIL
-	tristate "Silicon Image SATA support"
-	depends on PCI
-	help
-	  This option enables support for Silicon Image Serial ATA.
+	  This option enables a list of available PATA drivers.
 
-	  If unsure, say N.
+	  You may turn this option off if running AHCI or similar devices.
 
-config SATA_SIS
-	tristate "SiS 964/965/966/180 SATA support"
-	depends on PCI
-	select PATA_SIS
-	help
-	  This option enables support for SiS Serial ATA on
-	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
-	  The PATA support for SiS 180 requires additionally to
-	  enable the PATA_SIS driver in the config.
-	  If unsure, say N.
-
-config SATA_ULI
-	tristate "ULi Electronics SATA support"
-	depends on PCI
-	help
-	  This option enables support for ULi Electronics SATA.
-
-	  If unsure, say N.
+	  If unsure, say Y.
 
-config SATA_VIA
-	tristate "VIA SATA support"
-	depends on PCI
+config ATA_SFF_SATA
+	bool "Serial ATA (SATA) support"
+	default y
+	select ATA_SFF
 	help
-	  This option enables support for VIA Serial ATA.
+	  Say Y here if you want support for Serial ATA (SATA) devices.
 
-	  If unsure, say N.
+	  This option enables a list of available SATA drivers.
 
-config SATA_VITESSE
-	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
+	  You may turn this option off if running AHCI or similar devices. 
 
-	  If unsure, say N.
+	  If unsure, say Y.
 
-config SATA_INIC162X
-	tristate "Initio 162x SATA support"
-	depends on PCI
-	help
-	  This option enables support for Initio 162x Serial ATA.
+if ATA_SFF
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
 	depends on ATA_ACPI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables an ACPI method driver which drives
 	  motherboard PATA controller interfaces through the ACPI
 	  firmware in the BIOS. This driver can sometimes handle
 	  otherwise unsupported hardware.
 
+	  If unsure, say Y.
+
+config PATA_ICSIDE
+	tristate "Acorn ICS PATA support"
+	depends on ARM && ARCH_ACORN
+	depends on ATA_SFF_PATA
+	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.
+
+	  If unsure, say N.
+
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the ALi ATA interfaces
 	  found on the many ALi chipsets.
@@ -231,6 +145,7 @@
 config PATA_AMD
 	tristate "AMD/NVidia PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the AMD and NVidia PATA
 	  interfaces found on the chipsets for Athlon/Athlon64.
@@ -240,6 +155,7 @@
 config PATA_ARTOP
 	tristate "ARTOP 6210/6260 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for ARTOP PATA controllers.
 
@@ -248,6 +164,7 @@
 config PATA_AT32
 	tristate "Atmel AVR32 PATA support (Experimental)"
 	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the IDE devices on the
 	  Atmel AT32AP platform.
@@ -257,15 +174,27 @@
 config PATA_ATIIXP
 	tristate "ATI PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the ATI ATA interfaces
 	  found on the many ATI chipsets.
 
 	  If unsure, say N.
 
+config PATA_BF54X
+	tristate "Blackfin 54x ATAPI support"
+	depends on BF542 || BF548 || BF549
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for the built-in ATAPI controller on
+	  Blackfin 54x family chips.
+
+	  If unsure, say N.
+
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the CMD640 PCI IDE
 	  interface chip. Only the primary channel is currently
@@ -276,15 +205,36 @@
 config PATA_CMD64X
 	tristate "CMD64x PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the CMD64x series chips
 	  except for the CMD640.
 
 	  If unsure, say N.
 
+config PATA_SIL680
+	tristate "CMD / Silicon Image 680 PATA support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for CMD / Silicon Image 680 PATA.
+
+	  If unsure, say N.
+
+config PATA_TRIFLEX
+	tristate "Compaq Triflex PATA support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  Enable support for the Compaq 'Triflex' IDE controller as found
+	  on many Compaq Pentium-Pro systems, via the new ATA layer.
+
+	  If unsure, say N.
+
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Cyrix 5510/5520
 	  companion chip used with the MediaGX/Geode processor family.
@@ -294,6 +244,7 @@
 config PATA_CS5530
 	tristate "CS5530 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Cyrix/NatSemi/AMD CS5530
 	  companion chip used with the MediaGX/Geode processor family.
@@ -303,6 +254,7 @@
 config PATA_CS5535
 	tristate "CS5535 PATA support (Experimental)"
 	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the NatSemi/AMD CS5535
 	  companion chip used with the Geode processor family.
@@ -312,6 +264,7 @@
 config PATA_CS5536
 	tristate "CS5536 PATA support (Experimental)"
 	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
@@ -321,6 +274,7 @@
 config PATA_CYPRESS
 	tristate "Cypress CY82C693 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Cypress/Contaq CY82C693
 	  chipset found in some Alpha systems
@@ -330,15 +284,27 @@
 config PATA_EFAR
 	tristate "EFAR SLC90E66 support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the EFAR SLC90E66
 	  IDE controller found on some older machines.
 
 	  If unsure, say N.
 
+config PATA_MPC52xx
+	tristate "Freescale MPC52xx SoC internal IDE"
+	depends on PPC_MPC52xx
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for integrated IDE controller
+	  of the Freescale MPC52xx SoC.
+
+	  If unsure, say N.
+
 config ATA_GENERIC
 	tristate "Generic ATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for generic BIOS configured
 	  ATA controllers via the new ATA layer
@@ -348,6 +314,7 @@
 config PATA_HPT366
 	tristate "HPT 366/368 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the HPT 366 and 368
 	  PATA controllers via the new ATA layer.
@@ -357,6 +324,7 @@
 config PATA_HPT37X
 	tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the majority of the later HPT
 	  PATA controllers via the new ATA layer.
@@ -366,6 +334,7 @@
 config PATA_HPT3X2N
 	tristate "HPT 372N/302N PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the N variant HPT PATA
 	  controllers via the new ATA layer
@@ -375,6 +344,7 @@
 config PATA_HPT3X3
 	tristate "HPT 343/363 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the HPT 343/363
 	  PATA controllers via the new ATA layer
@@ -384,14 +354,64 @@
 config PATA_HPT3X3_DMA
 	bool "HPT 343/363 DMA support (Experimental)"
 	depends on PATA_HPT3X3
+	depends on ATA_SFF_PATA
 	help
 	  This option enables DMA support for the HPT343/363
 	  controllers. Enable with care as there are still some
 	  problems with DMA on this chipset.
 
+config SATA_INIC162X
+	tristate "Initio 162x SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Initio 162x Serial ATA.
+
+	  If unsure, say N.
+
+config ATA_PIIX
+	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
+	depends on PCI
+	depends on ATA_SFF_PATA_SUPPORT || ATA_SFF_SATA
+	help
+	  This option enables support for ICH5/6/7/8 Serial ATA
+	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
+	  host controllers.
+
+	  If unsure, say N.
+
+config PATA_MPIIX
+	tristate "Intel PATA MPIIX support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for MPIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_OLDPIIX
+	tristate "Intel PATA old PIIX support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for early PIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_SCH
+	tristate "Intel SCH PATA support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for Intel SCH PATA on the Intel
+	  SCH (US15W, US15L, UL11L) series host controllers.
+
+	  If unsure, say N.
+
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
 	depends on EXPERIMENTAL && ISAPNP
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for ISA plug & play ATA
 	  controllers such as those found on old soundcards.
@@ -401,6 +421,7 @@
 config PATA_IT821X
 	tristate "IT8211/2 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the ITE 8211 and 8212
 	  PATA controllers via the new ATA layer, including RAID
@@ -411,15 +432,28 @@
 config PATA_IT8213
 	tristate "IT8213 PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the ITE 821 PATA
           controllers via the new ATA layer.
 
 	  If unsure, say N.
 
+config PATA_IXP4XX_CF
+	tristate "IXP4XX Compact Flash support"
+	depends on ARCH_IXP4XX
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for a Compact Flash connected on
+	  the ixp4xx expansion bus. This driver had been written for
+	  Loft/Avila boards in mind but can work with others.
+
+	  If unsure, say N.
+
 config PATA_JMICRON
 	tristate "JMicron PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  Enable support for the JMicron IDE controller, via the new
 	  ATA layer.
@@ -429,58 +463,57 @@
 config PATA_LEGACY
 	tristate "Legacy ISA PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for ISA/VLB bus legacy PATA
 	  ports and allows them to be accessed via the new ATA layer.
 
 	  If unsure, say N.
 
-config PATA_TRIFLEX
-	tristate "Compaq Triflex PATA support"
-	depends on PCI
-	help
-	  Enable support for the Compaq 'Triflex' IDE controller as found
-	  on many Compaq Pentium-Pro systems, via the new ATA layer.
-
-	  If unsure, say N.
-
 config PATA_MARVELL
 	tristate "Marvell PATA support via legacy mode"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables limited support for the Marvell 88SE6145 ATA
 	  controller.
 
 	  If unsure, say N.
 
-config PATA_MPC52xx
-	tristate "Freescale MPC52xx SoC internal IDE"
-	depends on PPC_MPC52xx
+config SATA_MV
+	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	depends on ATA_SFF_SATA
 	help
-	  This option enables support for integrated IDE controller
-	  of the Freescale MPC52xx SoC.
+	  This option enables support for the Marvell Serial ATA family.
+	  Currently supports 88SX[56]0[48][01] chips.
 
 	  If unsure, say N.
 
-config PATA_MPIIX
-	tristate "Intel PATA MPIIX support"
-	depends on PCI
+config PATA_NS87410
+	tristate "Nat Semi NS87410 PATA support (Experimental)"
+	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
-	  This option enables support for MPIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87410 PCI-IDE controller.
 
 	  If unsure, say N.
 
-config PATA_OLDPIIX
-	tristate "Intel PATA old PIIX support"
-	depends on PCI
+config PATA_NS87415
+	tristate "Nat Semi NS87415 PATA support (Experimental)"
+	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
-	  This option enables support for early PIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87415 PCI-IDE controller.
 
 	  If unsure, say N.
 
 config PATA_NETCELL
 	tristate "NETCELL Revolution RAID support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Netcell Revolution RAID
 	  PATA controller.
@@ -490,33 +523,26 @@
 config PATA_NINJA32
 	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Ninja32, Delkin and
 	  possibly other brands of Cardbus ATA adapter
 
 	  If unsure, say N.
 
-config PATA_NS87410
-	tristate "Nat Semi NS87410 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
-	help
-	  This option enables support for the National Semiconductor
-	  NS87410 PCI-IDE controller.
-
-	  If unsure, say N.
-
-config PATA_NS87415
-	tristate "Nat Semi NS87415 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+config SATA_NV
+	tristate "NVIDIA SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
 	help
-	  This option enables support for the National Semiconductor
-	  NS87415 PCI-IDE controller.
+	  This option enables support for NVIDIA Serial ATA.
 
 	  If unsure, say N.
 
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables full PIO support for the early Opti ATA
 	  controllers found on some old motherboards.
@@ -526,6 +552,7 @@
 config PATA_OPTIDMA
 	tristate "OPTI FireStar PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables DMA/PIO support for the later OPTi
 	  controllers found on some old motherboards and in some
@@ -533,33 +560,85 @@
 
 	  If unsure, say N.
 
+config PDC_ADMA
+	tristate "Pacific Digital ADMA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Pacific Digital ADMA controllers
+
+	  If unsure, say N.
+
+config SATA_QSTOR
+	tristate "Pacific Digital SATA QStor support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Pacific Digital Serial ATA QStor.
+
+	  If unsure, say N.
+
 config PATA_PCMCIA
 	tristate "PCMCIA PATA support"
 	depends on PCMCIA
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for PCMCIA ATA interfaces, including
 	  compact flash card adapters via the new ATA layer.
 
 	  If unsure, say N.
 
+config PATA_PDC2027X
+	tristate "Promise PATA 2027x support"
+	depends on PCI
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for Promise PATA pdc20268
+	  to pdc20277 host adapters.
+
+	  If unsure, say N.
+
 config PATA_PDC_OLD
-	tristate "Older Promise PATA controller support (Experimental)"
+	tristate "Promise old PATA controller support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Promise 20246, 20262, 20263,
 	  20265 and 20267 adapters.
 
 	  If unsure, say N.
 
+config SATA_SX4
+	tristate "Promise SATA SX4 support"
+	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Promise Serial ATA SX4.
+
+	  If unsure, say N.
+
+config SATA_PROMISE
+	tristate "Promise SATA TX2/TX4 support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Promise Serial ATA TX2/TX4.
+
+	  If unsure, say N.
+
 config PATA_QDI
 	tristate "QDI VLB PATA support"
 	depends on ISA
+	depends on ATA_SFF_PATA
 	help
 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
+	  If unsure, say N.
+
 config PATA_RADISYS
 	tristate "RADISYS 82600 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the RADISYS 82600
 	  PATA controllers via the new ATA layer
@@ -569,6 +648,7 @@
 config PATA_RB532
 	tristate "RouterBoard 532 PATA CompactFlash support"
 	depends on MIKROTIK_RB532
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the RouterBoard 532
 	  PATA CompactFlash controller.
@@ -578,6 +658,7 @@
 config PATA_RZ1000
 	tristate "PC Tech RZ1000 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables basic support for the PC Tech RZ1000/1
 	  PATA controllers via the new ATA layer
@@ -587,57 +668,116 @@
 config PATA_SC1200
 	tristate "SC1200 PATA support (Very Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the NatSemi/AMD SC1200 SoC
 	  companion chip used with the Geode processor family.
 
 	  If unsure, say N.
 
+config SATA_SVW
+	tristate "ServerWorks Frodo / Apple K2 SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Broadcom/Serverworks/Apple K2
+	  SATA support.
+
+	  If unsure, say N.
+
 config PATA_SERVERWORKS
-	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
+	tristate "ServerWorks OSB4/CSB5/CSB6/HT1000 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
 	  HT1000 PATA controllers, via the new ATA layer.
 
 	  If unsure, say N.
 
-config PATA_PDC2027X
-	tristate "Promise PATA 2027x support"
+config SATA_SIL
+	tristate "Silicon Image SATA support"
 	depends on PCI
+	depends on ATA_SFF_SATA
 	help
-	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
+	  This option enables support for Silicon Image Serial ATA.
 
 	  If unsure, say N.
 
-config PATA_SIL680
-	tristate "CMD / Silicon Image 680 PATA support"
+config SATA_SIS
+	tristate "SiS 964/965/966/180 SATA support"
 	depends on PCI
+	depends on ATA_SFF_SATA
+	select PATA_SIS
 	help
-	  This option enables support for CMD / Silicon Image 680 PATA.
+	  This option enables support for SiS Serial ATA on
+	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
+	  The PATA support for SiS 180 requires additionally to
+	  enable the PATA_SIS driver in the config.
 
 	  If unsure, say N.
 
 config PATA_SIS
 	tristate "SiS PATA support (Experimental)"
 	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for SiS PATA controllers
 
 	  If unsure, say N.
 
+config PATA_SCC
+	tristate "Toshiba's Cell Reference Set IDE support"
+	depends on PCI && PPC_CELLEB
+	depends on ATA_SFF_PATA
+	help
+	  This option enables support for the built-in IDE controller on
+	  Toshiba Cell Reference Board.
+
+	  If unsure, say N.
+
+config SATA_ULI
+	tristate "ULi Electronics SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for ULi Electronics SATA.
+
+	  If unsure, say N.
+
 config PATA_VIA
 	tristate "VIA PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for the VIA PATA interfaces
 	  found on the many VIA chipsets.
 
 	  If unsure, say N.
 
+config SATA_VIA
+	tristate "VIA SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for VIA Serial ATA.
+
+	  If unsure, say N.
+
+config SATA_VITESSE
+	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
+	depends on PCI
+	depends on ATA_SFF_SATA
+	help
+	  This option enables support for Vitesse VSC7174 and
+	  Intel 31244 Serial ATA.
+
+	  If unsure, say N.
+
 config PATA_WINBOND
 	tristate "Winbond SL82C105 PATA support"
 	depends on PCI
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for SL82C105 PATA devices found in the
 	  Netwinder and some other systems
@@ -647,12 +787,16 @@
 config PATA_WINBOND_VLB
 	tristate "Winbond W83759A VLB PATA support (Experimental)"
 	depends on ISA && EXPERIMENTAL
+	depends on ATA_SFF_PATA
 	help
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.
 
+	  If unsure, say N.
+
 config HAVE_PATA_PLATFORM
 	bool
+	depends on ATA_SFF_PATA
 	help
 	  This is an internal configuration node for any machine that
 	  uses pata-platform driver to enable the relevant driver in the
@@ -662,6 +806,7 @@
 config PATA_PLATFORM
 	tristate "Generic platform device PATA support"
 	depends on EMBEDDED || ARCH_RPC || PPC || HAVE_PATA_PLATFORM
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems.
@@ -671,6 +816,7 @@
 config PATA_OF_PLATFORM
 	tristate "OpenFirmware platform device PATA support"
 	depends on PATA_PLATFORM && PPC_OF
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems with OpenFirmware
@@ -678,50 +824,5 @@
 
 	  If unsure, say N.
 
-config PATA_ICSIDE
-	tristate "Acorn ICS PATA support"
-	depends on ARM && ARCH_ACORN
-	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.
-	  If you are unsure, say N to this.
-
-config PATA_IXP4XX_CF
-	tristate "IXP4XX Compact Flash support"
-	depends on ARCH_IXP4XX
-	help
-	  This option enables support for a Compact Flash connected on
-	  the ixp4xx expansion bus. This driver had been written for
-	  Loft/Avila boards in mind but can work with others.
-
-	  If unsure, say N.
-
-config PATA_SCC
-	tristate "Toshiba's Cell Reference Set IDE support"
-	depends on PCI && PPC_CELLEB
-	help
-	  This option enables support for the built-in IDE controller on
-	  Toshiba Cell Reference Board.
-
-	  If unsure, say N.
-
-config PATA_SCH
-	tristate "Intel SCH PATA support"
-	depends on PCI
-	help
-	  This option enables support for Intel SCH PATA on the Intel
-	  SCH (US15W, US15L, UL11L) series host controllers.
-
-	  If unsure, say N.
-
-config PATA_BF54X
-	tristate "Blackfin 54x ATAPI support"
-	depends on BF542 || BF548 || BF549
-	help
-	  This option enables support for the built-in ATAPI controller on
-	  Blackfin 54x family chips.
-
-	  If unsure, say N.
-
 endif # ATA_SFF
 endif # ATA

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3
  2008-08-10  1:07                   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try2 Grant Coady
@ 2008-08-10  7:10                     ` Grant Coady
  2008-08-10  7:32                       ` Grant Coady
  2008-08-10  8:30                       ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4 Grant Coady
  0 siblings, 2 replies; 22+ messages in thread
From: Grant Coady @ 2008-08-10  7:10 UTC (permalink / raw)
  To: Grant Coady
  Cc: Alan Cox, Krzysztof Halasa, Robert P. J. Day, Grant Coady,
	Linux Kernel Mailing List

On Sun, 10 Aug 2008 11:07:30 +1000, Grant Coady <grant_lkml@dodo.com.au> wrote:

Okay, third time lucky?  This one brings back the indentation and is 
smaller than the last patch too.

Grant.


From: Grant Coady <gcoady.lk@gmail.com>

Cleanup ATA Kconfig, this patch replaces earlier RFC patches.

Cleanup ATA Kconfig, hide the SFF option behind new PATA and SATA menu
items, sort drivers into a single list, add missing "if unsure, say..."
help text, this version gets the items indented in make menuconfig, some
inconsistent text resolved, and one long (>80 col) help line split.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>

---
 Kconfig |  157 ++++++++++++++++------------------------------------------------
 1 files changed, 40 insertions(+), 117 deletions(-)

--- linux-2.6.27-rc2/drivers/ata/Kconfig	2008-07-14 07:51:29.000000000 +1000
+++ linux-2.6.27-rc2d/drivers/ata/Kconfig	2008-08-10 17:05:01.906675949 +1000
@@ -73,155 +73,78 @@
 
 	  If unsure, say N.
 
-config ATA_SFF
-	bool "ATA SFF support"
+config SATA_PMP
+	bool "SATA Port Multiplier support"
 	default y
 	help
-	  This option adds support for ATA controllers with SFF
-	  compliant or similar programming interface.
-
-	  SFF is the legacy IDE interface that has been around since
-	  the dawn of time.  Almost all PATA controllers have an
-	  SFF interface.  Many SATA controllers have an SFF interface
-	  when configured into a legacy compatibility mode.
-
-	  For users with exclusively modern controllers like AHCI,
-	  Silicon Image 3124, or Marvell 6440, you may choose to
-	  disable this uneeded SFF support.
+	  This option adds support for SATA Port Multipliers
+	  (the SATA version of an ethernet hub, or SAS expander).
 
 	  If unsure, say Y.
 
-if ATA_SFF
-
-config SATA_SVW
-	tristate "ServerWorks Frodo / Apple K2 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Broadcom/Serverworks/Apple K2
-	  SATA support.
-
-	  If unsure, say N.
-
-config ATA_PIIX
-	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
-	depends on PCI
-	help
-	  This option enables support for ICH5/6/7/8 Serial ATA
-	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
-	  host controllers.
-
-	  If unsure, say N.
-
-config SATA_MV
-	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	help
-	  This option enables support for the Marvell Serial ATA family.
-	  Currently supports 88SX[56]0[48][01] chips.
-
-	  If unsure, say N.
-
-config SATA_NV
-	tristate "NVIDIA SATA support"
+config SATA_SIL24
+	tristate "Silicon Image 3124/3132 SATA support"
 	depends on PCI
 	help
-	  This option enables support for NVIDIA Serial ATA.
+	  This option enables support for Silicon Image 3124/3132 Serial ATA.
 
 	  If unsure, say N.
 
-config PDC_ADMA
-	tristate "Pacific Digital ADMA support"
-	depends on PCI
-	help
-	  This option enables support for Pacific Digital ADMA controllers
-
-	  If unsure, say N.
-
-config SATA_QSTOR
-	tristate "Pacific Digital SATA QStor support"
-	depends on PCI
-	help
-	  This option enables support for Pacific Digital Serial ATA QStor.
-
-	  If unsure, say N.
-
-config SATA_PROMISE
-	tristate "Promise SATA TX2/TX4 support"
-	depends on PCI
-	help
-	  This option enables support for Promise Serial ATA TX2/TX4.
-
-	  If unsure, say N.
-
-config SATA_SX4
-	tristate "Promise SATA SX4 support"
-	depends on PCI && EXPERIMENTAL
+config ATA_SFF_PATA
+	bool "Parallel ATA (PATA) support"
+	default y
 	help
-	  This option enables support for Promise Serial ATA SX4.
-
-	  If unsure, say N.
+	  Say Y here if you want support for Parallel ATA (PATA) devices,
+	  also known as IDE devices.
 
-config SATA_SIL
-	tristate "Silicon Image SATA support"
-	depends on PCI
-	help
-	  This option enables support for Silicon Image Serial ATA.
+	  This option enables a list of available PATA drivers.
 
-	  If unsure, say N.
+	  You may turn this option off if running AHCI or similar devices.
 
-config SATA_SIS
-	tristate "SiS 964/965/966/180 SATA support"
-	depends on PCI
-	select PATA_SIS
-	help
-	  This option enables support for SiS Serial ATA on
-	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
-	  The PATA support for SiS 180 requires additionally to
-	  enable the PATA_SIS driver in the config.
-	  If unsure, say N.
+	  If unsure, say Y.
 
-config SATA_ULI
-	tristate "ULi Electronics SATA support"
-	depends on PCI
+config ATA_SFF_SATA
+	bool "Serial ATA (SATA) support"
+	default y
 	help
-	  This option enables support for ULi Electronics SATA.
+	  Say Y here if you want support for Serial ATA (SATA) devices.
 
-	  If unsure, say N.
+	  This option enables a list of available SATA drivers.
 
-config SATA_VIA
-	tristate "VIA SATA support"
-	depends on PCI
-	help
-	  This option enables support for VIA Serial ATA.
+	  You may turn this option off if running AHCI or similar devices.
 
-	  If unsure, say N.
-
-config SATA_VITESSE
-	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
+	  If unsure, say Y.
 
-	  If unsure, say N.
+config ATA_SFF
+	bool
+	default y
+	depends on ATA_SFF_PATA || ATA_SFF_SATA
 
-config SATA_INIC162X
-	tristate "Initio 162x SATA support"
-	depends on PCI
-	help
-	  This option enables support for Initio 162x Serial ATA.
+if ATA_SFF
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
-	depends on ATA_ACPI
+	depends on ATA_ACPI && ATA_SFF_PATA
 	help
 	  This option enables an ACPI method driver which drives
 	  motherboard PATA controller interfaces through the ACPI
 	  firmware in the BIOS. This driver can sometimes handle
 	  otherwise unsupported hardware.
 
+	  If unsure, say Y.
+
+config PATA_ICSIDE
+	tristate "Acorn ICS PATA support"
+	depends on ARM && ARCH_ACORN && ATA_SFF_PATA
+	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.
+
+	  If unsure, say N.
+
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on PCI && ATA_SFF_PATA && EXPERIMENTAL
 	help
 	  This option enables support for the ALi ATA interfaces
 	  found on the many ALi chipsets.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3
  2008-08-10  7:10                     ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3 Grant Coady
@ 2008-08-10  7:32                       ` Grant Coady
  2008-08-10  8:30                       ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4 Grant Coady
  1 sibling, 0 replies; 22+ messages in thread
From: Grant Coady @ 2008-08-10  7:32 UTC (permalink / raw)
  To: Grant Coady
  Cc: Grant Coady, Alan Cox, Krzysztof Halasa, Robert P. J. Day,
	Grant Coady, Linux Kernel Mailing List



I'm sorry, please ignore this patch, it's busted :(  Tomorrow...


On Sun, 10 Aug 2008 17:10:17 +1000, Grant Coady <grant_lkml@dodo.com.au> wrote:

>On Sun, 10 Aug 2008 11:07:30 +1000, Grant Coady <grant_lkml@dodo.com.au> wrote:
>
>Okay, third time lucky?  This one brings back the indentation and is 
>smaller than the last patch too.
>
>Grant.
>
>
>From: Grant Coady <gcoady.lk@gmail.com>
>
>Cleanup ATA Kconfig, this patch replaces earlier RFC patches.
>
>Cleanup ATA Kconfig, hide the SFF option behind new PATA and SATA menu
>items, sort drivers into a single list, add missing "if unsure, say..."
>help text, this version gets the items indented in make menuconfig, some
>inconsistent text resolved, and one long (>80 col) help line split.
>
>Signed-off-by: Grant Coady <gcoady.lk@gmail.com>
>
>---
> Kconfig |  157 ++++++++++++++++------------------------------------------------
> 1 files changed, 40 insertions(+), 117 deletions(-)
>
>--- linux-2.6.27-rc2/drivers/ata/Kconfig	2008-07-14 07:51:29.000000000 +1000
>+++ linux-2.6.27-rc2d/drivers/ata/Kconfig	2008-08-10 17:05:01.906675949 +1000
>@@ -73,155 +73,78 @@
> 
> 	  If unsure, say N.
> 
>-config ATA_SFF
>-	bool "ATA SFF support"
>+config SATA_PMP
>+	bool "SATA Port Multiplier support"
> 	default y
> 	help
>-	  This option adds support for ATA controllers with SFF
>-	  compliant or similar programming interface.
>-
>-	  SFF is the legacy IDE interface that has been around since
>-	  the dawn of time.  Almost all PATA controllers have an
>-	  SFF interface.  Many SATA controllers have an SFF interface
>-	  when configured into a legacy compatibility mode.
>-
>-	  For users with exclusively modern controllers like AHCI,
>-	  Silicon Image 3124, or Marvell 6440, you may choose to
>-	  disable this uneeded SFF support.
>+	  This option adds support for SATA Port Multipliers
>+	  (the SATA version of an ethernet hub, or SAS expander).
> 
> 	  If unsure, say Y.
> 
>-if ATA_SFF
>-
>-config SATA_SVW
>-	tristate "ServerWorks Frodo / Apple K2 SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for Broadcom/Serverworks/Apple K2
>-	  SATA support.
>-
>-	  If unsure, say N.
>-
>-config ATA_PIIX
>-	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for ICH5/6/7/8 Serial ATA
>-	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
>-	  host controllers.
>-
>-	  If unsure, say N.
>-
>-config SATA_MV
>-	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
>-	depends on EXPERIMENTAL
>-	help
>-	  This option enables support for the Marvell Serial ATA family.
>-	  Currently supports 88SX[56]0[48][01] chips.
>-
>-	  If unsure, say N.
>-
>-config SATA_NV
>-	tristate "NVIDIA SATA support"
>+config SATA_SIL24
>+	tristate "Silicon Image 3124/3132 SATA support"
> 	depends on PCI
> 	help
>-	  This option enables support for NVIDIA Serial ATA.
>+	  This option enables support for Silicon Image 3124/3132 Serial ATA.
> 
> 	  If unsure, say N.
> 
>-config PDC_ADMA
>-	tristate "Pacific Digital ADMA support"
>-	depends on PCI
>-	help
>-	  This option enables support for Pacific Digital ADMA controllers
>-
>-	  If unsure, say N.
>-
>-config SATA_QSTOR
>-	tristate "Pacific Digital SATA QStor support"
>-	depends on PCI
>-	help
>-	  This option enables support for Pacific Digital Serial ATA QStor.
>-
>-	  If unsure, say N.
>-
>-config SATA_PROMISE
>-	tristate "Promise SATA TX2/TX4 support"
>-	depends on PCI
>-	help
>-	  This option enables support for Promise Serial ATA TX2/TX4.
>-
>-	  If unsure, say N.
>-
>-config SATA_SX4
>-	tristate "Promise SATA SX4 support"
>-	depends on PCI && EXPERIMENTAL
>+config ATA_SFF_PATA
>+	bool "Parallel ATA (PATA) support"
>+	default y
> 	help
>-	  This option enables support for Promise Serial ATA SX4.
>-
>-	  If unsure, say N.
>+	  Say Y here if you want support for Parallel ATA (PATA) devices,
>+	  also known as IDE devices.
> 
>-config SATA_SIL
>-	tristate "Silicon Image SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for Silicon Image Serial ATA.
>+	  This option enables a list of available PATA drivers.
> 
>-	  If unsure, say N.
>+	  You may turn this option off if running AHCI or similar devices.
> 
>-config SATA_SIS
>-	tristate "SiS 964/965/966/180 SATA support"
>-	depends on PCI
>-	select PATA_SIS
>-	help
>-	  This option enables support for SiS Serial ATA on
>-	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
>-	  The PATA support for SiS 180 requires additionally to
>-	  enable the PATA_SIS driver in the config.
>-	  If unsure, say N.
>+	  If unsure, say Y.
> 
>-config SATA_ULI
>-	tristate "ULi Electronics SATA support"
>-	depends on PCI
>+config ATA_SFF_SATA
>+	bool "Serial ATA (SATA) support"
>+	default y
> 	help
>-	  This option enables support for ULi Electronics SATA.
>+	  Say Y here if you want support for Serial ATA (SATA) devices.
> 
>-	  If unsure, say N.
>+	  This option enables a list of available SATA drivers.
> 
>-config SATA_VIA
>-	tristate "VIA SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for VIA Serial ATA.
>+	  You may turn this option off if running AHCI or similar devices.
> 
>-	  If unsure, say N.
>-
>-config SATA_VITESSE
>-	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
>+	  If unsure, say Y.
> 
>-	  If unsure, say N.
>+config ATA_SFF
>+	bool
>+	default y
>+	depends on ATA_SFF_PATA || ATA_SFF_SATA
> 
>-config SATA_INIC162X
>-	tristate "Initio 162x SATA support"
>-	depends on PCI
>-	help
>-	  This option enables support for Initio 162x Serial ATA.
>+if ATA_SFF
> 
> config PATA_ACPI
> 	tristate "ACPI firmware driver for PATA"
>-	depends on ATA_ACPI
>+	depends on ATA_ACPI && ATA_SFF_PATA
> 	help
> 	  This option enables an ACPI method driver which drives
> 	  motherboard PATA controller interfaces through the ACPI
> 	  firmware in the BIOS. This driver can sometimes handle
> 	  otherwise unsupported hardware.
> 
>+	  If unsure, say Y.
>+
>+config PATA_ICSIDE
>+	tristate "Acorn ICS PATA support"
>+	depends on ARM && ARCH_ACORN && ATA_SFF_PATA
>+	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.
>+
>+	  If unsure, say N.
>+
> config PATA_ALI
> 	tristate "ALi PATA support (Experimental)"
>-	depends on PCI && EXPERIMENTAL
>+	depends on PCI && ATA_SFF_PATA && EXPERIMENTAL
> 	help
> 	  This option enables support for the ALi ATA interfaces
> 	  found on the many ALi chipsets.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4
  2008-08-10  7:10                     ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3 Grant Coady
  2008-08-10  7:32                       ` Grant Coady
@ 2008-08-10  8:30                       ` Grant Coady
  2008-08-10  9:27                         ` Grant Coady
  2008-08-10 11:57                         ` Oliver Pinter
  1 sibling, 2 replies; 22+ messages in thread
From: Grant Coady @ 2008-08-10  8:30 UTC (permalink / raw)
  To: Grant Coady
  Cc: Grant Coady, Alan Cox, Krzysztof Halasa, Robert P. J. Day,
	Grant Coady, Linux Kernel Mailing List

Hi there,
Like try3 only the right patch this time, somehow I scrambled try3.
Grant.

From: Grant Coady <gcoady.lk@gmail.com>

Cleanup ATA Kconfig, this patch replaces earlier RFC patches.

Cleanup ATA Kconfig, hide the SFF option behind new PATA and SATA menu
items, sort drivers into a single list, add missing "if unsure, say..."
help text, this version gets the items indented in make menuconfig, some
inconsistent text resolved, and one long (>80 col) help line split.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>

---
 Kconfig |  592 +++++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 311 insertions(+), 281 deletions(-)

--- linux-2.6.27-rc2/drivers/ata/Kconfig	2008-07-14 07:51:29.000000000 +1000
+++ linux-2.6.27-rc2e/drivers/ata/Kconfig	2008-08-10 18:12:52.495604924 +1000
@@ -3,7 +3,7 @@
 #
 
 menuconfig ATA
-	tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
+	tristate "Serial ATA (SATA) and Parallel ATA (PATA) drivers"
 	depends on HAS_IOMEM
 	depends on BLOCK
 	depends on !(M32R || M68K) || BROKEN
@@ -27,6 +27,14 @@
        bool
        default n
 
+config SATA_AHCI
+	tristate "AHCI SATA support"
+	depends on PCI
+	help
+	  This option enables support for AHCI Serial ATA.
+
+	  If unsure, say N.
+
 config ATA_ACPI
 	bool "ATA ACPI Support"
 	depends on ACPI && PCI
@@ -41,28 +49,7 @@
 	  You can disable this at kernel boot time by using the
 	  option libata.noacpi=1
 
-config SATA_PMP
-	bool "SATA Port Multiplier support"
-	default y
-	help
-	  This option adds support for SATA Port Multipliers
-	  (the SATA version of an ethernet hub, or SAS expander).
-
-config SATA_AHCI
-	tristate "AHCI SATA support"
-	depends on PCI
-	help
-	  This option enables support for AHCI Serial ATA.
-
-	  If unsure, say N.
-
-config SATA_SIL24
-	tristate "Silicon Image 3124/3132 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Silicon Image 3124/3132 Serial ATA.
-
-	  If unsure, say N.
+	  If unsure, say Y.
 
 config SATA_FSL
 	tristate "Freescale 3.0Gbps SATA support"
@@ -73,155 +60,78 @@
 
 	  If unsure, say N.
 
-config ATA_SFF
-	bool "ATA SFF support"
+config SATA_PMP
+	bool "SATA Port Multiplier support"
 	default y
 	help
-	  This option adds support for ATA controllers with SFF
-	  compliant or similar programming interface.
-
-	  SFF is the legacy IDE interface that has been around since
-	  the dawn of time.  Almost all PATA controllers have an
-	  SFF interface.  Many SATA controllers have an SFF interface
-	  when configured into a legacy compatibility mode.
-
-	  For users with exclusively modern controllers like AHCI,
-	  Silicon Image 3124, or Marvell 6440, you may choose to
-	  disable this uneeded SFF support.
+	  This option adds support for SATA Port Multipliers
+	  (the SATA version of an ethernet hub, or SAS expander).
 
 	  If unsure, say Y.
 
-if ATA_SFF
-
-config SATA_SVW
-	tristate "ServerWorks Frodo / Apple K2 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Broadcom/Serverworks/Apple K2
-	  SATA support.
-
-	  If unsure, say N.
-
-config ATA_PIIX
-	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
-	depends on PCI
-	help
-	  This option enables support for ICH5/6/7/8 Serial ATA
-	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
-	  host controllers.
-
-	  If unsure, say N.
-
-config SATA_MV
-	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	help
-	  This option enables support for the Marvell Serial ATA family.
-	  Currently supports 88SX[56]0[48][01] chips.
-
-	  If unsure, say N.
-
-config SATA_NV
-	tristate "NVIDIA SATA support"
-	depends on PCI
-	help
-	  This option enables support for NVIDIA Serial ATA.
-
-	  If unsure, say N.
-
-config PDC_ADMA
-	tristate "Pacific Digital ADMA support"
-	depends on PCI
-	help
-	  This option enables support for Pacific Digital ADMA controllers
-
-	  If unsure, say N.
-
-config SATA_QSTOR
-	tristate "Pacific Digital SATA QStor support"
-	depends on PCI
-	help
-	  This option enables support for Pacific Digital Serial ATA QStor.
-
-	  If unsure, say N.
-
-config SATA_PROMISE
-	tristate "Promise SATA TX2/TX4 support"
+config SATA_SIL24
+	tristate "Silicon Image 3124/3132 SATA support"
 	depends on PCI
 	help
-	  This option enables support for Promise Serial ATA TX2/TX4.
+	  This option enables support for Silicon Image 3124/3132 Serial ATA.
 
 	  If unsure, say N.
 
-config SATA_SX4
-	tristate "Promise SATA SX4 support"
-	depends on PCI && EXPERIMENTAL
+config ATA_SFF_PATA
+	bool "Parallel ATA (PATA) support"
+	default y
 	help
-	  This option enables support for Promise Serial ATA SX4.
-
-	  If unsure, say N.
+	  Say Y here if you want support for Parallel ATA (PATA) devices,
+	  also known as IDE devices.
 
-config SATA_SIL
-	tristate "Silicon Image SATA support"
-	depends on PCI
-	help
-	  This option enables support for Silicon Image Serial ATA.
+	  This option enables a list of available PATA drivers.
 
-	  If unsure, say N.
+	  You may turn this option off if running AHCI or similar devices.
 
-config SATA_SIS
-	tristate "SiS 964/965/966/180 SATA support"
-	depends on PCI
-	select PATA_SIS
-	help
-	  This option enables support for SiS Serial ATA on
-	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
-	  The PATA support for SiS 180 requires additionally to
-	  enable the PATA_SIS driver in the config.
-	  If unsure, say N.
+	  If unsure, say Y.
 
-config SATA_ULI
-	tristate "ULi Electronics SATA support"
-	depends on PCI
+config ATA_SFF_SATA
+	bool "Serial ATA (SATA) support"
+	default y
 	help
-	  This option enables support for ULi Electronics SATA.
+	  Say Y here if you want support for Serial ATA (SATA) devices.
 
-	  If unsure, say N.
-
-config SATA_VIA
-	tristate "VIA SATA support"
-	depends on PCI
-	help
-	  This option enables support for VIA Serial ATA.
+	  This option enables a list of available SATA drivers.
 
-	  If unsure, say N.
+	  You may turn this option off if running AHCI or similar devices.
 
-config SATA_VITESSE
-	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
-	depends on PCI
-	help
-	  This option enables support for Vitesse VSC7174 and Intel 31244 Serial ATA.
+	  If unsure, say Y.
 
-	  If unsure, say N.
+config ATA_SFF
+	bool
+	default y
+	depends on ATA_SFF_PATA || ATA_SFF_SATA
 
-config SATA_INIC162X
-	tristate "Initio 162x SATA support"
-	depends on PCI
-	help
-	  This option enables support for Initio 162x Serial ATA.
+if ATA_SFF
 
 config PATA_ACPI
 	tristate "ACPI firmware driver for PATA"
-	depends on ATA_ACPI
+	depends on ATA_SFF_PATA && ATA_ACPI
 	help
 	  This option enables an ACPI method driver which drives
 	  motherboard PATA controller interfaces through the ACPI
 	  firmware in the BIOS. This driver can sometimes handle
 	  otherwise unsupported hardware.
 
+	  If unsure, say Y.
+
+config PATA_ICSIDE
+	tristate "Acorn ICS PATA support"
+	depends on ATA_SFF_PATA && ARM && ARCH_ACORN
+	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.
+
+	  If unsure, say N.
+
 config PATA_ALI
 	tristate "ALi PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the ALi ATA interfaces
 	  found on the many ALi chipsets.
@@ -230,7 +140,7 @@
 
 config PATA_AMD
 	tristate "AMD/NVidia PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the AMD and NVidia PATA
 	  interfaces found on the chipsets for Athlon/Athlon64.
@@ -239,7 +149,7 @@
 
 config PATA_ARTOP
 	tristate "ARTOP 6210/6260 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for ARTOP PATA controllers.
 
@@ -247,7 +157,7 @@
 
 config PATA_AT32
 	tristate "Atmel AVR32 PATA support (Experimental)"
-	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
+	depends on ATA_SFF_PATA && AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
 	help
 	  This option enables support for the IDE devices on the
 	  Atmel AT32AP platform.
@@ -256,16 +166,25 @@
 
 config PATA_ATIIXP
 	tristate "ATI PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the ATI ATA interfaces
 	  found on the many ATI chipsets.
 
 	  If unsure, say N.
 
+config PATA_BF54X
+	tristate "Blackfin 54x ATAPI support"
+	depends on ATA_SFF_PATA && (BF542 || BF548 || BF549)
+	help
+	  This option enables support for the built-in ATAPI controller on
+	  Blackfin 54x family chips.
+
+	  If unsure, say N.
+
 config PATA_CMD640_PCI
 	tristate "CMD640 PCI PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the CMD640 PCI IDE
 	  interface chip. Only the primary channel is currently
@@ -275,16 +194,33 @@
 
 config PATA_CMD64X
 	tristate "CMD64x PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the CMD64x series chips
 	  except for the CMD640.
 
 	  If unsure, say N.
 
+config PATA_SIL680
+	tristate "CMD / Silicon Image 680 PATA support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for CMD / Silicon Image 680 PATA.
+
+	  If unsure, say N.
+
+config PATA_TRIFLEX
+	tristate "Compaq Triflex PATA support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  Enable support for the Compaq 'Triflex' IDE controller as found
+	  on many Compaq Pentium-Pro systems, via the new ATA layer.
+
+	  If unsure, say N.
+
 config PATA_CS5520
 	tristate "CS5510/5520 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the Cyrix 5510/5520
 	  companion chip used with the MediaGX/Geode processor family.
@@ -293,7 +229,7 @@
 
 config PATA_CS5530
 	tristate "CS5530 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the Cyrix/NatSemi/AMD CS5530
 	  companion chip used with the MediaGX/Geode processor family.
@@ -302,7 +238,7 @@
 
 config PATA_CS5535
 	tristate "CS5535 PATA support (Experimental)"
-	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && X86 && !X86_64 && EXPERIMENTAL
 	help
 	  This option enables support for the NatSemi/AMD CS5535
 	  companion chip used with the Geode processor family.
@@ -311,7 +247,7 @@
 
 config PATA_CS5536
 	tristate "CS5536 PATA support (Experimental)"
-	depends on PCI && X86 && !X86_64 && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && X86 && !X86_64 && EXPERIMENTAL
 	help
 	  This option enables support for the AMD CS5536
 	  companion chip used with the Geode LX processor family.
@@ -320,7 +256,7 @@
 
 config PATA_CYPRESS
 	tristate "Cypress CY82C693 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the Cypress/Contaq CY82C693
 	  chipset found in some Alpha systems
@@ -329,25 +265,51 @@
 
 config PATA_EFAR
 	tristate "EFAR SLC90E66 support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the EFAR SLC90E66
 	  IDE controller found on some older machines.
 
 	  If unsure, say N.
 
+config PATA_MPC52xx
+	tristate "Freescale MPC52xx SoC internal IDE"
+	depends on ATA_SFF_PATA && PPC_MPC52xx
+	help
+	  This option enables support for integrated IDE controller
+	  of the Freescale MPC52xx SoC.
+
+	  If unsure, say N.
+
 config ATA_GENERIC
 	tristate "Generic ATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for generic BIOS configured
 	  ATA controllers via the new ATA layer
 
 	  If unsure, say N.
 
+config PATA_HPT3X3
+	tristate "HPT 343/363 PATA support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for the HPT 343/363
+	  PATA controllers via the new ATA layer
+
+	  If unsure, say N.
+
+config PATA_HPT3X3_DMA
+	bool "HPT 343/363 DMA support (Experimental)"
+	depends on ATA_SFF_PATA && PATA_HPT3X3
+	help
+	  This option enables DMA support for the HPT343/363
+	  controllers. Enable with care as there are still some
+	  problems with DMA on this chipset.
+
 config PATA_HPT366
 	tristate "HPT 366/368 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the HPT 366 and 368
 	  PATA controllers via the new ATA layer.
@@ -356,7 +318,7 @@
 
 config PATA_HPT37X
 	tristate "HPT 370/370A/371/372/374/302 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the majority of the later HPT
 	  PATA controllers via the new ATA layer.
@@ -365,33 +327,59 @@
 
 config PATA_HPT3X2N
 	tristate "HPT 372N/302N PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the N variant HPT PATA
 	  controllers via the new ATA layer
 
 	  If unsure, say N.
 
-config PATA_HPT3X3
-	tristate "HPT 343/363 PATA support"
-	depends on PCI
+config SATA_INIC162X
+	tristate "Initio 162x SATA support"
+	depends on ATA_SFF_SATA && PCI
 	help
-	  This option enables support for the HPT 343/363
-	  PATA controllers via the new ATA layer
+	  This option enables support for Initio 162x Serial ATA.
 
 	  If unsure, say N.
 
-config PATA_HPT3X3_DMA
-	bool "HPT 343/363 DMA support (Experimental)"
-	depends on PATA_HPT3X3
+config ATA_PIIX
+	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
+	depends on PCI && (ATA_SFF_PATA_SUPPORT || ATA_SFF_SATA)
 	help
-	  This option enables DMA support for the HPT343/363
-	  controllers. Enable with care as there are still some
-	  problems with DMA on this chipset.
+	  This option enables support for ICH5/6/7/8 Serial ATA
+	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
+	  host controllers.
+
+	  If unsure, say N.
+
+config PATA_MPIIX
+	tristate "Intel PATA MPIIX support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for MPIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_OLDPIIX
+	tristate "Intel PATA old PIIX support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for early PIIX PATA support.
+
+	  If unsure, say N.
+
+config PATA_SCH
+	tristate "Intel SCH PATA support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for Intel SCH PATA on the Intel
+	  SCH (US15W, US15L, UL11L) series host controllers.
+
+	  If unsure, say N.
 
 config PATA_ISAPNP
 	tristate "ISA Plug and Play PATA support (Experimental)"
-	depends on EXPERIMENTAL && ISAPNP
+	depends on ATA_SFF_PATA && EXPERIMENTAL && ISAPNP
 	help
 	  This option enables support for ISA plug & play ATA
 	  controllers such as those found on old soundcards.
@@ -400,7 +388,7 @@
 
 config PATA_IT821X
 	tristate "IT8211/2 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the ITE 8211 and 8212
 	  PATA controllers via the new ATA layer, including RAID
@@ -410,16 +398,26 @@
 
 config PATA_IT8213
 	tristate "IT8213 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the ITE 821 PATA
           controllers via the new ATA layer.
 
 	  If unsure, say N.
 
+config PATA_IXP4XX_CF
+	tristate "IXP4XX Compact Flash support"
+	depends on ATA_SFF_PATA && ARCH_IXP4XX
+	help
+	  This option enables support for a Compact Flash connected on
+	  the ixp4xx expansion bus. This driver had been written for
+	  Loft/Avila boards in mind but can work with others.
+
+	  If unsure, say N.
+
 config PATA_JMICRON
 	tristate "JMicron PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  Enable support for the JMicron IDE controller, via the new
 	  ATA layer.
@@ -428,59 +426,52 @@
 
 config PATA_LEGACY
 	tristate "Legacy ISA PATA support (Experimental)"
-	depends on ISA && EXPERIMENTAL
+	depends on ATA_SFF_PATA && ISA && EXPERIMENTAL
 	help
 	  This option enables support for ISA/VLB bus legacy PATA
 	  ports and allows them to be accessed via the new ATA layer.
 
 	  If unsure, say N.
 
-config PATA_TRIFLEX
-	tristate "Compaq Triflex PATA support"
-	depends on PCI
-	help
-	  Enable support for the Compaq 'Triflex' IDE controller as found
-	  on many Compaq Pentium-Pro systems, via the new ATA layer.
-
-	  If unsure, say N.
-
 config PATA_MARVELL
 	tristate "Marvell PATA support via legacy mode"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables limited support for the Marvell 88SE6145 ATA
 	  controller.
 
 	  If unsure, say N.
 
-config PATA_MPC52xx
-	tristate "Freescale MPC52xx SoC internal IDE"
-	depends on PPC_MPC52xx
+config SATA_MV
+	tristate "Marvell SATA support (HIGHLY EXPERIMENTAL)"
+	depends on ATA_SFF_SATA && EXPERIMENTAL
 	help
-	  This option enables support for integrated IDE controller
-	  of the Freescale MPC52xx SoC.
+	  This option enables support for the Marvell Serial ATA family.
+	  Currently supports 88SX[56]0[48][01] chips.
 
 	  If unsure, say N.
 
-config PATA_MPIIX
-	tristate "Intel PATA MPIIX support"
-	depends on PCI
+config PATA_NS87410
+	tristate "Nat Semi NS87410 PATA support (Experimental)"
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
-	  This option enables support for MPIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87410 PCI-IDE controller.
 
 	  If unsure, say N.
 
-config PATA_OLDPIIX
-	tristate "Intel PATA old PIIX support"
-	depends on PCI
+config PATA_NS87415
+	tristate "Nat Semi NS87415 PATA support (Experimental)"
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
-	  This option enables support for early PIIX PATA support.
+	  This option enables support for the National Semiconductor
+	  NS87415 PCI-IDE controller.
 
 	  If unsure, say N.
 
 config PATA_NETCELL
 	tristate "NETCELL Revolution RAID support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the Netcell Revolution RAID
 	  PATA controller.
@@ -489,34 +480,24 @@
 
 config PATA_NINJA32
 	tristate "Ninja32/Delkin Cardbus ATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the Ninja32, Delkin and
 	  possibly other brands of Cardbus ATA adapter
 
 	  If unsure, say N.
 
-config PATA_NS87410
-	tristate "Nat Semi NS87410 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
-	help
-	  This option enables support for the National Semiconductor
-	  NS87410 PCI-IDE controller.
-
-	  If unsure, say N.
-
-config PATA_NS87415
-	tristate "Nat Semi NS87415 PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+config SATA_NV
+	tristate "NVIDIA SATA support"
+	depends on ATA_SFF_SATA && PCI
 	help
-	  This option enables support for the National Semiconductor
-	  NS87415 PCI-IDE controller.
+	  This option enables support for NVIDIA Serial ATA.
 
 	  If unsure, say N.
 
 config PATA_OPTI
 	tristate "OPTI621/6215 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables full PIO support for the early Opti ATA
 	  controllers found on some old motherboards.
@@ -525,7 +506,7 @@
 
 config PATA_OPTIDMA
 	tristate "OPTI FireStar PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables DMA/PIO support for the later OPTi
 	  controllers found on some old motherboards and in some
@@ -533,33 +514,76 @@
 
 	  If unsure, say N.
 
+config PDC_ADMA
+	tristate "Pacific Digital ADMA support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for Pacific Digital ADMA controllers
+
+	  If unsure, say N.
+
+config SATA_QSTOR
+	tristate "Pacific Digital SATA QStor support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for Pacific Digital Serial ATA QStor.
+
+	  If unsure, say N.
+
 config PATA_PCMCIA
 	tristate "PCMCIA PATA support"
-	depends on PCMCIA
+	depends on ATA_SFF_PATA && PCMCIA
 	help
 	  This option enables support for PCMCIA ATA interfaces, including
 	  compact flash card adapters via the new ATA layer.
 
 	  If unsure, say N.
 
+config PATA_PDC2027X
+	tristate "Promise PATA 2027x support"
+	depends on ATA_SFF_PATA && PCI
+	help
+	  This option enables support for Promise PATA pdc20268
+	  to pdc20277 host adapters.
+
+	  If unsure, say N.
+
 config PATA_PDC_OLD
-	tristate "Older Promise PATA controller support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	tristate "Promise old PATA controller support (Experimental)"
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the Promise 20246, 20262, 20263,
 	  20265 and 20267 adapters.
 
 	  If unsure, say N.
 
+config SATA_SX4
+	tristate "Promise SATA SX4 support"
+	depends on ATA_SFF_SATA && PCI && EXPERIMENTAL
+	help
+	  This option enables support for Promise Serial ATA SX4.
+
+	  If unsure, say N.
+
+config SATA_PROMISE
+	tristate "Promise SATA TX2/TX4 support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for Promise Serial ATA TX2/TX4.
+
+	  If unsure, say N.
+
 config PATA_QDI
 	tristate "QDI VLB PATA support"
-	depends on ISA
+	depends on ATA_SFF_PATA && ISA
 	help
 	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
 
+	  If unsure, say N.
+
 config PATA_RADISYS
 	tristate "RADISYS 82600 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the RADISYS 82600
 	  PATA controllers via the new ATA layer
@@ -568,7 +592,7 @@
 
 config PATA_RB532
 	tristate "RouterBoard 532 PATA CompactFlash support"
-	depends on MIKROTIK_RB532
+	depends on ATA_SFF_PATA && MIKROTIK_RB532
 	help
 	  This option enables support for the RouterBoard 532
 	  PATA CompactFlash controller.
@@ -577,7 +601,7 @@
 
 config PATA_RZ1000
 	tristate "PC Tech RZ1000 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables basic support for the PC Tech RZ1000/1
 	  PATA controllers via the new ATA layer
@@ -586,58 +610,105 @@
 
 config PATA_SC1200
 	tristate "SC1200 PATA support (Very Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for the NatSemi/AMD SC1200 SoC
 	  companion chip used with the Geode processor family.
 
 	  If unsure, say N.
 
+config SATA_SVW
+	tristate "ServerWorks Frodo / Apple K2 SATA support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for Broadcom/Serverworks/Apple K2
+	  SATA support.
+
+	  If unsure, say N.
+
 config PATA_SERVERWORKS
-	tristate "SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support"
-	depends on PCI
+	tristate "ServerWorks OSB4/CSB5/CSB6/HT1000 PATA support"
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the Serverworks OSB4/CSB5/CSB6 and
 	  HT1000 PATA controllers, via the new ATA layer.
 
 	  If unsure, say N.
 
-config PATA_PDC2027X
-	tristate "Promise PATA 2027x support"
-	depends on PCI
+config SATA_SIL
+	tristate "Silicon Image SATA support"
+	depends on ATA_SFF_SATA && PCI
 	help
-	  This option enables support for Promise PATA pdc20268 to pdc20277 host adapters.
+	  This option enables support for Silicon Image Serial ATA.
 
 	  If unsure, say N.
 
-config PATA_SIL680
-	tristate "CMD / Silicon Image 680 PATA support"
-	depends on PCI
+config SATA_SIS
+	tristate "SiS 964/965/966/180 SATA support"
+	depends on ATA_SFF_SATA && PCI
+	select PATA_SIS
 	help
-	  This option enables support for CMD / Silicon Image 680 PATA.
+	  This option enables support for SiS Serial ATA on
+	  SiS 964/965/966/180 and Parallel ATA on SiS 180.
+	  The PATA support for SiS 180 requires additionally to
+	  enable the PATA_SIS driver in the config.
 
 	  If unsure, say N.
 
 config PATA_SIS
 	tristate "SiS PATA support (Experimental)"
-	depends on PCI && EXPERIMENTAL
+	depends on ATA_SFF_PATA && PCI && EXPERIMENTAL
 	help
 	  This option enables support for SiS PATA controllers
 
 	  If unsure, say N.
 
+config PATA_SCC
+	tristate "Toshiba's Cell Reference Set IDE support"
+	depends on ATA_SFF_PATA && PCI && PPC_CELLEB
+	help
+	  This option enables support for the built-in IDE controller on
+	  Toshiba Cell Reference Board.
+
+	  If unsure, say N.
+
+config SATA_ULI
+	tristate "ULi Electronics SATA support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for ULi Electronics SATA.
+
+	  If unsure, say N.
+
 config PATA_VIA
 	tristate "VIA PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for the VIA PATA interfaces
 	  found on the many VIA chipsets.
 
 	  If unsure, say N.
 
+config SATA_VIA
+	tristate "VIA SATA support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for VIA Serial ATA.
+
+	  If unsure, say N.
+
+config SATA_VITESSE
+	tristate "VITESSE VSC-7174 / INTEL 31244 SATA support"
+	depends on ATA_SFF_SATA && PCI
+	help
+	  This option enables support for Vitesse VSC7174 and
+	  Intel 31244 Serial ATA.
+
+	  If unsure, say N.
+
 config PATA_WINBOND
 	tristate "Winbond SL82C105 PATA support"
-	depends on PCI
+	depends on ATA_SFF_PATA && PCI
 	help
 	  This option enables support for SL82C105 PATA devices found in the
 	  Netwinder and some other systems
@@ -646,13 +717,16 @@
 
 config PATA_WINBOND_VLB
 	tristate "Winbond W83759A VLB PATA support (Experimental)"
-	depends on ISA && EXPERIMENTAL
+	depends on ATA_SFF_PATA && ISA && EXPERIMENTAL
 	help
 	  Support for the Winbond W83759A controller on Vesa Local Bus
 	  systems.
 
+	  If unsure, say N.
+
 config HAVE_PATA_PLATFORM
 	bool
+	depends on ATA_SFF_PATA
 	help
 	  This is an internal configuration node for any machine that
 	  uses pata-platform driver to enable the relevant driver in the
@@ -662,6 +736,7 @@
 config PATA_PLATFORM
 	tristate "Generic platform device PATA support"
 	depends on EMBEDDED || ARCH_RPC || PPC || HAVE_PATA_PLATFORM
+	depends on ATA_SFF_PATA
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems.
@@ -670,7 +745,7 @@
 
 config PATA_OF_PLATFORM
 	tristate "OpenFirmware platform device PATA support"
-	depends on PATA_PLATFORM && PPC_OF
+	depends on ATA_SFF_PATA && PATA_PLATFORM && PPC_OF
 	help
 	  This option enables support for generic directly connected ATA
 	  devices commonly found on embedded systems with OpenFirmware
@@ -678,50 +753,5 @@
 
 	  If unsure, say N.
 
-config PATA_ICSIDE
-	tristate "Acorn ICS PATA support"
-	depends on ARM && ARCH_ACORN
-	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.
-	  If you are unsure, say N to this.
-
-config PATA_IXP4XX_CF
-	tristate "IXP4XX Compact Flash support"
-	depends on ARCH_IXP4XX
-	help
-	  This option enables support for a Compact Flash connected on
-	  the ixp4xx expansion bus. This driver had been written for
-	  Loft/Avila boards in mind but can work with others.
-
-	  If unsure, say N.
-
-config PATA_SCC
-	tristate "Toshiba's Cell Reference Set IDE support"
-	depends on PCI && PPC_CELLEB
-	help
-	  This option enables support for the built-in IDE controller on
-	  Toshiba Cell Reference Board.
-
-	  If unsure, say N.
-
-config PATA_SCH
-	tristate "Intel SCH PATA support"
-	depends on PCI
-	help
-	  This option enables support for Intel SCH PATA on the Intel
-	  SCH (US15W, US15L, UL11L) series host controllers.
-
-	  If unsure, say N.
-
-config PATA_BF54X
-	tristate "Blackfin 54x ATAPI support"
-	depends on BF542 || BF548 || BF549
-	help
-	  This option enables support for the built-in ATAPI controller on
-	  Blackfin 54x family chips.
-
-	  If unsure, say N.
-
 endif # ATA_SFF
 endif # ATA

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4
  2008-08-10  8:30                       ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4 Grant Coady
@ 2008-08-10  9:27                         ` Grant Coady
  2008-08-10 11:57                         ` Oliver Pinter
  1 sibling, 0 replies; 22+ messages in thread
From: Grant Coady @ 2008-08-10  9:27 UTC (permalink / raw)
  To: Grant Coady
  Cc: Grant Coady, Alan Cox, Krzysztof Halasa, Robert P. J. Day,
	Grant Coady, Linux Kernel Mailing List


From: Grant Coady <gcoady.lk@gmail.com>

Cleanup ATA Kconfig, this applies after try4 to fix a dependency.

Signed-off-by: Grant Coady <gcoady.lk@gmail.com>

---
 Kconfig |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.27-rc2e/drivers/ata/Kconfig~	2008-08-10 18:12:52.495604924 +1000
+++ linux-2.6.27-rc2e/drivers/ata/Kconfig	2008-08-10 19:21:48.941431196 +1000
@@ -344,7 +344,7 @@
 
 config ATA_PIIX
 	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
-	depends on PCI && (ATA_SFF_PATA_SUPPORT || ATA_SFF_SATA)
+	depends on PCI && (ATA_SFF_PATA || ATA_SFF_SATA)
 	help
 	  This option enables support for ICH5/6/7/8 Serial ATA
 	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4
  2008-08-10  8:30                       ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4 Grant Coady
  2008-08-10  9:27                         ` Grant Coady
@ 2008-08-10 11:57                         ` Oliver Pinter
  2008-08-10 23:29                           ` Grant Coady
  1 sibling, 1 reply; 22+ messages in thread
From: Oliver Pinter @ 2008-08-10 11:57 UTC (permalink / raw)
  To: Grant Coady
  Cc: Alan Cox, Krzysztof Halasa, Robert P. J. Day,
	Linux Kernel Mailing List

Hi Grant!

in ATA_PIIX-s help text is a little "old", and not contained the
ich9/10s "help text"


On 8/10/08, Grant Coady <grant_lkml@dodo.com.au> wrote:
> Hi there,
> Like try3 only the right patch this time, somehow I scrambled try3.
> Grant.
>
> From: Grant Coady <gcoady.lk@gmail.com>
>
> Cleanup ATA Kconfig, this patch replaces earlier RFC patches.
>
> Cleanup ATA Kconfig, hide the SFF option behind new PATA and SATA menu
> items, sort drivers into a single list, add missing "if unsure, say..."
> help text, this version gets the items indented in make menuconfig, some
> inconsistent text resolved, and one long (>80 col) help line split.
>
> Signed-off-by: Grant Coady <gcoady.lk@gmail.com>
>
> ---
>  Kconfig |  592
> +++++++++++++++++++++++++++++++++-------------------------------
>  1 files changed, 311 insertions(+), 281 deletions(-)
>
> --- linux-2.6.27-rc2/drivers/ata/Kconfig	2008-07-14 07:51:29.000000000 +1000
> +++ linux-2.6.27-rc2e/drivers/ata/Kconfig	2008-08-10 18:12:52.495604924
> +1000
> @@ -3,7 +3,7 @@
>  #

[...]

> -config PATA_HPT3X3_DMA
> -	bool "HPT 343/363 DMA support (Experimental)"
> -	depends on PATA_HPT3X3
> +config ATA_PIIX
> +	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
> +	depends on PCI && (ATA_SFF_PATA_SUPPORT || ATA_SFF_SATA)
>  	help
> -	  This option enables DMA support for the HPT343/363
> -	  controllers. Enable with care as there are still some
> -	  problems with DMA on this chipset.
> +	  This option enables support for ICH5/6/7/8 Serial ATA <<--

-->>  This option enables support for ICH5/6/7/8/9/10 Serial ATA<<--

> +	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
> +	  host controllers.
> +
> +	  If unsure, say N.
> +
> +config PATA_MPIIX
> +	tristate "Intel PATA MPIIX support"
> +	depends on ATA_SFF_PATA && PCI
> +	help
> +	  This option enables support for MPIIX PATA support.
> +
> +	  If unsure, say N.

[...]

-- 
Thanks,
Oliver

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4
  2008-08-10 11:57                         ` Oliver Pinter
@ 2008-08-10 23:29                           ` Grant Coady
  0 siblings, 0 replies; 22+ messages in thread
From: Grant Coady @ 2008-08-10 23:29 UTC (permalink / raw)
  To: Oliver Pinter
  Cc: Grant Coady, Alan Cox, Krzysztof Halasa, Robert P. J. Day,
	Linux Kernel Mailing List

On Sun, 10 Aug 2008 13:57:43 +0200, "Oliver Pinter" <oliver.pntr@gmail.com> wrote:

>Hi Grant!
>
>in ATA_PIIX-s help text is a little "old", and not contained the
>ich9/10s "help text"
...
>> +	  This option enables support for ICH5/6/7/8 Serial ATA <<--
>
>-->>  This option enables support for ICH5/6/7/8/9/10 Serial ATA<<--

Perhaps:

--- linux-2.6.27-rc2f/drivers/ata/Kconfig~	2008-08-10 19:21:48.941431196 +1000
+++ linux-2.6.27-rc2f/drivers/ata/Kconfig	2008-08-11 09:25:34.408822659 +1000
@@ -346,7 +346,7 @@
 	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
 	depends on PCI && (ATA_SFF_PATA || ATA_SFF_SATA)
 	help
-	  This option enables support for ICH5/6/7/8 Serial ATA
+	  This option enables support for ICH5 or later Serial ATA,
 	  and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
 	  host controllers.
 
So we don't have to edit the thing every six months?

Grant.

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2008-08-10 23:30 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-08 16:32 worth separating serial from parallel ATA kernel options? Robert P. J. Day
2008-08-08 16:26 ` Alan Cox
2008-08-08 16:53   ` Robert P. J. Day
2008-08-08 22:34   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Grant Coady
2008-08-08 22:58     ` Krzysztof Halasa
2008-08-08 23:13       ` Robert P. J. Day
2008-08-09  9:33         ` Alan Cox
2008-08-09 10:39           ` Robert P. J. Day
2008-08-09 12:04           ` Krzysztof Halasa
2008-08-09 12:18             ` Andreas Schwab
2008-08-09 12:36             ` Mikael Pettersson
2008-08-09 13:10             ` Alan Cox
2008-08-09 19:12               ` Krzysztof Halasa
2008-08-09 20:59                 ` Alan Cox
2008-08-10  1:07                   ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try2 Grant Coady
2008-08-10  7:10                     ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3 Grant Coady
2008-08-10  7:32                       ` Grant Coady
2008-08-10  8:30                       ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4 Grant Coady
2008-08-10  9:27                         ` Grant Coady
2008-08-10 11:57                         ` Oliver Pinter
2008-08-10 23:29                           ` Grant Coady
2008-08-09 22:40             ` [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig Oliver Pinter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.