linux/drivers/pinctrl
Geert Uytterhoeven 3dd5fd79f0 pinctrl: sh-pfc: Add check for empty pinmux groups/functions
The pinmux groups and functions arrays may contain two parts, to ease
supporting SoCs that expose pin subsets of other related SoCs.  Both
parts need to be declared with explicit sizes, which thus need to be
updated when adding support for more groups and functions.

If a size is too small, the compiler will detect this at build time
("excess elements in array initializer").
If a size is too large, this may go undetected (for pin groups), lead to
pin controller registration failures (for pin functions: "pinmux ops has
no name for functionN"), or crash the optional run-time debug code (for
pin groups).

Extend the run-time debug code with checks to detect this, to help
catching bugs early.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
2019-05-21 11:07:29 +02:00
..
actions pinctrl: actions: Add Actions Semi S700 pinctrl driver 2018-11-19 14:12:34 +01:00
aspeed pinctrl: aspeed: Wrap -Woverride-init with cc-option 2018-12-16 01:22:38 +01:00
bcm pinctrl: bcm2835: Direct GPIO config changes to generic pinctrl 2019-02-08 13:13:01 +01:00
berlin pinctrl: berlin: as370: use generic "pwm" as pwm function name 2019-01-28 15:20:53 +01:00
cirrus pinctrl: lochnagar: Add support for the Cirrus Logic Lochnagar 2019-04-04 12:09:30 +07:00
freescale pinctrl: imx8mq: Add suspend/resume ops 2019-04-11 15:41:43 +02:00
intel pinctrl: intel: Increase readability of intel_gpio_update_pad_mode() 2019-04-28 20:19:06 +03:00
mediatek pinctrl: mediatek: Add MT8516 Pinctrl driver 2019-05-03 07:53:13 +01:00
meson This is the bulk of pin control changes for the v5.1 kernel cycle. 2019-03-11 11:12:50 -07:00
mvebu pinctrl: armada-37xx: change suspend/resume time 2019-01-21 14:12:50 +01:00
nomadik pinctrl: nomadik: fix possible object reference leak 2019-02-20 10:52:34 +01:00
nuvoton pinctrl: nuvoton: check for devm_kasprintf() failure 2018-12-05 22:55:04 +01:00
pxa
qcom This is the bulk of pin control changes for the v5.1 kernel cycle. 2019-03-11 11:12:50 -07:00
samsung pinctrl: samsung: fix leaked of_node references 2019-04-23 10:59:47 +02:00
sh-pfc pinctrl: sh-pfc: Add check for empty pinmux groups/functions 2019-05-21 11:07:29 +02:00
sirf pinctrl: sirf: drop pointless static qualifier in sirfsoc_gpio_probe 2019-01-28 14:42:55 +01:00
spear pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
sprd pinctrl: sprd: Use define directive for sprd_pinconf_params values 2018-11-09 10:20:47 +01:00
stm32 pinctrl: stm32: check irq controller availability at probe 2019-05-03 07:53:13 +01:00
sunxi pinctrl: sunxi: Support I/O bias voltage setting on H6 2019-04-23 12:31:42 +02:00
tegra pinctrl: tegra: do not export tegra_pinctrl_probe 2018-09-20 08:15:16 -07:00
ti pinctrl: ti-iodelay: Fix platform_no_drv_owner.cocci warnings 2019-01-28 14:41:54 +01:00
uniphier pinctrl: uniphier: constify uniphier_pinctrl_socdata 2018-12-21 11:18:08 +01:00
vt8500 pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
zte pinctrl: zte: fix leaked of_node references 2019-05-03 07:53:13 +01:00
core.c pinctrl: core: make sure strcmp() doesn't get a null parameter 2018-10-01 13:46:13 +02:00
core.h pinctrl: core: Remove broken remove_last group and pinmux functions 2018-07-17 10:49:49 +02:00
devicetree.c pinctrl: Support stopping deferred probe after initcalls 2018-07-10 17:22:35 +02:00
devicetree.h
Kconfig - Core Frameworks 2019-05-14 10:39:08 -07:00
Makefile - Core Frameworks 2019-05-14 10:39:08 -07:00
pinconf-generic.c
pinconf.c pinctrl: remove unused 'pinconf-config' debugfs interface 2019-01-28 14:39:52 +01:00
pinconf.h
pinctrl-amd.c pinctrl: Added IRQF_SHARED flag for amd-pinctrl driver 2019-04-08 14:45:15 +02:00
pinctrl-amd.h pinctrl/amd: fix gpio irq level in debugfs 2018-07-29 22:20:15 +02:00
pinctrl-artpec6.c pinctrl: artpec6: Drop unused function and rename 2019-04-11 15:41:20 +02:00
pinctrl-as3722.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-at91-pio4.c pinctrl: pinctrl-at91-pio4: simplify getting .driver_data 2018-11-05 09:33:32 +01:00
pinctrl-at91.c pinctrl: at91: add slewrate support for SAM9X60 2019-02-08 13:07:03 +01:00
pinctrl-at91.h pinctrl: at91: add slewrate support for SAM9X60 2019-02-08 13:07:03 +01:00
pinctrl-axp209.c pinctrl: axp209: Fix NULL pointer dereference after allocation 2019-04-08 11:20:28 +02:00
pinctrl-bm1880.c pinctrl: Add pinctrl support for BM1880 SoC 2019-05-03 07:53:13 +01:00
pinctrl-coh901.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl-digicolor.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-falcon.c pinctrl: Include <linux/gpio/driver.h> nothing else 2018-09-14 15:10:57 +02:00
pinctrl-gemini.c pinctrl: gemini: Fix up TVC clock group 2018-10-10 21:05:35 +02:00
pinctrl-ingenic.c pinctrl: ingenic: Add LCD pins for the JZ4725B SoC 2019-02-08 15:01:24 +01:00
pinctrl-lantiq.c pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-lantiq.h
pinctrl-lpc18xx.c pinctrl: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT 2018-11-09 10:23:58 +01:00
pinctrl-max77620.c pinctrl: max77620: Use define directive for max77620_pinconf_param values 2018-11-09 10:02:22 +01:00
pinctrl-mcp23s08.c This is the bulk of the GPIO changes for the v5.2 kernel cycle: 2019-05-11 10:54:43 -04:00
pinctrl-ocelot.c pinctrl: ocelot: add MSCC Jaguar2 support 2018-12-21 11:50:48 +01:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: pistachio: fix leaked of_node references 2019-04-23 12:34:11 +02:00
pinctrl-rk805.c
pinctrl-rockchip.c pinctrl: rockchip: add rk3188 routes to switch between nand and emmc 2018-11-17 13:18:53 +01:00
pinctrl-rza1.c pinctrl: rza1: Remove unneeded spinlock acquisitions 2019-04-02 09:57:50 +02:00
pinctrl-rza2.c pinctrl: Add RZ/A2 pin and gpio controller 2018-11-23 09:30:27 +01:00
pinctrl-rzn1.c pinctrl: rzn1: Fix of_get_child_count() error check 2018-12-04 10:33:49 +01:00
pinctrl-single.c pinctrl: Convert to using %pOFn instead of device_node.name 2018-08-29 14:05:36 +02:00
pinctrl-st.c pinctrl: st: fix leaked of_node references 2019-04-23 11:01:17 +02:00
pinctrl-stmfx.c pinctrl: stmfx: Fix 'warn: bitwise AND condition is false here' 2019-05-13 08:28:26 +01:00
pinctrl-sx150x.c pinctrl: sx150x: handle failure case of devm_kstrdup 2018-12-07 13:22:47 +01:00
pinctrl-tb10x.c
pinctrl-u300.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c pinctrl: xway: fix gpio-hog related boot issues 2018-12-17 23:11:18 +01:00
pinctrl-zynq.c pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD 2018-11-09 10:25:17 +01:00
pinmux.c pinctrl: Change to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-07 11:11:10 +01:00
pinmux.h pinctrl: core: Remove broken remove_last group and pinmux functions 2018-07-17 10:49:49 +02:00