linux/drivers/pinctrl
Geert Uytterhoeven f2bc075627 pinctrl: sh-pfc: Split R-Car H3 support in two independent drivers
Despite using the same compatible values ("r8a7795"-based) because of
historical reasons, R-Car H3 ES1.x (R8A77950) and R-Car H3 ES2.0+
(R8A77951) are really different SoCs, with different part numbers, and
with different Pin Function Controller blocks.

Reflect this in the pinctrl configuration, by replacing the existing
CONFIG_PINCTRL_PFC_R8A7795 symbol by two new config symbols:
CONFIG_PINCTRL_PFC_R8A77950 and CONFIG_PINCTRL_PFC_R8A77951.  The latter
are selected automatically, depending on the soon-to-be-introduced
corresponding SoC-specific config options, and on the current common
config option, to relax dependencies.

Rename the individual pin control driver source files from
pfc-r8a7795-es1.c to pfc-r8a77950.c, and from pfc-r8a7795.c to
pfc-r8a77951.c, and make them truly independent.
As both SoCs share the same compatible value, special care must be taken
to match them to the correct pin control driver, if support for it is
included in the running kernel.

This will allow making support for early R-Car H3 revisions optional,
the largest share of which is taken by the pin control driver.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20191230083156.19191-1-geert+renesas@glider.be
2020-01-08 09:56:28 +01:00
..
actions pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
aspeed pinctrl: aspeed-g6: Rename SD3 to EMMC and rework pin groups 2019-10-16 15:58:27 +02:00
bcm Linux 5.4-rc5 2019-11-13 23:10:52 +01:00
berlin pinctrl: berlin: as370: fix a typo s/spififib/spdifib 2019-10-16 14:12:55 +02:00
cirrus pinctrl: madera: Add configuration for Cirrus Logic CS47L92 2019-08-05 11:48:03 +02:00
freescale pinctrl: Fix Kconfig indentation 2019-11-21 15:06:07 +01:00
intel pinctrl: lewisburg: Update pin list according to v1.1v6 2019-11-21 15:04:16 +01:00
mediatek pinctrl: mediatek: use devm_platform_ioremap_resource() to simplify code 2019-10-24 14:03:27 +02:00
meson pinctrl: meson: add pinctrl driver support for Meson-A1 SoC 2019-11-19 15:55:26 +01:00
mvebu pinctrl: Fix Kconfig indentation 2019-11-21 15:06:07 +01:00
nomadik pinctrl: nomadik: db8500: Add mc0_a_2 pin group without direction control 2019-11-19 15:49:22 +01:00
nuvoton pinctrl: nuvoton: npcm7xx: Pass irqchip when adding gpiochip 2019-09-30 23:13:08 +02:00
pxa pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
qcom Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-12-03 09:29:50 -08:00
samsung pinctrl: samsung: Fix device node refcount leaks in init code 2019-10-01 20:22:04 +02:00
sh-pfc pinctrl: sh-pfc: Split R-Car H3 support in two independent drivers 2020-01-08 09:56:28 +01:00
sirf pinctrl: sirf/atlas7: Pass irqchip when adding gpiochip 2019-09-30 23:13:08 +02:00
spear pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
sprd pinctrl: sprd: Add CM4 sleep mode support 2019-10-16 16:01:24 +02:00
stm32 pinctrl: stm32: stm32: Add of_node_put() before return 2019-08-10 10:21:51 +02:00
sunxi pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
tegra pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
ti pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call 2019-10-04 23:08:47 +02:00
uniphier pinctrl: uniphier: Fix Pro5 SD pin-mux setting 2019-08-05 13:21:31 +02:00
vt8500 pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
zte pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
core.c pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00
core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
devicetree.c pinctrl: just return if no valid maps 2019-11-05 11:25:39 +01:00
devicetree.h pinctrl: devicetree.c: remove orphan pinctrl_dt_has_hogs() 2019-10-04 23:26:23 +02:00
Kconfig pinctrl: Fix Kconfig indentation 2019-11-21 15:06:07 +01:00
Makefile pinctrl: Add pinmux & GPIO controller driver for a new SoC 2019-11-21 14:47:44 +01:00
pinconf-generic.c This is the bulk of pin control changes for the v5.3 kernel 2019-07-13 15:02:27 -07:00
pinconf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pinconf.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pinctrl-amd.c pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() 2019-11-04 16:08:07 +01:00
pinctrl-amd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
pinctrl-artpec6.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-as3722.c
pinctrl-at91-pio4.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-at91.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-at91.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-axp209.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pinctrl-bm1880.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-coh901.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-coh901.h
pinctrl-da850-pupd.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-digicolor.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-equilibrium.c pinctrl: Fix warning by adding missing MODULE_LICENSE 2019-11-28 09:12:43 +01:00
pinctrl-equilibrium.h pinctrl: Add pinmux & GPIO controller driver for a new SoC 2019-11-21 14:47:44 +01:00
pinctrl-falcon.c pinctrl: falcon: Add of_node_put() before return 2019-08-06 14:50:04 +02:00
pinctrl-gemini.c
pinctrl-ingenic.c pinctrl: ingenic: Add OTG VBUS pin for the JZ4770 2019-11-21 15:10:36 +01:00
pinctrl-lantiq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
pinctrl-lantiq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 332 2019-06-05 17:37:06 +02:00
pinctrl-lpc18xx.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-max77620.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Fix add_data and irqchip_add_nested call order 2019-06-25 14:14:26 +02:00
pinctrl-ocelot.c pinctrl: ocelot: Pass irqchip when adding gpiochip 2019-10-16 15:03:40 +02:00
pinctrl-oxnas.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-palmas.c
pinctrl-pic32.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-pic32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 445 2019-06-05 17:37:18 +02:00
pinctrl-pistachio.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-rk805.c pinctrl: rk805: Make structures constant 2019-08-21 09:00:16 +02:00
pinctrl-rockchip.c pinctrl: rockchip: add rk3308 SoC support 2019-10-16 15:56:19 +02:00
pinctrl-rza1.c pinctrl: rza1: Reduce printed messages 2019-12-20 15:48:14 +01:00
pinctrl-rza2.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-rzn1.c pinctrl: rzn1: Make array reg_drive static, makes object smaller 2019-10-14 12:11:12 +02:00
pinctrl-single.c
pinctrl-st.c pinctrl: st: Pass irqchip when adding gpiochip 2019-10-16 13:45:27 +02:00
pinctrl-stmfx.c This is the bulk of pin control changes for the v5.5 kernel 2019-11-27 10:00:33 -08:00
pinctrl-sx150x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
pinctrl-tb10x.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-u300.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-zynq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
pinmux.c pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00
pinmux.h pinctrl/gpio: Take MUX usage into account 2019-08-23 11:09:41 +02:00