2022-09-09 09:47:53

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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


2022-09-09 11:14:47

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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

2022-09-09 11:39:01

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

On Fri, Sep 9, 2022 at 1:09 PM Arnd Bergmann <[email protected]> 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 <[email protected]>
> > ---
> > 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

2022-09-09 11:48:42

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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

2022-09-09 12:02:22

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency



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

2022-09-11 12:44:14

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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

--
Damien Le Moal
Western Digital Research

2022-09-11 12:46:42

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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

2022-09-11 14:34:31

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] powerpc: select HAVE_PATA_PLATFORM in PPC instead of creating a PPC dependency

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

--
Damien Le Moal
Western Digital Research