Mika Westerberg
72923e5488
Revert "pinctrl: intel: Do pin translation when lock IRQ"
...
This reverts commit 55aedef50d .
Commit 55aedef50d ("pinctrl: intel: Do pin translation when lock IRQ")
added special translation from GPIO number to hardware pin number to
irq_reqres/relres hooks to avoid failure when IRQs are requested. The
actual failure happened inside gpiochip_lock_as_irq() because it calls
gpiod_get_direction() and pinctrl-intel.c::intel_gpio_get_direction()
implementation originally missed the translation so the two hooks made
it work by skipping the ->get_direction() call entirely (it overwrote
the default GPIOLIB provided functions).
The proper fix that adds translation to GPIO callbacks was merged with
commit 96147db1e1 ("pinctrl: intel: Do pin translation in other GPIO
operations as well"). This allows us to use the default GPIOLIB provided
functions again.
In addition as find out by Benjamin Tissoires the two functions
(intel_gpio_irq_reqres()/intel_gpio_irq_relres()) now cause problems of
their own because they operate on pin numbers and pass that pin number
to gpiochip_lock_as_irq() which actually expects a GPIO number.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=199911
Fixes: 55aedef50d ("pinctrl: intel: Do pin translation when lock IRQ")
Reported-and-tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-09-25 12:50:00 +02:00
..
actions
This is the bulk of pin control changes for v4.19:
2018-08-14 12:31:27 -07:00
aspeed
pinctrl: aspeed: Fix documentation
2018-06-28 16:13:12 +02:00
bcm
pinctrl: nsp: Fix potential NULL dereference
2018-07-14 12:47:04 +02:00
berlin
pinctrl: berlin: fix 'pctrl->functions' allocation in berlin_pinctrl_build_state
2018-08-03 19:28:15 +02:00
cirrus
pinctrl: madera: Fix possible NULL pointer with pdata config
2018-08-29 14:02:47 +02:00
freescale
pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
2018-08-01 23:01:07 +02:00
intel
Revert "pinctrl: intel: Do pin translation when lock IRQ"
2018-09-25 12:50:00 +02:00
mediatek
This is the bulk of pin control changes for v4.19:
2018-08-14 12:31:27 -07:00
meson
pinctrl: meson: add gen_clk pins
2018-07-16 14:46:11 +02:00
mvebu
pinctrl: armada-37xx: add suspend/resume support
2018-06-29 14:41:10 +02:00
nomadik
pinctrl: nomadik: silence uninitialized variable warning
2018-08-10 23:14:04 +02:00
pxa
qcom
pinctrl: msm: Really mask level interrupts to prevent latching
2018-08-29 09:38:50 +02:00
samsung
pinctrl: samsung: Remove duplicated "wakeup" in printk
2018-08-10 23:01:01 +02:00
sh-pfc
This is the bulk of pin control changes for v4.19:
2018-08-14 12:31:27 -07:00
sirf
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
spear
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
sprd
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
stm32
pinctrl: stm32: add syscfg mask parameter
2018-07-29 22:14:59 +02:00
sunxi
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
tegra
pinctrl: tegra: Move drivers registration to arch_init level
2018-08-03 19:17:39 +02:00
ti
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
uniphier
Char/Misc driver patches for 4.19-rc1
2018-08-18 11:04:51 -07:00
vt8500
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
zte
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
core.c
pinctrl: core: Return selector to the pinctrl driver
2018-07-17 10:48:25 +02:00
core.h
pinctrl: core: Remove broken remove_last group and pinmux functions
2018-07-17 10:49:49 +02:00
devicetree.c
pinctrl: Support stopping deferred probe after initcalls
2018-07-10 17:22:35 +02:00
devicetree.h
Kconfig
- New Drivers
2018-08-20 15:38:44 -07:00
Makefile
Immutable branch (mfd, chrome) due for the v4.19 window
2018-07-27 08:11:37 +01:00
pinconf-generic.c
pinconf.c
pinconf.h
pinctrl-amd.c
pinctrl/amd: poll InterruptEnable bits in amd_gpio_irq_set_type
2018-09-25 12:39:19 +02:00
pinctrl-amd.h
pinctrl/amd: fix gpio irq level in debugfs
2018-07-29 22:20:15 +02:00
pinctrl-artpec6.c
pinctrl-as3722.c
pinctrl-at91-pio4.c
pinctrl: at91-pio4: Remove redundant return value check
2018-07-16 14:46:11 +02:00
pinctrl-at91.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-at91.h
pinctrl-axp209.c
pinctrl: axp209: Fix NULL pointer dereference after allocation
2018-08-10 23:12:43 +02:00
pinctrl-coh901.c
pinctrl-coh901.h
pinctrl-da850-pupd.c
pinctrl-digicolor.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-falcon.c
pinctrl-gemini.c
pinctrl: gemini: Mask properly
2018-06-26 09:51:42 +02:00
pinctrl-ingenic.c
pinctrl: ingenic: Fix group & function error checking
2018-08-29 13:43:36 +02:00
pinctrl-lantiq.c
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-lantiq.h
pinctrl-lpc18xx.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-max77620.c
pinctrl-mcp23s08.c
pinctrl: mcp23s08: debugfs: Do not restore the INTF register
2018-06-18 07:56:05 +02:00
pinctrl-ocelot.c
pinctrl: ocelot: add support for interrupt controller
2018-08-06 13:00:17 +02:00
pinctrl-oxnas.c
pinctrl-palmas.c
pinctrl-pic32.c
pinctrl-pic32.h
pinctrl-pistachio.c
pinctrl-rk805.c
pinctrl-rockchip.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-rza1.c
pinctrl: rza1: Fix selector use for groups and functions
2018-07-17 10:49:33 +02:00
pinctrl-single.c
This is the bulk of pin control changes for v4.19:
2018-08-14 12:31:27 -07:00
pinctrl-st.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-sx150x.c
pinctrl-tb10x.c
pinctrl-u300.c
headers: separate linux/mod_devicetable.h from linux/platform_device.h
2018-07-07 17:52:26 +02:00
pinctrl-utils.c
pinctrl-utils.h
pinctrl-xway.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
pinctrl-zynq.c
pinmux.c
pinctrl: pinmux: Return selector to the pinctrl driver
2018-07-17 10:48:47 +02:00
pinmux.h
pinctrl: core: Remove broken remove_last group and pinmux functions
2018-07-17 10:49:49 +02:00