diff options
author | Magnus Damm <damm+renesas@opensource.se> | 2016-02-17 17:15:49 +0900 |
---|---|---|
committer | Geert Uytterhoeven <geert+renesas@glider.be> | 2016-02-18 09:30:58 +0100 |
commit | abc60d483788c0b9363371764c9cb35ee9c6781d (patch) | |
tree | 060a6d7c9c2fce7ba6ccc29721970d910dcf35f4 /drivers/pinctrl/sh-pfc/core.c | |
parent | 4ca88cf661df1c1e793e707cdbbcdf72b2fad2c1 (diff) | |
download | linux-abc60d483788c0b9363371764c9cb35ee9c6781d.tar.bz2 |
pinctrl: sh-pfc: Rework PFC GPIO support
The sh-pfc pinctrl driver is currently handling SoC-specific
PFC hardware blocks on ARM64, ARM and SH architectures.
For older SoCs using SH cores and some 32-bit ARM SoCs the PFC
hardware also provides GPIO functionality. On the majority of
32-bit ARM SoCs from Renesas and so far all ARM64 SoCs the GPIO
feature is provided by separate hardware blocks.
So far GPIO support in the PFC driver has been compiled-in for
the majority of the SoCs, but with this patch applied the SoCs
with PFC support may select from one of the following:
- CONFIG_PINCTRL_SH_PFC - Used if PFC lacks GPIO hardware
- CONFIG_PINCTRL_SH_PFC_GPIO - Used if PFC includes GPIO support
This patch results in the following changes:
- The GPIO functionality is only compiled-in on relevant SoCs
- The number of lines of code is reduced
Build tested using the following configurations:
- r8a7795 -> CONFIG_PINCTRL_SH_PFC_GPIO=n -> OK (ARM64)
- r8a7790 -> CONFIG_PINCTRL_SH_PFC_GPIO=n -> OK (ARM)
- r8a7790 + r8a7740 -> CONFIG_PINCTRL_SH_PFC_GPIO=y -> OK (ARM)
- r8a7740 -> CONFIG_PINCTRL_SH_PFC_GPIO=y -> OK (ARM)
- sh7751 -> CONFIG_PINCTRL_SH_PFC=n -> OK (SH rts7751r2d1)
- sh7724 -> CONFIG_PINCTRL_SH_PFC_GPIO=y -> OK (SH ecovec24)
Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[geert: s/def_bool n/bool/]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Diffstat (limited to 'drivers/pinctrl/sh-pfc/core.c')
-rw-r--r-- | drivers/pinctrl/sh-pfc/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pinctrl/sh-pfc/core.c b/drivers/pinctrl/sh-pfc/core.c index 181ea98a63b7..0c2d14c504aa 100644 --- a/drivers/pinctrl/sh-pfc/core.c +++ b/drivers/pinctrl/sh-pfc/core.c @@ -558,7 +558,7 @@ static int sh_pfc_probe(struct platform_device *pdev) if (unlikely(ret != 0)) return ret; -#ifdef CONFIG_GPIO_SH_PFC +#ifdef CONFIG_PINCTRL_SH_PFC_GPIO /* * Then the GPIO chip */ @@ -584,7 +584,7 @@ static int sh_pfc_remove(struct platform_device *pdev) { struct sh_pfc *pfc = platform_get_drvdata(pdev); -#ifdef CONFIG_GPIO_SH_PFC +#ifdef CONFIG_PINCTRL_SH_PFC_GPIO sh_pfc_unregister_gpiochip(pfc); #endif sh_pfc_unregister_pinctrl(pfc); |