mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
![Masahiro Yamada](/assets/img/avatar_default.png)
This GPIO controller is used on UniPhier SoC family. It also serves as an interrupt controller, but interrupt signals are just delivered to the parent irqchip without any latching or OR'ing. This type of hardware can be well described with hierarchy IRQ domain. One unfortunate thing for this device is that the interrupt mapping to the interrupt parent is not contiguous. I asked how DT can describe interrupt mapping between two irqchips [1], but I could not find a good solution (at least in the framework level). In fact, irqchip drivers using hierarchy domain generally hard-code the DT binding of their parent. After tackling on several approaches such as hard-code of hwirqs, irq_domain_push_irq(), I ended up with a vendor specific property. If we come up with a good idea to support this in the framework, we can migrate over to it, but we can live with a driver-level solution for now. [1] https://lkml.org/lkml/2017/7/6/758 Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
154 lines
6.5 KiB
Makefile
154 lines
6.5 KiB
Makefile
# generic gpio support: platform drivers, dedicated expander chips, etc
|
|
|
|
ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
|
|
|
|
obj-$(CONFIG_GPIOLIB) += devres.o
|
|
obj-$(CONFIG_GPIOLIB) += gpiolib.o
|
|
obj-$(CONFIG_GPIOLIB) += gpiolib-legacy.o
|
|
obj-$(CONFIG_GPIOLIB) += gpiolib-devprop.o
|
|
obj-$(CONFIG_OF_GPIO) += gpiolib-of.o
|
|
obj-$(CONFIG_GPIO_SYSFS) += gpiolib-sysfs.o
|
|
obj-$(CONFIG_GPIO_ACPI) += gpiolib-acpi.o
|
|
|
|
# Device drivers. Generally keep list sorted alphabetically
|
|
obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o
|
|
|
|
# directly supported by gpio-generic
|
|
gpio-generic-$(CONFIG_GPIO_GENERIC) += gpio-mmio.o
|
|
|
|
obj-$(CONFIG_GPIO_104_DIO_48E) += gpio-104-dio-48e.o
|
|
obj-$(CONFIG_GPIO_104_IDIO_16) += gpio-104-idio-16.o
|
|
obj-$(CONFIG_GPIO_104_IDI_48) += gpio-104-idi-48.o
|
|
obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o
|
|
obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o
|
|
obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o
|
|
obj-$(CONFIG_GPIO_ADP5520) += gpio-adp5520.o
|
|
obj-$(CONFIG_GPIO_ADP5588) += gpio-adp5588.o
|
|
obj-$(CONFIG_GPIO_ALTERA) += gpio-altera.o
|
|
obj-$(CONFIG_GPIO_ALTERA_A10SR) += gpio-altera-a10sr.o
|
|
obj-$(CONFIG_GPIO_AMD8111) += gpio-amd8111.o
|
|
obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o
|
|
obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o
|
|
obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o
|
|
obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o
|
|
obj-$(CONFIG_GPIO_AXP209) += gpio-axp209.o
|
|
obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o
|
|
obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o
|
|
obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o
|
|
obj-$(CONFIG_GPIO_BT8XX) += gpio-bt8xx.o
|
|
obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o
|
|
obj-$(CONFIG_GPIO_CS5535) += gpio-cs5535.o
|
|
obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o
|
|
obj-$(CONFIG_GPIO_DA9052) += gpio-da9052.o
|
|
obj-$(CONFIG_GPIO_DA9055) += gpio-da9055.o
|
|
obj-$(CONFIG_GPIO_DAVINCI) += gpio-davinci.o
|
|
obj-$(CONFIG_GPIO_DLN2) += gpio-dln2.o
|
|
obj-$(CONFIG_GPIO_DWAPB) += gpio-dwapb.o
|
|
obj-$(CONFIG_GPIO_EM) += gpio-em.o
|
|
obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o
|
|
obj-$(CONFIG_GPIO_ETRAXFS) += gpio-etraxfs.o
|
|
obj-$(CONFIG_GPIO_EXAR) += gpio-exar.o
|
|
obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o
|
|
obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o
|
|
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
|
|
obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o
|
|
obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o
|
|
obj-$(CONFIG_HTC_EGPIO) += gpio-htc-egpio.o
|
|
obj-$(CONFIG_GPIO_ICH) += gpio-ich.o
|
|
obj-$(CONFIG_GPIO_INGENIC) += gpio-ingenic.o
|
|
obj-$(CONFIG_GPIO_IOP) += gpio-iop.o
|
|
obj-$(CONFIG_GPIO_IT87) += gpio-it87.o
|
|
obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
|
|
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
|
|
obj-$(CONFIG_ARCH_KS8695) += gpio-ks8695.o
|
|
obj-$(CONFIG_GPIO_INTEL_MID) += gpio-intel-mid.o
|
|
obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
|
|
obj-$(CONFIG_GPIO_LP3943) += gpio-lp3943.o
|
|
obj-$(CONFIG_GPIO_LPC18XX) += gpio-lpc18xx.o
|
|
obj-$(CONFIG_ARCH_LPC32XX) += gpio-lpc32xx.o
|
|
obj-$(CONFIG_GPIO_LP873X) += gpio-lp873x.o
|
|
obj-$(CONFIG_GPIO_LP87565) += gpio-lp87565.o
|
|
obj-$(CONFIG_GPIO_LYNXPOINT) += gpio-lynxpoint.o
|
|
obj-$(CONFIG_GPIO_MAX3191X) += gpio-max3191x.o
|
|
obj-$(CONFIG_GPIO_MAX730X) += gpio-max730x.o
|
|
obj-$(CONFIG_GPIO_MAX7300) += gpio-max7300.o
|
|
obj-$(CONFIG_GPIO_MAX7301) += gpio-max7301.o
|
|
obj-$(CONFIG_GPIO_MAX732X) += gpio-max732x.o
|
|
obj-$(CONFIG_GPIO_MAX77620) += gpio-max77620.o
|
|
obj-$(CONFIG_GPIO_MB86S7X) += gpio-mb86s7x.o
|
|
obj-$(CONFIG_GPIO_MENZ127) += gpio-menz127.o
|
|
obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o
|
|
obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o
|
|
obj-$(CONFIG_GPIO_MC9S08DZ60) += gpio-mc9s08dz60.o
|
|
obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o
|
|
obj-$(CONFIG_GPIO_MM_LANTIQ) += gpio-mm-lantiq.o
|
|
obj-$(CONFIG_GPIO_MOCKUP) += gpio-mockup.o
|
|
obj-$(CONFIG_GPIO_MPC5200) += gpio-mpc5200.o
|
|
obj-$(CONFIG_GPIO_MPC8XXX) += gpio-mpc8xxx.o
|
|
obj-$(CONFIG_GPIO_MSIC) += gpio-msic.o
|
|
obj-$(CONFIG_GPIO_MVEBU) += gpio-mvebu.o
|
|
obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o
|
|
obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o
|
|
obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o
|
|
obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o
|
|
obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o
|
|
obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o
|
|
obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
|
|
obj-$(CONFIG_GPIO_PCI_IDIO_16) += gpio-pci-idio-16.o
|
|
obj-$(CONFIG_GPIO_PISOSR) += gpio-pisosr.o
|
|
obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
|
|
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
|
|
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
|
|
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
|
|
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
|
|
obj-$(CONFIG_GPIO_REG) += gpio-reg.o
|
|
obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
|
|
obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
|
|
obj-$(CONFIG_GPIO_SCH311X) += gpio-sch311x.o
|
|
obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o
|
|
obj-$(CONFIG_GPIO_SPEAR_SPICS) += gpio-spear-spics.o
|
|
obj-$(CONFIG_GPIO_STA2X11) += gpio-sta2x11.o
|
|
obj-$(CONFIG_GPIO_STMPE) += gpio-stmpe.o
|
|
obj-$(CONFIG_GPIO_STP_XWAY) += gpio-stp-xway.o
|
|
obj-$(CONFIG_GPIO_SYSCON) += gpio-syscon.o
|
|
obj-$(CONFIG_GPIO_TB10X) += gpio-tb10x.o
|
|
obj-$(CONFIG_GPIO_TC3589X) += gpio-tc3589x.o
|
|
obj-$(CONFIG_GPIO_TEGRA) += gpio-tegra.o
|
|
obj-$(CONFIG_GPIO_THUNDERX) += gpio-thunderx.o
|
|
obj-$(CONFIG_GPIO_TIMBERDALE) += gpio-timberdale.o
|
|
obj-$(CONFIG_GPIO_PALMAS) += gpio-palmas.o
|
|
obj-$(CONFIG_GPIO_TPIC2810) += gpio-tpic2810.o
|
|
obj-$(CONFIG_GPIO_TPS65086) += gpio-tps65086.o
|
|
obj-$(CONFIG_GPIO_TPS65218) += gpio-tps65218.o
|
|
obj-$(CONFIG_GPIO_TPS6586X) += gpio-tps6586x.o
|
|
obj-$(CONFIG_GPIO_TPS65910) += gpio-tps65910.o
|
|
obj-$(CONFIG_GPIO_TPS65912) += gpio-tps65912.o
|
|
obj-$(CONFIG_GPIO_TPS68470) += gpio-tps68470.o
|
|
obj-$(CONFIG_GPIO_TS4800) += gpio-ts4800.o
|
|
obj-$(CONFIG_GPIO_TS4900) += gpio-ts4900.o
|
|
obj-$(CONFIG_GPIO_TS5500) += gpio-ts5500.o
|
|
obj-$(CONFIG_GPIO_TWL4030) += gpio-twl4030.o
|
|
obj-$(CONFIG_GPIO_TWL6040) += gpio-twl6040.o
|
|
obj-$(CONFIG_GPIO_TZ1090) += gpio-tz1090.o
|
|
obj-$(CONFIG_GPIO_TZ1090_PDC) += gpio-tz1090-pdc.o
|
|
obj-$(CONFIG_GPIO_UCB1400) += gpio-ucb1400.o
|
|
obj-$(CONFIG_GPIO_UNIPHIER) += gpio-uniphier.o
|
|
obj-$(CONFIG_GPIO_VF610) += gpio-vf610.o
|
|
obj-$(CONFIG_GPIO_VIPERBOARD) += gpio-viperboard.o
|
|
obj-$(CONFIG_GPIO_VR41XX) += gpio-vr41xx.o
|
|
obj-$(CONFIG_GPIO_VX855) += gpio-vx855.o
|
|
obj-$(CONFIG_GPIO_WHISKEY_COVE) += gpio-wcove.o
|
|
obj-$(CONFIG_GPIO_WM831X) += gpio-wm831x.o
|
|
obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o
|
|
obj-$(CONFIG_GPIO_WM8994) += gpio-wm8994.o
|
|
obj-$(CONFIG_GPIO_WS16C48) += gpio-ws16c48.o
|
|
obj-$(CONFIG_GPIO_XGENE) += gpio-xgene.o
|
|
obj-$(CONFIG_GPIO_XGENE_SB) += gpio-xgene-sb.o
|
|
obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx.o
|
|
obj-$(CONFIG_GPIO_XLP) += gpio-xlp.o
|
|
obj-$(CONFIG_GPIO_XRA1403) += gpio-xra1403.o
|
|
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
|
|
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
|
|
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
|
|
obj-$(CONFIG_GPIO_ZX) += gpio-zx.o
|
|
obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o
|