Commit 540d9757 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven
Browse files

pinctrl: renesas: Reintroduce SH_PFC for common sh-pfc code



Most, but not all, Renesas pin control drivers use the "sh-pfc" pin
control framework.  As of commit 8449bfa9e6a9f7ec ("pinctrl: sh-pfc:
Collect Renesas related CONFIGs in one place"), the code for this
framework is always built when Renesas SoC pin control support is
enabled, regardless of whether the enabled pin control drivers need it
or not.

Fix this by reintroducing the CONFIG_SH_PFC symbol to control inclusion
of the "sh-pfc" framework and its dependencies, and selecting it when
needed.

This reduces kernel size of a typical RZ/A1 or RZ/A2 kernel by more than
6 resp. 11 KiB.

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20200909131534.12897-4-geert+renesas@glider.be
parent 077365a9
Loading
Loading
Loading
Loading
+41 −9
Original line number Diff line number Diff line
@@ -8,9 +8,6 @@ menu "Renesas pinctrl drivers"
config PINCTRL_RENESAS
	bool "Renesas SoC pin control support" if COMPILE_TEST && !(ARCH_RENESAS || SUPERH)
	default y if ARCH_RENESAS || SUPERH
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select PINCTRL_PFC_EMEV2 if ARCH_EMEV2
	select PINCTRL_PFC_R8A73A4 if ARCH_R8A73A4
	select PINCTRL_PFC_R8A7740 if ARCH_R8A7740
@@ -55,68 +52,95 @@ config PINCTRL_RENESAS
	help
	  This enables pin control drivers for Renesas SuperH and ARM platforms

config PINCTRL_SH_PFC
	bool
	select GENERIC_PINCONF
	select PINMUX
	select PINCONF
	help
	  This enables common pin control functionality for EMMA Mobile, R-Car,
	  R-Mobile, RZ/G, SH, and SH-Mobile platforms.

config PINCTRL_SH_PFC_GPIO
	select GPIOLIB
	bool
	select GPIOLIB
	select PINCTRL_SH_PFC
	help
	  This enables pin control and GPIO drivers for SH/SH Mobile platforms

config PINCTRL_SH_FUNC_GPIO
	select PINCTRL_SH_PFC_GPIO
	bool
	select PINCTRL_SH_PFC_GPIO
	help
	  This enables legacy function GPIOs for SH platforms

config PINCTRL_PFC_EMEV2
	bool "pin control support for Emma Mobile EV2" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77995
	bool "pin control support for R-Car D3" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7794
	bool "pin control support for R-Car E2" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77990
	bool "pin control support for R-Car E3" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7779
	bool "pin control support for R-Car H1" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7790
	bool "pin control support for R-Car H2" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77950
	bool "pin control support for R-Car H3 ES1.x" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77951
	bool "pin control support for R-Car H3 ES2.0+" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7778
	bool "pin control support for R-Car M1A" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7793
	bool "pin control support for R-Car M2-N" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7791
	bool "pin control support for R-Car M2-W" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77965
	bool "pin control support for R-Car M3-N" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77960
	bool "pin control support for R-Car M3-W" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77961
	bool "pin control support for R-Car M3-W+" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7792
	bool "pin control support for R-Car V2H" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77980
	bool "pin control support for R-Car V3H" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A77970
	bool "pin control support for R-Car V3M" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7740
	bool "pin control support for R-Mobile A1" if COMPILE_TEST
@@ -130,10 +154,10 @@ config PINCTRL_RZA1
	bool "pin control support for RZ/A1"
	depends on OF
	depends on ARCH_R7S72100 || COMPILE_TEST
	select GPIOLIB
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	select GPIOLIB
	help
	  This selects pinctrl driver for Renesas RZ/A1 platforms.

@@ -141,39 +165,47 @@ config PINCTRL_RZA2
	bool "pin control support for RZ/A2"
	depends on OF
	depends on ARCH_R7S9210 || COMPILE_TEST
	select GPIOLIB
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	select GPIOLIB
	help
	  This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms.

config PINCTRL_PFC_R8A77470
	bool "pin control support for RZ/G1C" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7745
	bool "pin control support for RZ/G1E" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7742
	bool "pin control support for RZ/G1H" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7743
	bool "pin control support for RZ/G1M" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A7744
	bool "pin control support for RZ/G1N" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A774C0
	bool "pin control support for RZ/G2E" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A774E1
	bool "pin control support for RZ/G2H" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A774A1
	bool "pin control support for RZ/G2M" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_PFC_R8A774B1
	bool "pin control support for RZ/G2N" if COMPILE_TEST
	select PINCTRL_SH_PFC

config PINCTRL_RZN1
	bool "pin control support for RZ/N1"
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_PINCTRL_RENESAS)		+= core.o pinctrl.o
obj-$(CONFIG_PINCTRL_SH_PFC)		+= core.o pinctrl.o
obj-$(CONFIG_PINCTRL_SH_PFC_GPIO)	+= gpio.o
obj-$(CONFIG_PINCTRL_PFC_EMEV2)		+= pfc-emev2.o
obj-$(CONFIG_PINCTRL_PFC_R8A73A4)	+= pfc-r8a73a4.o