Chen-Yu Tsai
c5fda170e8
pinctrl: sunxi: Add support for fetching pinconf settings from hardware
...
The sunxi pinctrl driver only caches whatever pinconf setting was last
set on a given pingroup. This is not particularly helpful, nor is it
correct.
Fix this by actually reading the hardware registers and returning
the correct results or error codes. Also filter out unsupported
pinconf settings. Since this driver has a peculiar setup of 1 pin
per group, we can support both pin and pingroup pinconf setting
read back with the same code. The sunxi_pconf_reg helper and code
structure is inspired by pinctrl-msm.
With this done we can also claim to support generic pinconf, by
setting .is_generic = true in pinconf_ops.
Also remove the cached config value. The behavior of this was never
correct, as it only cached 1 setting instead of all of them. Since
we can now read back settings directly from the hardware, it is no
longer required.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-11-15 10:20:27 +01:00
..
aspeed
pinctrl: aspeed-g5: Fix pin association of SPI1 function
2016-10-18 14:36:12 +02:00
bcm
pinctrl: bcm2835: Return pins to inputs when freed
2016-11-15 00:14:14 +01:00
berlin
freescale
pinctrl: imx: accept gpio request/free from pinctrl
2016-09-12 14:25:52 +02:00
intel
pinctrl: cherryview: Drop ctrlX prefix from the pin debugfs output
2016-11-04 16:14:51 +01:00
mediatek
pinctrl: mediatek: constify gpio_chip structures
2016-09-13 10:39:33 +02:00
meson
pinctrl: meson: Add GXL pinctrl definitions
2016-11-04 23:05:06 +01:00
mvebu
pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181
2016-09-21 11:49:18 +02:00
nomadik
pinctrl: nomadik: don't default-flag IRQs as falling
2016-09-19 11:01:33 +02: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: r8a7796: Fix GPSR definitions for SDHI2/3
2016-11-07 10:39:11 +01:00
sirf
pinctrl: sirf: make core support explicitly non-modular
2016-08-27 13:16:12 +02:00
spear
stm32
pinctrl: stm32: add IRQ_DOMAIN_HIERARCHY dependency
2016-09-15 14:13:10 +02:00
sunxi
pinctrl: sunxi: Add support for fetching pinconf settings from hardware
2016-11-15 10:20:27 +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: uniphier: add Ethernet pin-mux settings
2016-07-11 09:53:25 +02:00
vt8500
pinctrl: vt8500: make bool drivers explicitly non-modular
2016-11-15 10:04:20 +01:00
core.c
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-sx150x: Convert driver to use regmap API
2016-11-08 09:39:06 +01:00
Makefile
pinctrl: Add SX150X GPIO Extender Pinctrl Driver
2016-10-24 16:30:40 +02: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
pinconf.h
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl-adi2.h
pinctrl-amd.c
Linux 4.8-rc6
2016-09-23 14:57:16 +02: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-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: lpc18xx: make it explicitly non-modular
2016-06-13 08:28:18 +02:00
pinctrl-max77620.c
pinctrl: max77620: Remove unused structure definition
2016-06-15 08:37:40 +02:00
pinctrl-oxnas.c
pinctrl: oxnas: Add support for OX820
2016-10-24 16:30:14 +02:00
pinctrl-palmas.c
pinctrl: palmas: fix a possible NULL dereference
2016-08-22 14:11:00 +02: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: rockchip: make it explicitly non-modular
2016-08-27 13:14:21 +02:00
pinctrl-single.c
pinctrl: single: search for the bits property when parsing bits
2016-11-11 21:29:37 +01:00
pinctrl-st.c
pinctrl: st: st_pctl_dt_parse_groups simplify expression
2016-11-08 14:18:03 +01:00
pinctrl-sx150x.c
pinctrl: sx150x: fix up headers
2016-11-08 10:26:46 +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