Mika Westerberg
2956b5d94a
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
...
Currently we already have two pin configuration related callbacks
available for GPIO chips .set_single_ended() and .set_debounce(). In
future we expect to have even more, which does not scale well if we need
to add yet another callback to the GPIO chip structure for each possible
configuration parameter.
Better solution is to reuse what we already have available in the
generic pinconf.
To support this, we introduce a new .set_config() callback for GPIO
chips. The callback takes a single packed pin configuration value as
parameter. This can then be extended easily beyond what is currently
supported by just adding new types to the generic pinconf enum.
If the GPIO driver is backed up by a pinctrl driver the GPIO driver can
just assign gpiochip_generic_config() (introduced in this patch) to
.set_config and that will take care configuration requests are directed
to the pinctrl driver.
We then convert the existing drivers over .set_config() and finally
remove the .set_single_ended() and .set_debounce() callbacks.
Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-01-26 15:27:37 +01:00
..
aspeed
pinctrl-aspeed-g5: Never set SCU90[6]
2016-11-07 10:31:33 +01:00
bcm
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
berlin
freescale
Bulk pin control changes for the v4.10 kernel cycle:
2016-12-13 07:59:10 -08:00
intel
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
mediatek
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
meson
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
mvebu
pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181
2016-09-21 11:49:18 +02:00
nomadik
pinctrl: nomadik: split up and comments MC0 pins
2016-11-18 09:54:32 +01:00
pxa
qcom
pinctrl: qcom: Add msm8994 pinctrl driver
2016-11-04 23:55:36 +01:00
samsung
pinctrl: samsung: Add GPF support for Exynos5433
2016-11-15 09:42:44 +01:00
sh-pfc
pinctrl: sh-pfc: r8a7795: Add group for QSPI0 and QSPI1 pins
2016-11-16 10:29:14 +01:00
sirf
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
spear
stm32
Bulk pin control changes for the v4.10 kernel cycle:
2016-12-13 07:59:10 -08:00
sunxi
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
tegra
This is the bulk of pin control changes for the v4.8 kernel cycle.
2016-07-28 17:06:51 -07:00
uniphier
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
vt8500
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
core.c
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
core.h
devicetree.c
pinctrl: Introduce generic #pinctrl-cells and pinctrl_parse_index_with_args
2016-11-04 22:50:55 +01:00
devicetree.h
pinctrl: Introduce generic #pinctrl-cells and pinctrl_parse_index_with_args
2016-11-04 22:50:55 +01:00
Kconfig
pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf
2016-12-07 15:27:00 +01:00
Makefile
pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf
2016-12-07 15:27:00 +01:00
pinconf-generic.c
pinctrl: generic: Parse pinmux init nodes if node status is okay
2016-10-29 10:31:58 +02:00
pinconf.c
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinconf.h
pinctrl: Allow configuration of pins from gpiolib based drivers
2017-01-26 15:23:01 +01:00
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl-adi2.h
pinctrl-amd.c
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
pinctrl-amd.h
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl: at91-pio4: make it explicitly non-modular
2016-06-13 08:40:14 +02:00
pinctrl-at91.c
pinctrl: at91: add support for OUTPUT config
2016-10-31 09:16:46 +01:00
pinctrl-at91.h
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-digicolor.c
Revert "pinctrl: digicolor: add missing platform_set_drvdata() call"
2016-06-23 09:50:05 +02:00
pinctrl-falcon.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-lpc18xx.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-max77620.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-oxnas.c
pinctrl: oxnas: Add support for OX820
2016-10-24 16:30:14 +02:00
pinctrl-palmas.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl: pistachio: fix mfio pll_lock pinmux
2016-08-22 15:28:35 +02:00
pinctrl-rockchip.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-single.c
pinctrl: Widen the generic pinconf argument from 16 to 24 bits
2017-01-26 15:22:32 +01:00
pinctrl-st.c
Bulk pin control changes for the v4.10 kernel cycle:
2016-12-13 07:59:10 -08:00
pinctrl-sx150x.c
pinctrl / gpio: Introduce .set_config() callback for GPIO chips
2017-01-26 15:27:37 +01:00
pinctrl-tb10x.c
pinctrl-tz1090-pdc.c
pinctrl-tz1090.c
pinctrl-u300.c
pinctrl: u300: make u300_pmx_registers static
2016-06-13 09:27:43 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
This is the bulk of pin control changes for the v4.8 kernel cycle.
2016-07-28 17:06:51 -07:00
pinctrl-zynq.c
pinctrl: zynq: Add a 8 bit wide nand option
2016-11-04 15:19:00 +01:00
pinmux.c
pinmux.h