OpenCloudOS-Kernel/drivers/pinctrl/sh-pfc
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
..
Kconfig pinctrl: sh-pfc: Initial R8A7796 PFC support 2016-08-19 09:37:11 +02:00
Makefile pinctrl: sh-pfc: Initial R8A7796 PFC support 2016-08-19 09:37:11 +02:00
core.c pinctrl: sh-pfc: Add helper to handle bias lookup table 2016-11-15 11:01:09 +01:00
core.h pinctrl: sh-pfc: Add helper to handle bias lookup table 2016-11-15 11:01:09 +01:00
gpio.c pinctrl: sh-pfc: Convert to devm_gpiochip_add_data() 2016-06-21 09:24:58 +02:00
pfc-emev2.c pinctrl: sh-pfc: emev2: Correct comment for CFI data pins 2015-12-08 14:18:39 +01:00
pfc-r8a73a4.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7740.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7778.c pinctrl: sh-pfc: r8a7778: Use lookup function for bias data 2016-11-16 10:29:11 +01:00
pfc-r8a7779.c pinctrl: sh-pfc: Rename PINMUX_IPSR_DATA() to PINMUX_IPSR_GPSR() 2016-02-08 16:50:08 +01:00
pfc-r8a7790.c pinctrl: sh-pfc: Improve core and user API separation 2016-06-21 09:24:55 +02:00
pfc-r8a7791.c pinctrl: sh-pfc: r8a7791: Add ADI pinconf support 2017-01-20 14:23:40 +01:00
pfc-r8a7792.c pinctrl: sh-pfc: r8a7792: Add MSIOF pin groups 2016-09-12 10:54:35 +02:00
pfc-r8a7794.c pinctrl: sh-pfc: r8a7794: Implement voltage switching for SDHI 2016-09-14 09:26:54 +02:00
pfc-r8a7795.c pinctrl: sh-pfc: r8a7795: Support none GPIO pins bias setting 2016-12-27 10:57:38 +01:00
pfc-r8a7796.c pinctrl: sh-pfc: r8a7796: Add HSCIF pins, groups, and functions 2016-12-27 10:57:39 +01:00
pfc-sh73a0.c pinctrl: sh-pfc: sh73a0: Add MSIOF support 2015-12-08 14:18:41 +01:00
pfc-sh7203.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7264.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7269.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7720.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7722.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7723.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7724.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7734.c pinctrl: sh-pfc: Rename PINMUX_IPSR_DATA() to PINMUX_IPSR_GPSR() 2016-02-08 16:50:08 +01:00
pfc-sh7757.c pinctrl: sh-pfc: sh7757: Fix duplicate initializer in GPIO pinmux data 2016-06-14 09:41:41 +02:00
pfc-sh7785.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-sh7786.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pfc-shx3.c pinctrl: sh-pfc: Rename .gpio_data[] to .pinmux_data[] 2015-10-20 16:03:30 +02:00
pinctrl.c pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable() 2017-04-07 01:08:08 +02:00
sh_pfc.h pinctrl: sh-pfc: Support named pins with custom configuration 2016-11-16 10:29:12 +01:00