ata: clean up how architectures enable PATA_PLATFORM and PATA_OF_PLATFORM
authorLukas Bulwahn <lukas.bulwahn@gmail.com>
Wed, 14 Sep 2022 14:27:12 +0000 (16:27 +0200)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Fri, 16 Sep 2022 14:24:06 +0000 (23:24 +0900)
There are two options for platform device PATA support:

  PATA_PLATFORM: Generic platform device PATA support
  PATA_OF_PLATFORM: OpenFirmware platform device PATA support

If an architecture allows the generic platform device PATA support, it
shall select HAVE_PATA_PLATFORM. Then, Generic platform device PATA support
is available and can be selected.

If an architecture has OpenFirmware support, which it indicates by
selecting OF, OpenFirmware platform device PATA support is available
and can be selected.
If OpenFirmware platform device PATA support is selected, then the
functionality (code files) from Generic platform device PATA support needs
to be integrated in the kernel build for the OpenFirmware platform device
PATA support to work. Select PATA_PLATFORM in PATA_OF_PLATFORM to make sure
the needed files are added in the build.

So, architectures with OpenFirmware support, do not need to additionally
select HAVE_PATA_PLATFORM. It is only needed by architecture that want the
non-OF pata-platform module.

Reflect this way of intended use of config symbols in the ata Kconfig and
adjust all architecture definitions.

This follows the suggestion from Arnd Bergmann (see Link).

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/all/4b33bffc-2b6d-46b4-9f1d-d18e55975a5a@www.fastmail.com/
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
arch/arm/mach-versatile/Kconfig
arch/arm64/Kconfig
drivers/ata/Kconfig

index 2ef2261..b1519b4 100644 (file)
@@ -256,7 +256,6 @@ menuconfig ARCH_VEXPRESS
        select GPIOLIB
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
-       select HAVE_PATA_PLATFORM
        select CLK_ICST
        select NO_IOPORT_MAP
        select PLAT_VERSATILE
index 571cc23..a4eafb9 100644 (file)
@@ -194,7 +194,6 @@ config ARM64
        select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KVM
        select HAVE_NMI
-       select HAVE_PATA_PLATFORM
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
index 1c9f4fb..c93d974 100644 (file)
@@ -1102,8 +1102,7 @@ config PATA_PCMCIA
          If unsure, say N.
 
 config PATA_PLATFORM
-       tristate "Generic platform device PATA support"
-       depends on EXPERT || PPC || HAVE_PATA_PLATFORM
+       tristate "Generic platform device PATA support" if EXPERT || HAVE_PATA_PLATFORM
        help
          This option enables support for generic directly connected ATA
          devices commonly found on embedded systems.
@@ -1112,7 +1111,8 @@ config PATA_PLATFORM
 
 config PATA_OF_PLATFORM
        tristate "OpenFirmware platform device PATA support"
-       depends on PATA_PLATFORM && OF
+       depends on OF
+       select PATA_PLATFORM
        help
          This option enables support for generic directly connected ATA
          devices commonly found on embedded systems with OpenFirmware