Re: [PATCH] pinctrl: sunxi: Allow to disable pinctrl drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 18, 2019 at 6:27 PM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote:
>
> Our pinctrl drivers are consisting of some common code, and big pin tables
> that are SoC-specific. This is fine in most cases, but when you want to
> reduce the size of the particular kernel image, those big tables are, well,
> quite big.
>
> We haven't had the option to disable them in the past since they were
> hidden Kconfig options based on the SoC support. However, that granularity
> isn't great since we don't have one Kconfig option per-SoC, but rather one
> by family.
>
> Make those options selectable by the user so that they can disable it if
> needed, while keeping the current default to not change the standard case.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx>
> ---
>  drivers/pinctrl/sunxi/Kconfig | 57 +++++++++++++++++++++++------------
>  1 file changed, 38 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
> index a731fc966b63..68df7aa56478 100644
> --- a/drivers/pinctrl/sunxi/Kconfig
> +++ b/drivers/pinctrl/sunxi/Kconfig
> @@ -11,82 +11,101 @@ config PINCTRL_SUNIV_F1C100S
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN4I_A10
> -       def_bool MACH_SUN4I || MACH_SUN7I || MACH_SUN8I
> +       bool "Support for the Allwinner A10 PIO"

It would be nice to also list the other SoCs that share the driver.
In this case, the A20 and R40.

> +       default MACH_SUN4I || MACH_SUN7I || MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN5I
> -       def_bool MACH_SUN5I
> +       bool "Support for the Allwinner sun5i family PIO"
> +       default MACH_SUN5I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN6I_A31
> -       def_bool MACH_SUN6I
> +       bool "Support for the Allwinner A31 PIO"
> +       default MACH_SUN6I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN6I_A31_R
> -       def_bool MACH_SUN6I
> +       bool "Support for the Allwinner A31 R-PIO"
> +       default MACH_SUN6I
>         depends on RESET_CONTROLLER
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_A23
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner A23 PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_A33
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner A33 PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_A83T
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner A83T PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_A83T_R
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner A83T R-PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_A23_R
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner A23 R-PIO"

And the A33.

> +       default MACH_SUN8I
>         depends on RESET_CONTROLLER
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_H3
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner H3 PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_H3_R
> -       def_bool MACH_SUN8I || (ARM64 && ARCH_SUNXI)
> +       bool "Support for the Allwinner H3 R-PIO"

And the H5.

Otherwise,

Acked-by: Chen-Yu Tsai <wens@xxxxxxxx>

> +       default MACH_SUN8I || (ARM64 && ARCH_SUNXI)
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN8I_V3S
> -       def_bool MACH_SUN8I
> +       bool "Support for the Allwinner V3s PIO"
> +       default MACH_SUN8I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN9I_A80
> -       def_bool MACH_SUN9I
> +       bool "Support for the Allwinner A80 PIO"
> +       default MACH_SUN9I
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN9I_A80_R
> -       def_bool MACH_SUN9I
> +       bool "Support for the Allwinner A80 R-PIO"
> +       default MACH_SUN9I
>         depends on RESET_CONTROLLER
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN50I_A64
> -       def_bool ARM64 && ARCH_SUNXI
> +       bool "Support for the Allwinner A64 PIO"
> +       default ARM64 && ARCH_SUNXI
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN50I_A64_R
> -       def_bool ARM64 && ARCH_SUNXI
> +       bool "Support for the Allwinner A64 R-PIO"
> +       default ARM64 && ARCH_SUNXI
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN50I_H5
> -       def_bool ARM64 && ARCH_SUNXI
> +       bool "Support for the Allwinner H5 PIO"
> +       default ARM64 && ARCH_SUNXI
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN50I_H6
> -       def_bool ARM64 && ARCH_SUNXI
> +       bool "Support for the Allwinner H6 PIO"
> +       default ARM64 && ARCH_SUNXI
>         select PINCTRL_SUNXI
>
>  config PINCTRL_SUN50I_H6_R
> -       def_bool ARM64 && ARCH_SUNXI
> +       bool "Support for the Allwinner H6 R-PIO"
> +       default ARM64 && ARCH_SUNXI
>         select PINCTRL_SUNXI
>
>  endif
> --
> 2.20.1
>



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux