linux-kernel-test/drivers/pinctrl
Haojian Zhuang a1a277eb76 pinctrl: single: create new gpio function range
Since gpio driver could create gpio range in DTS, it could invoke
pinctrl_request_gpio(). In the pinctrl-single driver, it needs to
configure pins with gpio function mode.

A new gpio function range should be created in DTS file in below.

pinctrl-single,gpio-range = <phandle pin_offset nr_pins gpio_func>;

range: gpio-range {
	#pinctrl-single,gpio-range-cells = <3>;
};

The gpio-ranges property is used in gpio driver and the
pinctrl-single,gpio-range property is used in pinctrl-single driver.

1. gpio-ranges is used for gpio driver in below.
   gpio-ranges = <phandle gpio_offset_in_chip pin_offset nr_pins>
	gpio-ranges = < &pmx0 0 89 1 &pmx0 1 89 1 &pmx0 2 90 1
			&pmx0 3 90 1 &pmx0 4 91 1 &pmx0 5 92 1>;

2. gpio driver could get pin offset from gpio-ranges property.
   pinctrl-single driver could get gpio function mode from gpio_func
   that is stored in @gpiofuncs list in struct pcs_device.
   This new pinctrl-single,gpio-range is used as complement for
   gpio-ranges property in gpio driver.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
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 sh-pfc: sh_pfc_probe() sizeof() fix 2013-02-16 10:58:50 +09:00
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 pinctrl/pinconfig: add debug interface 2013-02-10 21:11:54 +01:00
devicetree.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
devicetree.h
Kconfig arm-soc: pin muxing for sh-mobile 2013-02-21 15:00:16 -08:00
Makefile arm-soc: pin muxing for sh-mobile 2013-02-21 15:00:16 -08:00
pinconf-generic.c pinctrl: generic: rename input schmitt disable 2013-02-15 09:52:29 +01:00
pinconf.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinconf.h
pinctrl-ab8500.c pinctrl/abx500: use direct IRQ defines 2013-02-10 15:48:43 +01:00
pinctrl-ab8505.c pinctrl/abx500: use direct IRQ defines 2013-02-10 15:48:43 +01:00
pinctrl-ab8540.c pinctrl/abx500: use direct IRQ defines 2013-02-10 15:48:43 +01:00
pinctrl-ab9540.c pinctrl/abx500: use direct IRQ defines 2013-02-10 15:48:43 +01:00
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/abx500: replace IRQ offsets with table read-in values 2013-02-10 15:44:33 +01:00
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: Convert to devm_ioremap_resource() 2013-01-22 11:41:57 -08:00
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 Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-imx23.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-imx28.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-imx35.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-imx51.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-imx53.c Driver core __dev* removal patches 2013-01-03 16:17:50 -08:00
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/lantiq: add output pinconf parameter 2013-02-05 16:17:22 +01:00
pinctrl-mmp2.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-mxs.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-mxs.h
pinctrl-nomadik-db8500.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-nomadik-db8540.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-nomadik-stn8815.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
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 Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-pxa910.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-samsung.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-samsung.h
pinctrl-single.c pinctrl: single: create new gpio function range 2013-03-07 05:27:30 +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 ARM: pinctrl: sunxi: Add the pinctrl pin set for Allwinner A10 2013-02-01 10:45:34 +01:00
pinctrl-tegra20.c pinctrl: tegra: add support for rcv-sel and drive type 2013-01-18 16:13:52 +01:00
pinctrl-tegra30.c pinctrl: tegra: add support for rcv-sel and drive type 2013-01-18 16:13:52 +01:00
pinctrl-tegra114.c pinctrl: tegra: add clfvs function to Tegra114 support 2013-02-15 20:22:39 +01:00
pinctrl-tegra.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-tegra.h pinctrl: tegra: add support for rcv-sel and drive type 2013-01-18 16:13:52 +01:00
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