diff options
author | Krzysztof Kozlowski <krzk@kernel.org> | 2017-05-16 20:56:27 +0200 |
---|---|---|
committer | Krzysztof Kozlowski <krzk@kernel.org> | 2017-06-07 20:40:47 +0200 |
commit | cfa76ddf5b3aad642cc904daa3d3784cbb5f2d57 (patch) | |
tree | 5867aa4fa885adcb3fb33ba38f12159aadacf0e8 /drivers/pinctrl/samsung/pinctrl-exynos.h | |
parent | 51d1eda5d852e517953996799780ee4fda31e341 (diff) | |
download | linux-cfa76ddf5b3aad642cc904daa3d3784cbb5f2d57.tar.gz linux-cfa76ddf5b3aad642cc904daa3d3784cbb5f2d57.tar.bz2 linux-cfa76ddf5b3aad642cc904daa3d3784cbb5f2d57.zip |
pinctrl: samsung: Split Exynos drivers per ARMv7 and ARMv8
Exynos pinctrl drivers contain pretty big per-SoC data structures. The
pinctrl-exynos object file contained code and data for both ARMv7 and
ARMv8 SoCs thus it grew big. There will not be a shared image between
ARMv7 and ARMv8 so there is no need to combine all of this into one
driver.
Splitting the data allows to make it more granular (e.g. code related to
ARMv8 Exynos is self-contained), slightly speed up the compilation and
reduce the effective size of compiled kernel.
The common data structures and functions reside still in existing
pinctrl-exynos.c. Only the SoC-specific parts were moved out to new
files. Except marking few functions non-static and adding them to
header, there were no functional changes in the code.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
Diffstat (limited to 'drivers/pinctrl/samsung/pinctrl-exynos.h')
-rw-r--r-- | drivers/pinctrl/samsung/pinctrl-exynos.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.h b/drivers/pinctrl/samsung/pinctrl-exynos.h index ffad70458129..b90139715c8f 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.h +++ b/drivers/pinctrl/samsung/pinctrl-exynos.h @@ -135,4 +135,12 @@ struct exynos_muxed_weint_data { struct samsung_pin_bank *banks[]; }; +int exynos_eint_gpio_init(struct samsung_pinctrl_drv_data *d); +int exynos_eint_wkup_init(struct samsung_pinctrl_drv_data *d); +void exynos_pinctrl_suspend(struct samsung_pinctrl_drv_data *drvdata); +void exynos_pinctrl_resume(struct samsung_pinctrl_drv_data *drvdata); +struct samsung_retention_ctrl * +exynos_retention_init(struct samsung_pinctrl_drv_data *drvdata, + const struct samsung_retention_data *data); + #endif /* __PINCTRL_SAMSUNG_EXYNOS_H */ |