linux-stable/drivers/pinctrl
Uwe Kleine-König 9911a2d5e9 pinctrl: imx25: ensure that a pin with id i is at position i in the info array
The code in pinctrl-imx.c only works correctly if in the
imx_pinctrl_soc_info passed to imx_pinctrl_probe we have:

	info->pins[i].number = i
	conf_reg(info->pins[i]) = 4 * i

(which conf_reg(pin) being the offset of the pin's configuration
register).

When the imx25 specific part was introduced in b4a87c9b96 ("pinctrl:
pinctrl-imx: add imx25 pinctrl driver") we had:

	info->pins[i].number = i + 1
	conf_reg(info->pins[i]) = 4 * i

. Commit 34027ca2bb ("pinctrl: imx25: fix numbering for pins") tried
to fix that but made the situation:

	info->pins[i-1].number = i
	conf_reg(info->pins[i-1]) = 4 * i

which is hardly better but fixed the error seen back then.

So insert another reserved entry in the array to finally yield:

	info->pins[i].number = i
	conf_reg(info->pins[i]) = 4 * i

Fixes: 34027ca2bb ("pinctrl: imx25: fix numbering for pins")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-10-02 04:06:02 -07:00
..
bcm genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
berlin ARM: SoC: driver updates for v4.2 2015-06-26 11:54:29 -07:00
freescale pinctrl: imx25: ensure that a pin with id i is at position i in the info array 2015-10-02 04:06:02 -07:00
intel genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
mediatek genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
meson Here is the bulk of pin control changes for the v4.2 series: 2015-06-24 19:21:02 -07:00
mvebu Here is the bulk of pin control changes for the v4.2 series: 2015-06-24 19:21:02 -07:00
nomadik genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
qcom Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-18 08:11:42 -07:00
samsung Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-18 08:11:42 -07:00
sh-pfc This is the bulk of pin control changes for the v4.3 development 2015-09-04 10:22:09 -07:00
sirf genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
spear genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
sunxi pinctrl: sun5i: Fix a10s pwm1 pinctrl mapping 2015-10-02 04:06:01 -07:00
uniphier pinctrl: UniPhier: PH1-Pro5: add I2C ch6 pin-mux setting 2015-08-13 13:15:05 +02:00
vt8500 pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
core.c pinctrl: core: Warn about NULL gpio_chip in pinctrl_ready_for_gpio_range() 2015-09-14 09:13:43 +02:00
core.h pinctrl: Don't just pretend to protect pinctrl_maps, do it for real 2015-05-06 16:24:28 +02:00
devicetree.c pinctrl: simplify of_pinctrl_get() 2015-07-16 09:39:03 +02:00
devicetree.h
Kconfig pinctrl: driver for Conexant Digicolor CX92755 pin mapping 2015-07-27 11:47:25 +02:00
Makefile pinctrl: driver for Conexant Digicolor CX92755 pin mapping 2015-07-27 11:47:25 +02:00
pinconf-generic.c pinctrl: pinconf-generic: add dt node names to error messages 2015-03-27 09:53:10 +01:00
pinconf.c pinctrl: join dev_dbg strings into a single line 2015-08-03 10:13:00 +02:00
pinconf.h pinctrl: pinconf-generic: Allow driver to specify DT params 2015-01-11 22:32:19 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c added tabs instead of spaces 2015-07-16 09:39:01 +02:00
pinctrl-adi2.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-adi2.h
pinctrl-amd.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-amd.h Fix inconsistent spinlock of AMD GPIO driver which can be 2015-04-07 11:36:49 +02:00
pinctrl-as3722.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-at91.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-at91.h pinctrl: at91: use own header 2014-10-29 09:28:35 +01:00
pinctrl-coh901.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-coh901.h
pinctrl-digicolor.c pinctrl: digicolor: convert null test to IS_ERR test 2015-09-14 09:13:43 +02:00
pinctrl-falcon.c staging: drivers: pinctrl: Fixed checkpatch.pl warnings 2015-01-21 11:02:26 +01:00
pinctrl-lantiq.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-lantiq.h pinctrl: lantiq: fix include guard #endif comment 2015-03-09 18:10:57 +01:00
pinctrl-lpc18xx.c This is the bulk of pin control changes for the v4.3 development 2015-09-04 10:22:09 -07:00
pinctrl-palmas.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-pistachio.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-rockchip.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-single.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-st.c genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
pinctrl-tb10x.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-tegra-xusb.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-tegra.c pinctrl: tegra: Only set the gpio range if needed 2015-08-13 16:24:33 +02:00
pinctrl-tegra.h pinctrl: tegra: use signed bitfields for optional fields 2015-03-19 09:20:17 +01:00
pinctrl-tegra20.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra30.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra114.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra124.c pinctrl: tegra: some bits move between registers 2015-03-09 18:10:58 +01:00
pinctrl-tegra210.c pinctrl: tegra: add a driver for Tegra210 2015-03-09 18:10:59 +01:00
pinctrl-tz1090-pdc.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-tz1090.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-u300.c pinctrl: make pinctrl_register() return proper error code 2015-06-10 14:49:52 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c pinctrl: lantiq: remove bogus of_gpio_chip_add 2015-01-14 14:20:46 +01:00
pinctrl-zynq.c pinctrl: zynq: Fix typos in smc0_nand_grp and smc0_nor_grp 2015-08-25 16:21:31 +02:00
pinmux.c pinctrl: join lines that can be a single line within 80 columns 2015-09-14 09:13:43 +02:00
pinmux.h