2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00
linux-next/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 pinctrl: core device tree mapping table parsing support 2012-04-18 13:53:10 +02:00
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: pinconf: fix compilation error if PINCONF is not selected 2012-04-18 13:53:12 +02:00
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: support pinconfig on the U300 2012-03-12 22:49:03 +01:00
pinctrl-exynos5440.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-exynos.c ARM: arm-soc: SoC updates for 3.8 2012-12-12 12:05:15 -08:00
pinctrl-exynos.h pinctrl: samsung: Use per-bank IRQ domain for wake-up interrupts 2012-10-15 09:10:12 +02:00
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: pinctrl-imx: add imx pinctrl core driver 2012-05-02 01:14:40 +02:00
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: add pinctrl-mxs support 2012-05-02 01:18:27 +02:00
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/nomadik: move the platform data header 2012-11-05 09:55:27 +01:00
pinctrl-pxa3xx.c pinctrl: Declare operation structures as const 2013-03-07 05:27:29 +01:00
pinctrl-pxa3xx.h pinctrl: pxa3xx: Remove phy_base and phy_size from struct pxa3xx_pinmux_info 2012-11-15 11:21:46 +01:00
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: samsung: Fix a typo in pinctrl-samsung.h 2012-12-18 19:00:25 -08:00
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 pinctrl: pinmux: Release all taken pins in pinmux_enable_setting error paths 2012-11-11 20:18:32 +01:00
pinmux.h pinctrl: ifdef CONFIG_DEBUG_FS cleanup 2012-04-18 13:53:12 +02:00