linux/drivers/pinctrl
Sherman Yin 03b054e969 pinctrl: Pass all configs to driver on pin_config_set()
When setting pin configuration in the pinctrl framework, pin_config_set() or
pin_config_group_set() is called in a loop to set one configuration at a time
for the specified pin or group.

This patch 1) removes the loop and 2) changes the API to pass the whole pin
config array to the driver.  It is now up to the driver to loop through the
configs.  This allows the driver to potentially combine configs and reduce the
number of writes to pin config registers.

All c files changed have been build-tested to verify the change compiles and
that the corresponding .o is successfully generated.

Signed-off-by: Sherman Yin <syin@broadcom.com>
Reviewed-by: Christian Daudt <csd@broadcom.com>
Reviewed-by: Matt Porter <matt.porter@linaro.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-28 13:34:41 +02:00
..
mvebu pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
sh-pfc pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
sirf pinctrl: sirf: add lost atlas6 uart0-no-stream-control pingroup 2013-08-23 08:56:27 +02:00
spear pinctrl: spear: Convert to devm_ioremap_resource 2013-08-28 13:34:18 +02:00
vt8500 pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
core.c pinctrl: core: Add proper mutex lock in pinctrl_request_gpio 2013-08-28 13:13:05 +02:00
core.h pinctrl: move subsystem mutex to pinctrl_dev struct 2013-04-26 17:01:35 +02:00
devicetree.c pinctrl: move subsystem mutex to pinctrl_dev struct 2013-04-26 17:01:35 +02:00
devicetree.h pinctrl: core device tree mapping table parsing support 2012-04-18 13:53:10 +02:00
Kconfig pinctrl: palmas: PINCTRL_PALMAS needs to select PINMUX 2013-08-28 13:14:37 +02:00
Makefile pinctrl: palmas: add pincontrol driver 2013-08-14 21:00:42 +02:00
pinconf-generic.c pinctrl: utils : add support to pass config type in generic util APIs 2013-08-23 08:56:32 +02:00
pinconf.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinconf.h pinctrl: add function to parse generic pinconfig properties from a dt node 2013-06-16 11:57:32 +02:00
pinctrl-ab8500.c pinctrl: ab8500: Staticize some symbols 2013-04-09 09:54:00 +02:00
pinctrl-ab8505.c pinctrl: ab8505: Staticize some symbols 2013-04-09 09:59:42 +02:00
pinctrl-ab8540.c pinctrl: ab8540: Staticize some symbols 2013-04-09 09:58:02 +02:00
pinctrl-ab9540.c pinctrl: ab9540: Staticize some symbols 2013-04-09 09:55:59 +02:00
pinctrl-abx500.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02: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: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-baytrail.c pinctrl-baytrail: fix to avoid sparse warnings 2013-07-23 01:23:27 +02:00
pinctrl-bcm2835.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-coh901.c Pin control changes for the v3.11 kernel cycle: 2013-07-03 11:48:03 -07:00
pinctrl-coh901.h pinctrl: support pinconfig on the U300 2012-03-12 22:49:03 +01:00
pinctrl-exynos5440.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-exynos.c Pin control changes for the v3.11 kernel cycle: 2013-07-03 11:48:03 -07:00
pinctrl-exynos.h pinctrl: exynos: Handle suspend/resume of GPIO EINT registers 2013-05-27 15:37:09 +02:00
pinctrl-falcon.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-imx6dl.c pinctrl: add pinctrl driver for imx6dl 2013-04-09 22:53:38 +08:00
pinctrl-imx6q.c pinctrl: imx: move hard-coding data into device tree 2013-04-09 22:52:50 +08:00
pinctrl-imx6sl.c pinctrl: add pinctrl driver for imx6sl 2013-04-09 22:53:38 +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 pinctrl: imx: move hard-coding data into device tree 2013-04-09 22:52:50 +08:00
pinctrl-imx51.c pinctrl: imx: move hard-coding data into device tree 2013-04-09 22:52:50 +08:00
pinctrl-imx53.c pinctrl: imx: move hard-coding data into device tree 2013-04-09 22:52:50 +08:00
pinctrl-imx.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-imx.h pinctrl: imx: Use struct type for pins 2013-08-16 14:43:56 +02:00
pinctrl-lantiq.c pinctrl/lantiq: Free mapping configs for both pin and groups 2013-05-15 13:28:46 +02:00
pinctrl-lantiq.h pinctrl/lantiq: add output pinconf parameter 2013-02-05 16:17:22 +01:00
pinctrl-mxs.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-mxs.h pinctrl: add pinctrl-mxs support 2012-05-02 01:18:27 +02:00
pinctrl-nomadik-db8500.c pinctrl/nomadik-db8500: Fix checkpatch errors 2013-03-27 22:21:32 +01:00
pinctrl-nomadik-db8540.c Drivers: pinctrl: remove __dev* attributes. 2013-01-03 15:57:02 -08:00
pinctrl-nomadik-stn8815.c pinctrl: pinctrl-nomadik-stn8815: Fix checkpatch error 2013-03-13 19:50:20 +01:00
pinctrl-nomadik.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-nomadik.h pinctrl/nomadik: move the platform data header 2012-11-05 09:55:27 +01:00
pinctrl-palmas.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-rockchip.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-s3c24xx.c pinctrl: s3c24xx: use correct header for chained_irq functions 2013-06-19 02:41:20 +09:00
pinctrl-s3c64xx.c pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter 2013-04-23 13:59:45 +02:00
pinctrl-samsung.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-samsung.h ARM SoC late changes 2013-07-02 14:42:51 -07:00
pinctrl-single.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-st.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-sunxi-pins.h pinctrl: sunxi: Add Allwinner A20 pins set 2013-08-23 08:56:30 +02:00
pinctrl-sunxi.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-sunxi.h pinctrl: sunxi: Add external interrupts support 2013-06-16 11:57:31 +02: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: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-tegra.h pinctrl: tegra: add support for rcv-sel and drive type 2013-01-18 16:13:52 +01:00
pinctrl-tz1090-pdc.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-tz1090.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-u300.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinctrl-utils.c pinctrl: utils : add support to pass config type in generic util APIs 2013-08-23 08:56:32 +02:00
pinctrl-utils.h pinctrl: add utility functions for add map/configs 2013-08-14 21:00:41 +02:00
pinctrl-vf610.c pinctrl: add VF610 pinctrl driver 2013-06-16 11:56:51 +02:00
pinctrl-xway.c pinctrl: Pass all configs to driver on pin_config_set() 2013-08-28 13:34:41 +02:00
pinmux.c pinctrl: improve warning messages 2013-08-14 22:49:14 +02:00
pinmux.h pinctrl: ifdef CONFIG_DEBUG_FS cleanup 2012-04-18 13:53:12 +02:00