tmp_suning_uos_patched/drivers/pinctrl
Hans de Goede ef6d24cc7f pinctrl: sun4i: GPIOs configured as irq must be set to input before reading
On sun4i-a10, when GPIOs are configured as external interrupt the value for
them in the data register does not seem to get updated, so set their mux to
input (and restore afterwards) when reading the pin.

Missed edges seem to be buffered, so this does not introduce a race
condition.

I've also tested this on sun5i-a13 and sun7i-a20 and those do not seem to
be affected, the input value representation in the data register does seem
to correctly get updated to the actual pin value while in irq mode there.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-03-18 10:56:46 +01:00
..
berlin
freescale
intel pinctrl: update direction_output function of cherryview driver 2015-03-10 09:02:23 +01:00
meson
mvebu
nomadik
qcom
samsung
sh-pfc
sirf
spear
sunxi pinctrl: sun4i: GPIOs configured as irq must be set to input before reading 2015-03-18 10:56:46 +01:00
vt8500
core.c
core.h
devicetree.c
devicetree.h
Kconfig
Makefile
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c
pinctrl-adi2.c
pinctrl-adi2.h
pinctrl-as3722.c
pinctrl-at91.c pinctrl: at91: move lock/unlock_as_irq calls into request/release 2015-03-18 02:01:36 +01:00
pinctrl-at91.h
pinctrl-bcm281xx.c
pinctrl-bcm2835.c
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-falcon.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-palmas.c
pinctrl-rockchip.c
pinctrl-single.c
pinctrl-st.c
pinctrl-tb10x.c
pinctrl-tegra20.c
pinctrl-tegra30.c
pinctrl-tegra114.c
pinctrl-tegra124.c
pinctrl-tegra-xusb.c
pinctrl-tegra.c
pinctrl-tegra.h
pinctrl-tz1090-pdc.c
pinctrl-tz1090.c
pinctrl-u300.c
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
pinctrl-zynq.c
pinmux.c
pinmux.h