2008-08-08 16:34:23

by Robert P. J. Day

[permalink] [raw]
Subject: worth separating serial from parallel ATA kernel options?


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
========================================================================


2008-08-08 16:44:21

by Alan

[permalink] [raw]
Subject: Re: worth separating serial from parallel ATA kernel options?

On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
"Robert P. J. Day" <[email protected]> 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)

2008-08-08 16:55:48

by Robert P. J. Day

[permalink] [raw]
Subject: Re: worth separating serial from parallel ATA kernel options?

On Fri, 8 Aug 2008, Alan Cox wrote:

> On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
> "Robert P. J. Day" <[email protected]> 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
========================================================================

2008-08-08 22:35:13

by Grant Coady

[permalink] [raw]
Subject: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

On Fri, 8 Aug 2008 17:26:29 +0100, Alan Cox <[email protected]> wrote:

>On Fri, 8 Aug 2008 12:32:23 -0400 (EDT)
>"Robert P. J. Day" <[email protected]> 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 <[email protected]>

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 <[email protected]>

---
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

2008-08-08 22:58:33

by Krzysztof Halasa

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

Grant Coady <[email protected]> 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

2008-08-08 23:15:42

by Robert P. J. Day

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

On Sat, 9 Aug 2008, Krzysztof Halasa wrote:

> Grant Coady <[email protected]> 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
========================================================================

2008-08-09 09:51:14

by Alan

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

> 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 ..

2008-08-09 10:41:19

by Robert P. J. Day

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

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
========================================================================

2008-08-09 12:04:22

by Krzysztof Halasa

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

Alan Cox <[email protected]> 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

2008-08-09 12:18:47

by Andreas Schwab

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

Krzysztof Halasa <[email protected]> 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, [email protected]
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."

2008-08-09 12:37:19

by Mikael Pettersson

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

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.

2008-08-09 13:27:55

by Alan

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

> 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

2008-08-09 19:12:25

by Krzysztof Halasa

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

Alan Cox <[email protected]> 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

2008-08-09 21:16:45

by Alan

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

> 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

2008-08-09 22:40:26

by Oliver Pinter

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig

On 8/9/08, Krzysztof Halasa <[email protected]> wrote:
> Alan Cox <[email protected]> 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

2008-08-10 01:08:17

by Grant Coady

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try2

On Sat, 9 Aug 2008 21:59:18 +0100, Alan Cox <[email protected]> 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 <[email protected]>

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 <[email protected]>

---
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

2008-08-10 07:10:39

by Grant Coady

[permalink] [raw]
Subject: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3

On Sun, 10 Aug 2008 11:07:30 +1000, Grant Coady <[email protected]> wrote:

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

Grant.


From: Grant Coady <[email protected]>

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 <[email protected]>

---
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.

2008-08-10 07:32:46

by Grant Coady

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try3



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


On Sun, 10 Aug 2008 17:10:17 +1000, Grant Coady <[email protected]> wrote:

>On Sun, 10 Aug 2008 11:07:30 +1000, Grant Coady <[email protected]> wrote:
>
>Okay, third time lucky? This one brings back the indentation and is
>smaller than the last patch too.
>
>Grant.
>
>
>From: Grant Coady <[email protected]>
>
>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 <[email protected]>
>
>---
> 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.

2008-08-10 08:30:41

by Grant Coady

[permalink] [raw]
Subject: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4

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

From: Grant Coady <[email protected]>

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 <[email protected]>

---
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

2008-08-10 09:27:53

by Grant Coady

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4


From: Grant Coady <[email protected]>

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

Signed-off-by: Grant Coady <[email protected]>

---
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

2008-08-10 11:57:54

by Oliver Pinter

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4

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 <[email protected]> wrote:
> Hi there,
> Like try3 only the right patch this time, somehow I scrambled try3.
> Grant.
>
> From: Grant Coady <[email protected]>
>
> 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 <[email protected]>
>
> ---
> 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

2008-08-10 23:30:00

by Grant Coady

[permalink] [raw]
Subject: Re: [RFC PATCH] cleanup Serial ATA and Parallel ATA Kconfig try4

On Sun, 10 Aug 2008 13:57:43 +0200, "Oliver Pinter" <[email protected]> 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.