Commit d421fd6d authored by Samuel Holland's avatar Samuel Holland Committed by Marc Zyngier
Browse files

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: default avatarSamuel Holland <samuel@sholland.org>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220509034941.30704-1-samuel@sholland.org
parent a3d66a76
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -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)
+2 −3
Original line number Diff line number Diff line
@@ -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.

+12 −0
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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