[PATCH v3 1/3] Convert CONFIG_SYS_L2_PL310 to Kconfig

Marek Behún kabel at kernel.org
Tue Aug 9 15:16:35 CEST 2022


On Tue, 9 Aug 2022 13:38:32 +0200
Marek Vasut <marex at denx.de> wrote:

> On 8/9/22 13:32, Pali Rohár wrote:
> > On Tuesday 09 August 2022 13:27:38 Marek Vasut wrote:  
> >> On 8/9/22 13:21, Pali Rohár wrote:
> >>
> >> (reducing the CC list)
> >>  
> >>> On Tuesday 09 August 2022 13:16:41 Marek Vasut wrote:  
> >>>> On 8/9/22 12:58, Pali Rohár wrote:  
> >>>>> On Tuesday 09 August 2022 12:07:00 Philip Oberfichtner wrote:  
> >>>>>> This converts CONFIG_SYS_L2_PL310 to Kconfig.  
> >>>>> ...  
> >>>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> >>>>>> index 949ebb46ba..dde06bdd96 100644
> >>>>>> --- a/arch/arm/Kconfig
> >>>>>> +++ b/arch/arm/Kconfig
> >>>>>> @@ -488,6 +488,10 @@ config TPL_SYS_THUMB_BUILD
> >>>>>>     	   density. For ARM architectures that support Thumb2 this flag will
> >>>>>>     	   result in Thumb2 code generated by GCC.
> >>>>>> +config SYS_L2_PL310
> >>>>>> +	bool "ARM PL310 L2 cache controller"
> >>>>>> +	help
> >>>>>> +	  Enable support for ARM PL310 L2 cache controller in U-Boot
> >>>>>>     config SYS_L2CACHE_OFF
> >>>>>>     	bool "L2cache off"
> >>>>>> diff --git a/arch/arm/mach-mvebu/include/mach/config.h b/arch/arm/mach-mvebu/include/mach/config.h
> >>>>>> index 4add0d9e10..0bba0a4cf9 100644
> >>>>>> --- a/arch/arm/mach-mvebu/include/mach/config.h
> >>>>>> +++ b/arch/arm/mach-mvebu/include/mach/config.h
> >>>>>> @@ -25,8 +25,6 @@
> >>>>>>     #define MV88F78X60 /* for the DDR training bin_hdr code */
> >>>>>>     #endif
> >>>>>> -#define CONFIG_SYS_L2_PL310
> >>>>>> -
> >>>>>>     #define MV_UART_CONSOLE_BASE		MVEBU_UART0_BASE
> >>>>>>     /* Needed for SPI NOR booting in SPL */  
> >>>>>
> >>>>> This option is required for mvebu SoC and is not user (de)-selectable.
> >>>>> So please do not define it in each individual mvebu board. It would make
> >>>>> it harder to introduce a new mvebu board into U-Boot. Instead enable it
> >>>>> for mvebu SoCs like it was before this change. It can be done e.g. by
> >>>>> "select" Kconfig keyword in mvebu Kconfig file.  
> >>>>
> >>>> Should it rather be 'default y if MVEBU' in that new PL310 Kconfig option ?  
> >>>
> >>> No, because this is just default value of this option and still allows
> >>> end-user to de-select this option.
> >>>
> >>> "select" is IIRC the only way how to force Kconfig to always enable some
> >>> symbol without any option for end-user to disable it.
> >>>
> >>> At least I do not know a way how CONFIG_SYS_L2_PL310 symbol could decide
> >>> that it is required for CONFIG_MVEBU. Just symbol CONFIG_MVEBU can
> >>> decide that it requires CONFIG_SYS_L2_PL310 symbol (and not in opposite
> >>> direction).  
> >>
> >> So why should the user be unable to deselect L2CC support on MVEBU ?
> >> I can very well disable L2CC support on MX6 and the platform works without
> >> it just fine. Maybe the MVEBU needs to be fixed to support the same instead
> >> ?  
> > 
> > Well, I'm not sure, currently it is non-deselectable option. Maybe it is
> > a bug... but at least change which is doing kconfig conversion should
> > not change behavior.  
> 
> I agree -- I think your proposal to make this non-user-configurable is 
> changing the behavior, see:
> 
> Before -- you could comment the entry in include/configs/board.h out to 
> deselect an option.
> After -- you can flip Kconfig switch to deselect an option.

I don't think we should consider changing sources as something that
end-user should be expected to do if they want to enable/disable
something.

Marek


More information about the U-Boot mailing list