lkml.org 
[lkml]   [2008]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[2.6 patch] ARM: always select HAVE_IDE
    On Wed, Apr 16, 2008 at 01:26:10AM +0200, Bartlomiej Zolnierkiewicz wrote:
    > On Wednesday 16 April 2008, Russell King wrote:
    > > On Wed, Apr 16, 2008 at 01:10:02AM +0300, Adrian Bunk wrote:
    > > > On Tue, Apr 15, 2008 at 11:03:45PM +0100, Russell King wrote:
    > > > > On Wed, Apr 16, 2008 at 12:52:23AM +0300, Adrian Bunk wrote:
    > > > >...
    > > > > So this is a only impacting ARM wrt. PCMCIA, and given that ARM supplies
    > > > > an asm/ide.h, it's _entirely_ reasonable that if a platform has PCMCIA
    > > > > then it supports IDE.
    > > > >
    > > > > > We could simply always select HAVE_IDE on arm instead of manually
    > > > > > setting which platforms could possibly get IDE support (e.g. are there
    > > > > > any boards with PCI slots for which HAVE_IDE is currently not
    > > > > > selected?).
    > > > >
    > > > > You could, if there was a demand for it. As no one has added that,
    > > > > I conclude that its less common for people to stick an IDE controller
    > > > > into a PCI backplane.
    > > >
    > > > People can always enable code for stuff they don't use.
    > > >
    > > > But instead of having 14 ARM platforms plus PCMCIA (which is offered
    > > > unconditionally on all ARM platforms...) select HAVE_IDE it's simpler
    > > > to select it once for all ARM platforms.
    >
    > Please send me a patch doing this, it should be safe for current IDE tree.
    >
    > > That would seem logical, but Bart objects to that idea.
    >
    > I don't remember the background but I think it was needed because of badly
    > perplexed ide_init_hwif_ports() and friends in <asm/ide.h> vs <linux/ide.h>
    > (almost all this stuff is gone in IDE tree for 2.6.26)...
    >
    > Ok, I found the patch:
    >
    > http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=4b3b8ee5db374b76608537e061f2efd90e21179d
    >
    > [ tglx's history tree since it is from May 2004. ]
    >
    > > However, consider that we're gradually transitioning over to being
    > > exclusively libata only.
    > >
    > > > > In fact, there are only three classes of ARM platforms which have PCI
    > > > > selected but not HAVE_IDE - IOP13xx, IXP2000, and Orion. I suspect
    > > > > the only reason they don't select it because they now use the ATA code
    > > > > rather than the old IDE code - that's certainly true of Orion.
    > > >
    > > > The libata options are offered unconditionally on all platforms...
    > >
    > > It wasn't *my* choice to restrict IDE on ARM. See Bart for that
    > > decision.
    >
    > It could be that I did the poor job of explaining things back then
    > but I also didn't like the fact that I needed to restrict the IDE
    > choice on ARM - the change in question was _necessary_ to start
    > converting IDE drivers to become real, independent, modular host
    > drivers and as a preparation for adding proper warm-plug support.

    Any objections against the patch below?

    > Thanks,
    > Bart

    cu
    Adrian


    <-- snip -->


    It's plain wrong for PCMCIA to select HAVE_IDE that implies e.g. the
    availability of an asm/ide.h

    It turns out this was done for ARM, and we can simply always select
    HAVE_IDE on ARM instead of manually tracking which platforms might
    possible have an IDE controller directly or indirectly.

    Signed-off-by: Adrian Bunk <bunk@kernel.org>

    ---

    arch/arm/Kconfig | 15 +--------------
    drivers/pcmcia/Kconfig | 1 -
    2 files changed, 1 insertion(+), 15 deletions(-)

    40d8b054ee277ee1d66e4379621e26d18926ed9d diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
    index 4039a13..6808136 100644
    --- a/arch/arm/Kconfig
    +++ b/arch/arm/Kconfig
    @@ -8,6 +8,7 @@ mainmenu "Linux Kernel Configuration"
    config ARM
    bool
    default y
    + select HAVE_IDE
    select RTC_LIB
    select SYS_SUPPORTS_APM_EMULATION
    select HAVE_OPROFILE
    @@ -223,7 +224,6 @@ config ARCH_CLPS7500
    select TIMER_ACORN
    select ISA
    select NO_IOPORT
    - select HAVE_IDE
    help
    Support for the Cirrus Logic PS7500FE system-on-a-chip.

    @@ -236,7 +236,6 @@ config ARCH_CO285
    bool "Co-EBSA285"
    select FOOTBRIDGE
    select FOOTBRIDGE_ADDIN
    - select HAVE_IDE
    help
    Support for Intel's EBSA285 companion chip.

    @@ -261,7 +260,6 @@ config ARCH_EP93XX
    config ARCH_FOOTBRIDGE
    bool "FootBridge"
    select FOOTBRIDGE
    - select HAVE_IDE
    help
    Support for systems based on the DC21285 companion chip
    ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
    @@ -300,7 +298,6 @@ config ARCH_IOP32X
    depends on MMU
    select PLAT_IOP
    select PCI
    - select HAVE_IDE
    help
    Support for Intel's 80219 and IOP32X (XScale) family of
    processors.
    @@ -310,14 +307,12 @@ config ARCH_IOP33X
    depends on MMU
    select PLAT_IOP
    select PCI
    - select HAVE_IDE
    help
    Support for Intel's IOP33X (XScale) family of processors.

    config ARCH_IXP23XX
    bool "IXP23XX-based"
    depends on MMU
    - select HAVE_IDE
    select PCI
    help
    Support for Intel's IXP23xx (XScale) family of processors.
    @@ -335,14 +330,12 @@ config ARCH_IXP4XX
    select GENERIC_GPIO
    select GENERIC_TIME
    select GENERIC_CLOCKEVENTS
    - select HAVE_IDE
    help
    Support for Intel's IXP4XX (XScale) family of processors.

    config ARCH_L7200
    bool "LinkUp-L7200"
    select FIQ
    - select HAVE_IDE
    help
    Say Y here if you intend to run this kernel on a LinkUp Systems
    L7200 Software Development Board which uses an ARM720T processor.
    @@ -397,7 +390,6 @@ config ARCH_PXA
    depends on MMU
    select ARCH_MTD_XIP
    select GENERIC_GPIO
    - select HAVE_IDE
    select HAVE_GPIO_LIB
    select GENERIC_TIME
    select GENERIC_CLOCKEVENTS
    @@ -413,7 +405,6 @@ config ARCH_RPC
    select ARCH_MAY_HAVE_PC_FDC
    select ISA_DMA_API
    select NO_IOPORT
    - select HAVE_IDE
    help
    On the Acorn Risc-PC, Linux can support the internal IDE disk and
    CD-ROM interface, serial and parallel port, and the floppy drive.
    @@ -425,14 +416,12 @@ config ARCH_SA1100
    select ARCH_MTD_XIP
    select GENERIC_GPIO
    select GENERIC_TIME
    - select HAVE_IDE
    help
    Support for StrongARM 11x0 based boards.

    config ARCH_S3C2410
    bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
    select GENERIC_GPIO
    - select HAVE_IDE
    help
    Samsung S3C2410X CPU based systems, such as the Simtec Electronics
    BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
    @@ -440,7 +429,6 @@ config ARCH_S3C2410

    config ARCH_SHARK
    bool "Shark"
    - select HAVE_IDE
    select ISA
    select ISA_DMA
    select PCI
    @@ -450,7 +438,6 @@ config ARCH_SHARK

    config ARCH_LH7A40X
    bool "Sharp LH7A40X"
    - select HAVE_IDE
    help
    Say Y here for systems based on one of the Sharp LH7A40X
    System on a Chip processors. These CPUs include an ARM922T
    diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
    index 8b22281..519b4ff 100644
    --- a/drivers/pcmcia/Kconfig
    +++ b/drivers/pcmcia/Kconfig
    @@ -38,7 +38,6 @@ config PCMCIA_DEBUG
    config PCMCIA
    tristate "16-bit PCMCIA support"
    select CRC32
    - select HAVE_IDE
    default y
    ---help---
    This option enables support for 16-bit PCMCIA cards. Most older


    \
     
     \ /
      Last update: 2008-04-17 12:07    [W:0.031 / U:62.764 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site