Tony Lindgren
6118714275
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
...
Recent pinctrl changes to allow dynamic allocation of pins exposed one
more issue with the pinctrl pins claimed early by the controller itself.
This caused a regression for IMX6 pinctrl hogs.
Before enabling the pin controller driver we need to wait until it has
been properly initialized, then claim the hogs, and only then enable it.
To fix the regression, split the code into pinctrl_claim_hogs() and
pinctrl_enable(). And then let's require that pinctrl_enable() is always
called by the pin controller driver when ready after calling
pinctrl_register_and_init().
Depends-on: 950b0d91dc ("pinctrl: core: Fix regression caused by delayed
work for hogs")
Fixes: df61b366af26 ("pinctrl: core: Use delayed work for hogs")
Fixes: e566fc11ea ("pinctrl: imx: use generic pinctrl helpers for
managing groups")
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Mika Penttilä <mika.penttila@nextfour.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Stefan Agner <stefan@agner.ch>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-04-07 01:08:08 +02:00
..
aspeed
pinctrl: aspeed: g4: Fix mux configuration for GPIOs AA[4-7], AB[0-7]
2017-01-26 14:42:39 +01:00
bcm
scripts/spelling.txt: add "overrided" pattern and fix typo instances
2017-02-27 18:43:47 -08:00
berlin
Pin control bulk changes for the v4.11 kernel cycle:
2017-02-21 16:34:22 -08:00
freescale
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
intel
Pin control bulk changes for the v4.11 kernel cycle:
2017-02-21 16:34:22 -08:00
mediatek
pinctrl: mediatek: Use real dependencies
2017-01-26 16:26:50 +01:00
meson
pinctrl: meson-gxbb: Fix typo in i2c ao groups
2017-03-23 10:10:38 +01:00
mvebu
pinctrl: mvebu: make bool drivers explicitly non-modular
2017-02-13 14:25:49 +01:00
nomadik
pxa
qcom
pinctrl: qcom: ipq4019: add missing pingroups for pins > 70
2017-03-23 10:13:15 +01:00
samsung
pinctrl: samsung: Fix memory mapping code
2017-03-23 10:10:38 +01:00
sh-pfc
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
sirf
Merge branch 'ib-pinctrl-genprops' into devel
2017-01-26 15:27:54 +01:00
spear
pinctrl: spear: make bool drivers explicitly non-modular
2017-02-13 14:25:55 +01:00
stm32
pinctrl: stm32: Add STM32H743 MCU support
2017-02-06 09:38:30 +01:00
sunxi
Pin control bulk changes for the v4.11 kernel cycle:
2017-02-21 16:34:22 -08:00
tegra
ti
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
uniphier
pinctrl: uniphier: change pin names of aio/xirq for LD11
2017-03-06 14:38:05 +01:00
vt8500
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
core.c
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
core.h
pinctrl: core: Fix regression caused by delayed work for hogs
2017-01-13 16:25:17 +01:00
devicetree.c
pinctrl: core: Make dt_free_map optional
2017-01-09 19:41:07 +01:00
devicetree.h
pinctrl: core: Use delayed work for hogs
2017-01-03 09:26:16 +01:00
Kconfig
pinctrl: Introduce TI IOdelay configuration driver
2017-01-09 19:43:21 +01:00
Makefile
pinctrl: Introduce TI IOdelay configuration driver
2017-01-09 19:43:21 +01:00
pinconf-generic.c
pinconf.c
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinconf.h
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl-adi2.h
pinctrl-amd.c
Linux 4.10-rc6
2017-01-30 14:39:20 +01:00
pinctrl-amd.h
pinctrl: amd: Add support for additional GPIO
2016-12-28 13:26:09 +01:00
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl-at91.c
pinctrl-at91.h
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
Merge branch 'ib-pinctrl-genprops' into devel
2017-01-26 15:27:54 +01:00
pinctrl-digicolor.c
pinctrl-falcon.c
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-lantiq.c
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-lantiq.h
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-lpc18xx.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-max77620.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rockchip.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-single.c
pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()
2017-04-07 01:08:08 +02:00
pinctrl-st.c
pinctrl: st: add irq_request/release_resources callbacks
2017-03-23 10:10:39 +01:00
pinctrl-sx150x.c
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
pinctrl-tb10x.c
pinctrl-tz1090-pdc.c
pinctrl-tz1090.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl: update my email address
2016-12-30 09:17:02 +01:00
pinctrl-zynq.c
pinmux.c
pinctrl: core: Add generic pinctrl functions for managing groups
2017-01-03 09:26:18 +01:00
pinmux.h
pinctrl: core: Add generic pinctrl functions for managing groups
2017-01-03 09:26:18 +01:00