Message ID | 20220909090343.21886-1-lukas.bulwahn@gmail.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | [v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/github-powerpc_ppctests | success | Successfully ran 10 jobs. |
snowpatch_ozlabs/github-powerpc_selftests | success | Successfully ran 10 jobs. |
snowpatch_ozlabs/github-powerpc_clang | success | Successfully ran 6 jobs. |
snowpatch_ozlabs/github-powerpc_sparse | success | Successfully ran 4 jobs. |
snowpatch_ozlabs/github-powerpc_kernel_qemu | success | Successfully ran 23 jobs. |
On Fri, Sep 9, 2022, at 11:03 AM, Lukas Bulwahn wrote: > Commit cc18e0fea790 ("LIBATA: Add HAVE_PATA_PLATFORM to select > PATA_PLATFORM driver") introduces config HAVE_PATA_PLATFORM, and expects > that all architectures simply select this config when the architecture > supports using the PATA_PLATFORM driver. > > This is properly implemented already for all architectures except for the > powerpc architecture. Implement this for powerpc now. > > Adjust the config of the powerpc architecture to use the config > HAVE_PATA_PLATFORM and simplify the config PATA_PLATFORM to not mention > any specific architecture anymore. > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > --- > arch/powerpc/Kconfig | 1 + > drivers/ata/Kconfig | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 39d71d7701bd..2575e21b6e6b 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -237,6 +237,7 @@ config PPC > select HAVE_MOD_ARCH_SPECIFIC > select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) > select HAVE_OPTPROBES > + select HAVE_PATA_PLATFORM > select HAVE_PERF_EVENTS > select HAVE_PERF_EVENTS_NMI if PPC64 > select HAVE_PERF_REGS I don't see a single powerpc machine that creates a name="pata_platform" platform_device. I suspect this was only needed bwfore 2007 commit 9cd55be4d223 ("[POWERPC] pasemi: Move electra-ide to pata_of_platform"), so the "|| PPC" bit should just get removed without adding the HAVE_PATA_PLATFORM bit. Arnd
On Fri, Sep 9, 2022 at 1:09 PM Arnd Bergmann <arnd@arndb.de> wrote: > > On Fri, Sep 9, 2022, at 11:03 AM, Lukas Bulwahn wrote: > > Commit cc18e0fea790 ("LIBATA: Add HAVE_PATA_PLATFORM to select > > PATA_PLATFORM driver") introduces config HAVE_PATA_PLATFORM, and expects > > that all architectures simply select this config when the architecture > > supports using the PATA_PLATFORM driver. > > > > This is properly implemented already for all architectures except for the > > powerpc architecture. Implement this for powerpc now. > > > > Adjust the config of the powerpc architecture to use the config > > HAVE_PATA_PLATFORM and simplify the config PATA_PLATFORM to not mention > > any specific architecture anymore. > > > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > > --- > > arch/powerpc/Kconfig | 1 + > > drivers/ata/Kconfig | 2 +- > > 2 files changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > index 39d71d7701bd..2575e21b6e6b 100644 > > --- a/arch/powerpc/Kconfig > > +++ b/arch/powerpc/Kconfig > > @@ -237,6 +237,7 @@ config PPC > > select HAVE_MOD_ARCH_SPECIFIC > > select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) > > select HAVE_OPTPROBES > > + select HAVE_PATA_PLATFORM > > select HAVE_PERF_EVENTS > > select HAVE_PERF_EVENTS_NMI if PPC64 > > select HAVE_PERF_REGS > > I don't see a single powerpc machine that creates a > name="pata_platform" platform_device. I suspect this was > only needed bwfore 2007 commit 9cd55be4d223 ("[POWERPC] pasemi: > Move electra-ide to pata_of_platform"), so the "|| PPC" > bit should just get removed without adding the HAVE_PATA_PLATFORM > bit. > Thanks for your investigation. I will send a corresponding patch v3. Lukas
Le 09/09/2022 à 13:09, Arnd Bergmann a écrit : > On Fri, Sep 9, 2022, at 11:03 AM, Lukas Bulwahn wrote: >> Commit cc18e0fea790 ("LIBATA: Add HAVE_PATA_PLATFORM to select >> PATA_PLATFORM driver") introduces config HAVE_PATA_PLATFORM, and expects >> that all architectures simply select this config when the architecture >> supports using the PATA_PLATFORM driver. >> >> This is properly implemented already for all architectures except for the >> powerpc architecture. Implement this for powerpc now. >> >> Adjust the config of the powerpc architecture to use the config >> HAVE_PATA_PLATFORM and simplify the config PATA_PLATFORM to not mention >> any specific architecture anymore. >> >> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> >> --- >> arch/powerpc/Kconfig | 1 + >> drivers/ata/Kconfig | 2 +- >> 2 files changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig >> index 39d71d7701bd..2575e21b6e6b 100644 >> --- a/arch/powerpc/Kconfig >> +++ b/arch/powerpc/Kconfig >> @@ -237,6 +237,7 @@ config PPC >> select HAVE_MOD_ARCH_SPECIFIC >> select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) >> select HAVE_OPTPROBES >> + select HAVE_PATA_PLATFORM >> select HAVE_PERF_EVENTS >> select HAVE_PERF_EVENTS_NMI if PPC64 >> select HAVE_PERF_REGS > > I don't see a single powerpc machine that creates a > name="pata_platform" platform_device. I suspect this was > only needed bwfore 2007 commit 9cd55be4d223 ("[POWERPC] pasemi: > Move electra-ide to pata_of_platform"), so the "|| PPC" > bit should just get removed without adding the HAVE_PATA_PLATFORM > bit. But that was added in 2008 by commit 61f7162117d4 ("libata: pata_of_platform: OF-Platform PATA device driver")
On Fri, Sep 9, 2022, at 1:19 PM, Christophe Leroy wrote: > Le 09/09/2022 à 13:09, Arnd Bergmann a écrit : >> On Fri, Sep 9, 2022, at 11:03 AM, Lukas Bulwahn wrote: >> >> I don't see a single powerpc machine that creates a >> name="pata_platform" platform_device. I suspect this was >> only needed bwfore 2007 commit 9cd55be4d223 ("[POWERPC] pasemi: >> Move electra-ide to pata_of_platform"), so the "|| PPC" >> bit should just get removed without adding the HAVE_PATA_PLATFORM >> bit. > > But that was added in 2008 by commit 61f7162117d4 ("libata: > pata_of_platform: OF-Platform PATA device driver") Ah, I see. In that case, I think we should probably just always allow PATA_OF_PLATFORM to be enabled regardless of HAVE_PATA_PLATFORM, something like diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 1c9f4fb2595d..c93d97455744 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -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 and then also drop the "select HAVE_PATA_PLATFORM" from arm64 and arm/versatile. Or we can go one step further, and either split out the 'pata_platform_driver' into a separate file from '__pata_platform_probe', or merge pata_of_platform.c back into pata_platform.c. Arnd
On 2022/09/09 20:31, Arnd Bergmann wrote: > On Fri, Sep 9, 2022, at 1:19 PM, Christophe Leroy wrote: >> Le 09/09/2022 à 13:09, Arnd Bergmann a écrit : >>> On Fri, Sep 9, 2022, at 11:03 AM, Lukas Bulwahn wrote: >>> >>> I don't see a single powerpc machine that creates a >>> name="pata_platform" platform_device. I suspect this was >>> only needed bwfore 2007 commit 9cd55be4d223 ("[POWERPC] pasemi: >>> Move electra-ide to pata_of_platform"), so the "|| PPC" >>> bit should just get removed without adding the HAVE_PATA_PLATFORM >>> bit. >> >> But that was added in 2008 by commit 61f7162117d4 ("libata: >> pata_of_platform: OF-Platform PATA device driver") > > Ah, I see. In that case, I think we should probably just always > allow PATA_OF_PLATFORM to be enabled regardless of > HAVE_PATA_PLATFORM, something like > > diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig > index 1c9f4fb2595d..c93d97455744 100644 > --- a/drivers/ata/Kconfig > +++ b/drivers/ata/Kconfig > @@ -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 Shouldn't this be: tristate "Generic platform device PATA support" if EXPERT || PPC ? And while at it, it would be nice to add "|| COMPILE_TEST" too. > 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 > > and then also drop the "select HAVE_PATA_PLATFORM" from > arm64 and arm/versatile. > > Or we can go one step further, and either split out the > 'pata_platform_driver' into a separate file from > '__pata_platform_probe', or merge pata_of_platform.c > back into pata_platform.c. > > Arnd
On Sun, Sep 11, 2022, at 1:54 PM, Damien Le Moal wrote: > On 2022/09/09 20:31, Arnd Bergmann wrote: >> >> 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 > > Shouldn't this be: > > tristate "Generic platform device PATA support" if EXPERT || PPC > > ? > > And while at it, it would be nice to add "|| COMPILE_TEST" too. The idea was that this can be selected by CONFIG_PATA_OF_PLATFORM in any configuration that has CONFIG_OF enabled. Since PPC has CONFIG_OF enabled unconditionally, there is no need to make this option visible separately. Same for compile-testing: since CONFIG_OF can be enabled on any architecture, PATA_OF_PLATFORM is already covered by allmodconfig builds anywhere. The separate HAVE_PATA_PLATFORM is only needed for machines that want the non-OF pata-platform module (sh, m68k-mac, mips-sibyte arm-s3c-simtec). Arnd
On 2022/09/11 21:41, Arnd Bergmann wrote: > On Sun, Sep 11, 2022, at 1:54 PM, Damien Le Moal wrote: >> On 2022/09/09 20:31, Arnd Bergmann wrote: >>> >>> 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 >> >> Shouldn't this be: >> >> tristate "Generic platform device PATA support" if EXPERT || PPC >> >> ? >> >> And while at it, it would be nice to add "|| COMPILE_TEST" too. > > The idea was that this can be selected by CONFIG_PATA_OF_PLATFORM > in any configuration that has CONFIG_OF enabled. Since PPC > has CONFIG_OF enabled unconditionally, there is no need to > make this option visible separately. > > Same for compile-testing: since CONFIG_OF can be enabled on > any architecture, PATA_OF_PLATFORM is already covered by > allmodconfig builds anywhere. The separate HAVE_PATA_PLATFORM > is only needed for machines that want the non-OF pata-platform > module (sh, m68k-mac, mips-sibyte arm-s3c-simtec). Got it. Thanks for the details. > > Arnd
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 39d71d7701bd..2575e21b6e6b 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -237,6 +237,7 @@ config PPC select HAVE_MOD_ARCH_SPECIFIC select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) select HAVE_OPTPROBES + select HAVE_PATA_PLATFORM select HAVE_PERF_EVENTS select HAVE_PERF_EVENTS_NMI if PPC64 select HAVE_PERF_REGS diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 1c9f4fb2595d..ed3547165528 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -1103,7 +1103,7 @@ config PATA_PCMCIA config PATA_PLATFORM tristate "Generic platform device PATA support" - depends on EXPERT || PPC || HAVE_PATA_PLATFORM + depends on EXPERT || HAVE_PATA_PLATFORM help This option enables support for generic directly connected ATA devices commonly found on embedded systems.
Commit cc18e0fea790 ("LIBATA: Add HAVE_PATA_PLATFORM to select PATA_PLATFORM driver") introduces config HAVE_PATA_PLATFORM, and expects that all architectures simply select this config when the architecture supports using the PATA_PLATFORM driver. This is properly implemented already for all architectures except for the powerpc architecture. Implement this for powerpc now. Adjust the config of the powerpc architecture to use the config HAVE_PATA_PLATFORM and simplify the config PATA_PLATFORM to not mention any specific architecture anymore. Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> --- arch/powerpc/Kconfig | 1 + drivers/ata/Kconfig | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)