[linux-sunxi] [PATCH 1/5] pinctrl: sunxi: refactor pinctrl choice selecting for ARM64

Icenowy Zheng icenowy at aosc.xyz
Tue Feb 28 10:55:21 PST 2017



01.03.2017, 02:15, "Andre Przywara" <andre.przywara at arm.com>:
> Hi Icenowy,
>
> (first thing: could you create your series with --cover-letter and fill
> this in? There you could explain what this series is about and also
> state things like dependencies from other patches and the commit that
> you based that on.)
>
> On 28/02/17 17:24, Icenowy Zheng wrote:
>>  ARM64 Allwinner SoCs used to have every pinctrl driver selected in
>>  ARCH_SUNXI. Change this to make their default value to (ARM64 &&
>>  ARCH_SUNXI).
>>
>>  Signed-off-by: Icenowy Zheng <icenowy at aosc.xyz>
>
> Overall this is a nice solution. Thanks for posting this.
>
>>  ---
>>   drivers/pinctrl/sunxi/Kconfig | 9 +++++----
>>   1 file changed, 5 insertions(+), 4 deletions(-)
>>
>>  diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
>>  index 816015cf7053..92325736d953 100644
>>  --- a/drivers/pinctrl/sunxi/Kconfig
>>  +++ b/drivers/pinctrl/sunxi/Kconfig
>>  @@ -48,8 +48,9 @@ config PINCTRL_SUN8I_H3
>>           select PINCTRL_SUNXI
>>
>>   config PINCTRL_SUN8I_H3_R
>>  - def_bool MACH_SUN8I
>>  - select PINCTRL_SUNXI_COMMON
>>  + def_bool MACH_SUN8I || (ARM64 && ARCH_SUNXI)
>>  + depends on RESET_CONTROLLER
>
> So this looks a bit odd. I take it this is for the extra reset register
> in the PRCM block.
> 1) I don't think this belongs into this patch. If this has been
> forgotten in the past, please make an extra patch for this. It's cheap
> to do so ;-)
> 2) Is this really a "depends on"? Shouldn't this be a select? With
> sunxi_ng clocks we don't need the reset controller for the normal
> peripherals anymore, so this option might not be selected by default in
> the future. And having this "depends on" leads to the PINCTRL_ option
> being hidden if RESET_CONTROLLER isn't selected.
> I think this bites us already in arm64, where ARCH_HAS_RESET_CONTROLLER
> is not enabled for ARCH_SUNXI.

PINCTRL_ options are always hidden now, Maxime, do you
want to change that?

We should enable ARCH_HAS_RESET_CONTROLLER for
ARCH_SUNXI, as sunxi-ng ccu is a reset controller.

Without RESET_CONTROLLER enabled, errors will occur
when linking:
```
drivers/built-in.o: In function `sunxi_ccu_probe':
of_reserved_mem.c:(.text+0x16058): undefined reference to `reset_controller_register'
```

If you don't care, I will make it an additional patch.

And there's really a reset line for the R_PIO pinctrls.

But you're right, this line shouldn't occur in this patch.
I will make a more patch for it.

>
> But as the rest of the patch is fine, if you remove this line:
> Reviewed-by: Andre Przywara <andre.przywara at arm.com>
>
> Cheers,
> Andre.
>
>>  + select PINCTRL_SUNXI
>>
>>   config PINCTRL_SUN8I_V3S
>>           def_bool MACH_SUN8I
>>  @@ -65,11 +66,11 @@ config PINCTRL_SUN9I_A80_R
>>           select PINCTRL_SUNXI
>>
>>   config PINCTRL_SUN50I_A64
>>  - bool
>>  + def_bool ARM64 && ARCH_SUNXI
>>           select PINCTRL_SUNXI
>>
>>   config PINCTRL_SUN50I_H5
>>  - bool
>>  + def_bool ARM64 && ARCH_SUNXI
>>           select PINCTRL_SUNXI
>>
>>   endif



More information about the linux-arm-kernel mailing list