irqchip: Add Kconfig symbols for sunxi drivers
Not all of these drivers are needed on every ARCH_SUNXI platform. In particular, the ARCH_SUNXI symbol will be reused for the Allwinner D1, a RISC-V SoC which contains none of these irqchips. Introduce Kconfig symbols so we can select only the drivers actually used by a particular set of platforms. This also lets us move the irqchip driver dependencies to a more appropriate location. Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20220509034941.30704-1-samuel@sholland.org
This commit is contained in:
parent
a3d66a7634
commit
d421fd6d1f
@ -4,10 +4,7 @@ menuconfig ARCH_SUNXI
|
||||
depends on ARCH_MULTI_V5 || ARCH_MULTI_V7
|
||||
select ARCH_HAS_RESET_CONTROLLER
|
||||
select CLKSRC_MMIO
|
||||
select GENERIC_IRQ_CHIP
|
||||
select GPIOLIB
|
||||
select IRQ_DOMAIN_HIERARCHY
|
||||
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
||||
select PINCTRL
|
||||
select PM_OPP
|
||||
select SUN4I_TIMER
|
||||
@ -22,10 +19,12 @@ if ARCH_MULTI_V7
|
||||
config MACH_SUN4I
|
||||
bool "Allwinner A10 (sun4i) SoCs support"
|
||||
default ARCH_SUNXI
|
||||
select SUN4I_INTC
|
||||
|
||||
config MACH_SUN5I
|
||||
bool "Allwinner A10s / A13 (sun5i) SoCs support"
|
||||
default ARCH_SUNXI
|
||||
select SUN4I_INTC
|
||||
select SUN5I_HSTIMER
|
||||
|
||||
config MACH_SUN6I
|
||||
@ -34,6 +33,8 @@ config MACH_SUN6I
|
||||
select ARM_GIC
|
||||
select MFD_SUN6I_PRCM
|
||||
select SUN5I_HSTIMER
|
||||
select SUN6I_R_INTC
|
||||
select SUNXI_NMI_INTC
|
||||
|
||||
config MACH_SUN7I
|
||||
bool "Allwinner A20 (sun7i) SoCs support"
|
||||
@ -43,17 +44,21 @@ config MACH_SUN7I
|
||||
select ARCH_SUPPORTS_BIG_ENDIAN
|
||||
select HAVE_ARM_ARCH_TIMER
|
||||
select SUN5I_HSTIMER
|
||||
select SUNXI_NMI_INTC
|
||||
|
||||
config MACH_SUN8I
|
||||
bool "Allwinner sun8i Family SoCs support"
|
||||
default ARCH_SUNXI
|
||||
select ARM_GIC
|
||||
select MFD_SUN6I_PRCM
|
||||
select SUN6I_R_INTC
|
||||
select SUNXI_NMI_INTC
|
||||
|
||||
config MACH_SUN9I
|
||||
bool "Allwinner (sun9i) SoCs support"
|
||||
default ARCH_SUNXI
|
||||
select ARM_GIC
|
||||
select SUNXI_NMI_INTC
|
||||
|
||||
config ARCH_SUNXI_MC_SMP
|
||||
bool
|
||||
@ -69,6 +74,7 @@ if ARCH_MULTI_V5
|
||||
config MACH_SUNIV
|
||||
bool "Allwinner ARMv5 F-series (suniv) SoCs support"
|
||||
default ARCH_SUNXI
|
||||
select SUN4I_INTC
|
||||
help
|
||||
Support for Allwinner suniv ARMv5 SoCs.
|
||||
(F1C100A, F1C100s, F1C200s, F1C500, F1C600)
|
||||
|
@ -11,12 +11,11 @@ config ARCH_ACTIONS
|
||||
config ARCH_SUNXI
|
||||
bool "Allwinner sunxi 64-bit SoC Family"
|
||||
select ARCH_HAS_RESET_CONTROLLER
|
||||
select GENERIC_IRQ_CHIP
|
||||
select IRQ_DOMAIN_HIERARCHY
|
||||
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
||||
select PINCTRL
|
||||
select RESET_CONTROLLER
|
||||
select SUN4I_TIMER
|
||||
select SUN6I_R_INTC
|
||||
select SUNXI_NMI_INTC
|
||||
help
|
||||
This enables support for Allwinner sunxi based SoCs like the A64.
|
||||
|
||||
|
@ -257,6 +257,18 @@ config ST_IRQCHIP
|
||||
help
|
||||
Enables SysCfg Controlled IRQs on STi based platforms.
|
||||
|
||||
config SUN4I_INTC
|
||||
bool
|
||||
|
||||
config SUN6I_R_INTC
|
||||
bool
|
||||
select IRQ_DOMAIN_HIERARCHY
|
||||
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
||||
|
||||
config SUNXI_NMI_INTC
|
||||
bool
|
||||
select GENERIC_IRQ_CHIP
|
||||
|
||||
config TB10X_IRQC
|
||||
bool
|
||||
select IRQ_DOMAIN
|
||||
|
@ -23,9 +23,9 @@ obj-$(CONFIG_OMPIC) += irq-ompic.o
|
||||
obj-$(CONFIG_OR1K_PIC) += irq-or1k-pic.o
|
||||
obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o
|
||||
obj-$(CONFIG_OMAP_IRQCHIP) += irq-omap-intc.o
|
||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sun4i.o
|
||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sun6i-r.o
|
||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sunxi-nmi.o
|
||||
obj-$(CONFIG_SUN4I_INTC) += irq-sun4i.o
|
||||
obj-$(CONFIG_SUN6I_R_INTC) += irq-sun6i-r.o
|
||||
obj-$(CONFIG_SUNXI_NMI_INTC) += irq-sunxi-nmi.o
|
||||
obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o
|
||||
obj-$(CONFIG_ARM_GIC) += irq-gic.o irq-gic-common.o
|
||||
obj-$(CONFIG_ARM_GIC_PM) += irq-gic-pm.o
|
||||
|
Loading…
Reference in New Issue
Block a user