linux/drivers/pinctrl
Mika Westerberg 47c950d102 pinctrl: cherryview: Do not add all southwest and north GPIOs to IRQ domain
It turns out that for north and southwest communities, they can only
generate GPIO interrupts for lower 8 interrupts (IntSel value). The upper
part (8-15) can only generate GPEs (General Purpose Events).

Now the reason why EC events such as pressing hotkeys does not work if we
mask all the interrupts is that in order to generate either interrupts or
GPEs the INTMASK register must have that particular interrupt unmasked. In
case of GPEs the CPU does not trigger normal interrupt (and thus the GPIO
driver does not see it) but instead it causes SCI (System Control
Interrupt) to be triggered with the GPE in question set.

To make this all work as expected we only add those GPIOs to the IRQ domain
that can actually generate interrupts (IntSel value 0-7) and skip others.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-09-23 14:57:33 +02:00
..
aspeed pinctrl: aspeed: fix regmap error handling 2016-09-13 10:41:49 +02:00
bcm pinctrl: bcm281xx: constify pinctrl_ops and pinmux_ops structures 2016-09-07 22:41:30 +02:00
berlin pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:02:13 +02:00
freescale pinctrl: imx: accept gpio request/free from pinctrl 2016-09-12 14:25:52 +02:00
intel pinctrl: cherryview: Do not add all southwest and north GPIOs to IRQ domain 2016-09-23 14:57:33 +02:00
mediatek pinctrl: mediatek: constify gpio_chip structures 2016-09-13 10:39:33 +02:00
meson Linux 4.8-rc6 2016-09-23 14:57:16 +02:00
mvebu pinctrl: fix pincontrol definition for marvell 2016-07-24 16:23:50 +02:00
nomadik pinctrl: nomadik: don't default-flag IRQs as falling 2016-09-19 11:01:33 +02:00
pxa pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:03:04 +02:00
qcom pinctrl: qcom: Add generic ssbi and spmi GPIO/MPP bindings 2016-08-11 10:18:46 +02:00
samsung pinctrl: exynos: remove duplicate calls in irq handler 2016-08-22 14:06:29 +02:00
sh-pfc pinctrl: sh-pfc: r8a7794: Implement voltage switching for SDHI 2016-09-14 09:26:54 +02:00
sirf pinctrl: sirf: make core support explicitly non-modular 2016-08-27 13:16:12 +02:00
spear pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:03:18 +02:00
stm32 pinctrl: stm32: add IRQ_DOMAIN_HIERARCHY dependency 2016-09-15 14:13:10 +02:00
sunxi Linux 4.8-rc6 2016-09-23 14:57:16 +02: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: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:20 +02:00
core.c pinctrl: copy per-pin driver private data to struct pin_desc 2016-05-31 10:27:19 +02:00
core.h pinctrl: copy per-pin driver private data to struct pin_desc 2016-05-31 10:27:19 +02:00
devicetree.c pinctrl: OF: Don't create a pinctrl handle if no pinctrl entries exist 2016-06-18 10:40:15 +02:00
devicetree.h
Kconfig pinctrl: Add core support for Aspeed SoCs 2016-09-07 16:48:22 +02:00
Makefile pinctrl: Add core support for Aspeed SoCs 2016-09-07 16:48:22 +02:00
pinconf-generic.c Merge branch 'devel-dt-free-map' into devel 2016-06-23 11:19:14 +02:00
pinconf.c pinctrl: pinconf: separate config parameters with commas for debugfs 2016-05-31 10:29:06 +02:00
pinconf.h
pinctrl-adi2-bf54x.c
pinctrl-adi2-bf60x.c added tabs instead of spaces 2015-07-16 09:39:01 +02:00
pinctrl-adi2.c pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:20 +02:00
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: as3722: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:21 +02:00
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: Don't provide a default trigger type 2016-09-12 14:17:02 +02:00
pinctrl-at91.h
pinctrl-coh901.c pinctrl: coh901: fix initconst annotation 2016-02-15 20:40:52 +01:00
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: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:23 +02:00
pinctrl-lantiq.h pinctrl/lantiq: introduce new dedicated devicetree bindings 2015-11-30 13:12:07 +01:00
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: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map 2016-05-31 12:59:29 +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: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:24 +02:00
pinctrl-pic32.h pinctrl: pinctrl-pic32: Add PIC32 pin control driver 2016-02-05 23:54:47 +01:00
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: Fix missing flush of posted write for a wakeirq 2016-06-22 17:58:07 +02:00
pinctrl-st.c pinctrl: st: Remove STiH415/6 SoC pinctrl driver support. 2016-09-15 15:55:25 +02:00
pinctrl-tb10x.c pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:25 +02:00
pinctrl-tz1090-pdc.c pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:26 +02:00
pinctrl-tz1090.c pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:26 +02:00
pinctrl-u300.c pinctrl: u300: make u300_pmx_registers static 2016-06-13 09:27:43 +02:00
pinctrl-utils.c pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map 2016-04-01 15:06:36 +02:00
pinctrl-utils.h pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map 2016-04-01 15:06:36 +02:00
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: fix typo in sdio1_3_grp pin list 2016-09-06 00:49:00 +02:00
pinmux.c pinctrl: return -ENOMEM instead of -EINVAL for kasprintf() failure 2016-05-31 10:33:00 +02:00
pinmux.h