linux/drivers/pinctrl
Haojian Zhuang 51e13c2475 pinctrl: check pinctrl ready for gpio range
pinctrl_get_device_gpio_range() only checks whether a certain GPIO pin
is in gpio range. But maybe some GPIO pins don't have back-end pinctrl
interface, it means that these pins are always configured as GPIO
function. For example, gpio159 isn't related to back-end pinctrl device
in Hi3620 while other GPIO pins are related to back-end pinctrl device.

Append pinctrl_ready_for_gpio_range() that is used to check whether
pinctrl device with GPIO range is ready. This function will be called
after pinctrl_get_device_gpio_range() fails.

If pinctrl device with GPIO range is found, it means that pinctrl device
is already launched and a certain GPIO pin just don't have back-end pinctrl
interface. Then pinctrl_request_gpio() shouldn't return -EPROBE_DEFER in
this case.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-03-07 05:27:30 +01:00
..
mvebu pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
sh-pfc
spear pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
core.c pinctrl: check pinctrl ready for gpio range 2013-03-07 05:27:30 +01:00
core.h
devicetree.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
devicetree.h
Kconfig
Makefile
pinconf-generic.c
pinconf.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinconf.h
pinctrl-ab8500.c
pinctrl-ab8505.c
pinctrl-ab8540.c
pinctrl-ab9540.c
pinctrl-abx500.c pinctrl: abx500: Add terminating entry for of_device_id table 2013-03-07 05:27:29 +01:00
pinctrl-abx500.h
pinctrl-at91.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-bcm2835.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-exynos5440.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-exynos.c
pinctrl-exynos.h
pinctrl-falcon.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-imx6q.c
pinctrl-imx23.c
pinctrl-imx28.c
pinctrl-imx35.c
pinctrl-imx51.c
pinctrl-imx53.c
pinctrl-imx.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-imx.h
pinctrl-lantiq.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-lantiq.h
pinctrl-mmp2.c
pinctrl-mxs.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-mxs.h
pinctrl-nomadik-db8500.c
pinctrl-nomadik-db8540.c
pinctrl-nomadik-stn8815.c
pinctrl-nomadik.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-nomadik.h
pinctrl-pxa3xx.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-pxa3xx.h
pinctrl-pxa168.c
pinctrl-pxa910.c
pinctrl-samsung.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-samsung.h
pinctrl-single.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-sirf.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-sunxi.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-sunxi.h
pinctrl-tegra20.c
pinctrl-tegra30.c
pinctrl-tegra114.c
pinctrl-tegra.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-tegra.h
pinctrl-u300.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-xway.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinmux.c
pinmux.h