mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-27 14:30:44 +07:00
3e6cee1786
The pin control registers can have interrupts for example for device wake-up. These interrupts can be treated as a chained interrupt controller as suggested earlier by Linus Walleij <linus.walleij@linaro.org>. This patch adds support for interrupts in a way that should be pretty generic, and works for the omaps that support wake-up interrupts. On omaps, there's an interrupt enable and interrupt status bit for each pin. The two pinctrl domains on omaps share a single interrupt from the PRM chained interrupt handler. Support for other similar hardware should be easy to add. Note that this patch does not attempt to handle the wake-up interrupts automatically unlike the earlier patches. This patch allows the device drivers to do a request_irq() on the wake-up pins as needed. I'll try to do also a separate generic patch for handling the wake-up events automatically. Also note that as this patch makes the pinctrl-single an irq controller, the current bindings need some extra trickery to use interrupts from two different interrupt controllers for the same driver. So it might be worth waiting a little on the patches enabling the wake-up interrupts from drivers as there should be a generic way to handle it coming. And also there's been discussion of interrupts-extended binding for using interrupts from multiple interrupt controllers. In any case, this patch should be ready to go allowing handling the wake-up interrupts in a generic way, or separately from the device drivers. Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Grygorii Strashko <grygorii.strashko@ti.com> Cc: Prakash Manjunathappa <prakash.pm@ti.com> Cc: Roger Quadros <rogerq@ti.com> Cc: linux-kernel@vger.kernel.org Cc: Benoît Cousson <bcousson@baylibre.com> Cc: devicetree@vger.kernel.org Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> |
||
---|---|---|
.. | ||
mvebu | ||
sh-pfc | ||
sirf | ||
spear | ||
vt8500 | ||
core.c | ||
core.h | ||
devicetree.c | ||
devicetree.h | ||
Kconfig | ||
Makefile | ||
pinconf-generic.c | ||
pinconf.c | ||
pinconf.h | ||
pinctrl-ab8500.c | ||
pinctrl-ab8505.c | ||
pinctrl-ab8540.c | ||
pinctrl-ab9540.c | ||
pinctrl-abx500.c | ||
pinctrl-abx500.h | ||
pinctrl-at91.c | ||
pinctrl-baytrail.c | ||
pinctrl-bcm2835.c | ||
pinctrl-coh901.c | ||
pinctrl-coh901.h | ||
pinctrl-exynos5440.c | ||
pinctrl-exynos.c | ||
pinctrl-exynos.h | ||
pinctrl-falcon.c | ||
pinctrl-imx6dl.c | ||
pinctrl-imx6q.c | ||
pinctrl-imx6sl.c | ||
pinctrl-imx23.c | ||
pinctrl-imx28.c | ||
pinctrl-imx35.c | ||
pinctrl-imx51.c | ||
pinctrl-imx53.c | ||
pinctrl-imx.c | ||
pinctrl-imx.h | ||
pinctrl-lantiq.c | ||
pinctrl-lantiq.h | ||
pinctrl-mxs.c | ||
pinctrl-mxs.h | ||
pinctrl-nomadik-db8500.c | ||
pinctrl-nomadik-db8540.c | ||
pinctrl-nomadik-stn8815.c | ||
pinctrl-nomadik.c | ||
pinctrl-nomadik.h | ||
pinctrl-palmas.c | ||
pinctrl-rockchip.c | ||
pinctrl-s3c24xx.c | ||
pinctrl-s3c64xx.c | ||
pinctrl-samsung.c | ||
pinctrl-samsung.h | ||
pinctrl-single.c | ||
pinctrl-st.c | ||
pinctrl-sunxi-pins.h | ||
pinctrl-sunxi.c | ||
pinctrl-sunxi.h | ||
pinctrl-tegra20.c | ||
pinctrl-tegra30.c | ||
pinctrl-tegra114.c | ||
pinctrl-tegra.c | ||
pinctrl-tegra.h | ||
pinctrl-tz1090-pdc.c | ||
pinctrl-tz1090.c | ||
pinctrl-u300.c | ||
pinctrl-utils.c | ||
pinctrl-utils.h | ||
pinctrl-vf610.c | ||
pinctrl-xway.c | ||
pinmux.c | ||
pinmux.h |