diff mbox series

[1/2] powerpc: Add generic PAGE_SIZE config symbols

Message ID 20220505125123.2088143-1-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show
Series [1/2] powerpc: Add generic PAGE_SIZE config symbols | expand

Commit Message

Michael Ellerman May 5, 2022, 12:51 p.m. UTC
Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
related config symbols.

Add matching symbols for powerpc, which are enabled by default but
depend on our architecture specific PAGE_SIZE symbols.

This allows generic/driver code to express dependencies on the PAGE_SIZE
without needing to refer to architecture specific config symbols.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/Kconfig | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

Christophe Leroy May 18, 2022, 9:41 a.m. UTC | #1
Le 05/05/2022 à 14:51, Michael Ellerman a écrit :
> Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
> related config symbols.
> 
> Add matching symbols for powerpc, which are enabled by default but
> depend on our architecture specific PAGE_SIZE symbols.
> 
> This allows generic/driver code to express dependencies on the PAGE_SIZE
> without needing to refer to architecture specific config symbols.

I guess next step should be to get rid of powerpc specific symbols and 
use generic symbols instead.

We have (only) 111 occurences of it.


> 
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> ---
>   arch/powerpc/Kconfig | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 145af02df3dc..02994361cc7a 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -759,6 +759,22 @@ config PPC_256K_PAGES
>   
>   endchoice
>   
> +config PAGE_SIZE_4KB
> +	def_bool y
> +	depends on PPC_4K_PAGES
> +
> +config PAGE_SIZE_16KB
> +	def_bool y
> +	depends on PPC_16K_PAGES
> +
> +config PAGE_SIZE_64KB
> +	def_bool y
> +	depends on PPC_64K_PAGES
> +
> +config PAGE_SIZE_256KB
> +	def_bool y
> +	depends on PPC_256K_PAGES
> +
>   config PPC_PAGE_SHIFT
>   	int
>   	default 18 if PPC_256K_PAGES
Michael Ellerman May 18, 2022, 1 p.m. UTC | #2
Christophe Leroy <christophe.leroy@csgroup.eu> writes:
> Le 05/05/2022 à 14:51, Michael Ellerman a écrit :
>> Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
>> related config symbols.
>> 
>> Add matching symbols for powerpc, which are enabled by default but
>> depend on our architecture specific PAGE_SIZE symbols.
>> 
>> This allows generic/driver code to express dependencies on the PAGE_SIZE
>> without needing to refer to architecture specific config symbols.
>
> I guess next step should be to get rid of powerpc specific symbols and 
> use generic symbols instead.
>
> We have (only) 111 occurences of it.

I thought about doing that, but it's quite a bit of churn. Maybe it's
worth it though to avoid confusion between the two symbols.

There's probably some that could be converted to IS_ENABLED() at the
same time, especially in hash_utils.c.

cheers
Arnd Bergmann May 18, 2022, 1:21 p.m. UTC | #3
On Wed, May 18, 2022 at 2:00 PM Michael Ellerman <mpe@ellerman.id.au> wrote:
>
> Christophe Leroy <christophe.leroy@csgroup.eu> writes:
> > Le 05/05/2022 à 14:51, Michael Ellerman a écrit :
> >> Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
> >> related config symbols.
> >>
> >> Add matching symbols for powerpc, which are enabled by default but
> >> depend on our architecture specific PAGE_SIZE symbols.
> >>
> >> This allows generic/driver code to express dependencies on the PAGE_SIZE
> >> without needing to refer to architecture specific config symbols.
> >
> > I guess next step should be to get rid of powerpc specific symbols and
> > use generic symbols instead.
> >
> > We have (only) 111 occurences of it.
>
> I thought about doing that, but it's quite a bit of churn. Maybe it's
> worth it though to avoid confusion between the two symbols.

I have actually done this at some point, but for some reason never sent it out,
see my old patch at:

https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?h=randconfig-5.15-next&id=184c7273ee367fda3626e35f0079f181075690c8

Feel free to take ideas or the entire patch from that.

      Arnd
Christophe Leroy May 18, 2022, 1:27 p.m. UTC | #4
Le 18/05/2022 à 15:21, Arnd Bergmann a écrit :
> On Wed, May 18, 2022 at 2:00 PM Michael Ellerman <mpe@ellerman.id.au> wrote:
>>
>> Christophe Leroy <christophe.leroy@csgroup.eu> writes:
>>> Le 05/05/2022 à 14:51, Michael Ellerman a écrit :
>>>> Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
>>>> related config symbols.
>>>>
>>>> Add matching symbols for powerpc, which are enabled by default but
>>>> depend on our architecture specific PAGE_SIZE symbols.
>>>>
>>>> This allows generic/driver code to express dependencies on the PAGE_SIZE
>>>> without needing to refer to architecture specific config symbols.
>>>
>>> I guess next step should be to get rid of powerpc specific symbols and
>>> use generic symbols instead.
>>>
>>> We have (only) 111 occurences of it.
>>
>> I thought about doing that, but it's quite a bit of churn. Maybe it's
>> worth it though to avoid confusion between the two symbols.
> 
> I have actually done this at some point, but for some reason never sent it out,
> see my old patch at:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?h=randconfig-5.15-next&id=184c7273ee367fda3626e35f0079f181075690c8
> 
> Feel free to take ideas or the entire patch from that.
> 


Well, at this point I was just talking about renaming the 
CONFIG_PPC_xxK_PAGES symbols to the generic naming while still keeping 
them in powerpc Kconfig.

You are going one step further by making it a generic arch symbol, 
that's also a good idea and can be done more or less independantly.

Christophe
Michael Ellerman May 24, 2022, 11:09 a.m. UTC | #5
On Thu, 5 May 2022 22:51:22 +1000, Michael Ellerman wrote:
> Other arches (sh, mips, hexagon) use standard names for PAGE_SIZE
> related config symbols.
> 
> Add matching symbols for powerpc, which are enabled by default but
> depend on our architecture specific PAGE_SIZE symbols.
> 
> This allows generic/driver code to express dependencies on the PAGE_SIZE
> without needing to refer to architecture specific config symbols.
> 
> [...]

Applied to powerpc/next.

[1/2] powerpc: Add generic PAGE_SIZE config symbols
      https://git.kernel.org/powerpc/c/d036dc79cccd748e2a101c80c31efada7be8bb7c
[2/2] arch/Kconfig: Drop references to powerpc PAGE_SIZE symbols
      https://git.kernel.org/powerpc/c/aa06530a535ffe8ba8b68054003b6fb262a8ec6f

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 145af02df3dc..02994361cc7a 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -759,6 +759,22 @@  config PPC_256K_PAGES
 
 endchoice
 
+config PAGE_SIZE_4KB
+	def_bool y
+	depends on PPC_4K_PAGES
+
+config PAGE_SIZE_16KB
+	def_bool y
+	depends on PPC_16K_PAGES
+
+config PAGE_SIZE_64KB
+	def_bool y
+	depends on PPC_64K_PAGES
+
+config PAGE_SIZE_256KB
+	def_bool y
+	depends on PPC_256K_PAGES
+
 config PPC_PAGE_SHIFT
 	int
 	default 18 if PPC_256K_PAGES