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:
committed by
Marc Zyngier
parent
a3d66a7634
commit
d421fd6d1f
@@ -4,10 +4,7 @@ menuconfig ARCH_SUNXI
|
|||||||
depends on ARCH_MULTI_V5 || ARCH_MULTI_V7
|
depends on ARCH_MULTI_V5 || ARCH_MULTI_V7
|
||||||
select ARCH_HAS_RESET_CONTROLLER
|
select ARCH_HAS_RESET_CONTROLLER
|
||||||
select CLKSRC_MMIO
|
select CLKSRC_MMIO
|
||||||
select GENERIC_IRQ_CHIP
|
|
||||||
select GPIOLIB
|
select GPIOLIB
|
||||||
select IRQ_DOMAIN_HIERARCHY
|
|
||||||
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select PM_OPP
|
select PM_OPP
|
||||||
select SUN4I_TIMER
|
select SUN4I_TIMER
|
||||||
@@ -22,10 +19,12 @@ if ARCH_MULTI_V7
|
|||||||
config MACH_SUN4I
|
config MACH_SUN4I
|
||||||
bool "Allwinner A10 (sun4i) SoCs support"
|
bool "Allwinner A10 (sun4i) SoCs support"
|
||||||
default ARCH_SUNXI
|
default ARCH_SUNXI
|
||||||
|
select SUN4I_INTC
|
||||||
|
|
||||||
config MACH_SUN5I
|
config MACH_SUN5I
|
||||||
bool "Allwinner A10s / A13 (sun5i) SoCs support"
|
bool "Allwinner A10s / A13 (sun5i) SoCs support"
|
||||||
default ARCH_SUNXI
|
default ARCH_SUNXI
|
||||||
|
select SUN4I_INTC
|
||||||
select SUN5I_HSTIMER
|
select SUN5I_HSTIMER
|
||||||
|
|
||||||
config MACH_SUN6I
|
config MACH_SUN6I
|
||||||
@@ -34,6 +33,8 @@ config MACH_SUN6I
|
|||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
select MFD_SUN6I_PRCM
|
select MFD_SUN6I_PRCM
|
||||||
select SUN5I_HSTIMER
|
select SUN5I_HSTIMER
|
||||||
|
select SUN6I_R_INTC
|
||||||
|
select SUNXI_NMI_INTC
|
||||||
|
|
||||||
config MACH_SUN7I
|
config MACH_SUN7I
|
||||||
bool "Allwinner A20 (sun7i) SoCs support"
|
bool "Allwinner A20 (sun7i) SoCs support"
|
||||||
@@ -43,17 +44,21 @@ config MACH_SUN7I
|
|||||||
select ARCH_SUPPORTS_BIG_ENDIAN
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
||||||
select HAVE_ARM_ARCH_TIMER
|
select HAVE_ARM_ARCH_TIMER
|
||||||
select SUN5I_HSTIMER
|
select SUN5I_HSTIMER
|
||||||
|
select SUNXI_NMI_INTC
|
||||||
|
|
||||||
config MACH_SUN8I
|
config MACH_SUN8I
|
||||||
bool "Allwinner sun8i Family SoCs support"
|
bool "Allwinner sun8i Family SoCs support"
|
||||||
default ARCH_SUNXI
|
default ARCH_SUNXI
|
||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
select MFD_SUN6I_PRCM
|
select MFD_SUN6I_PRCM
|
||||||
|
select SUN6I_R_INTC
|
||||||
|
select SUNXI_NMI_INTC
|
||||||
|
|
||||||
config MACH_SUN9I
|
config MACH_SUN9I
|
||||||
bool "Allwinner (sun9i) SoCs support"
|
bool "Allwinner (sun9i) SoCs support"
|
||||||
default ARCH_SUNXI
|
default ARCH_SUNXI
|
||||||
select ARM_GIC
|
select ARM_GIC
|
||||||
|
select SUNXI_NMI_INTC
|
||||||
|
|
||||||
config ARCH_SUNXI_MC_SMP
|
config ARCH_SUNXI_MC_SMP
|
||||||
bool
|
bool
|
||||||
@@ -69,6 +74,7 @@ if ARCH_MULTI_V5
|
|||||||
config MACH_SUNIV
|
config MACH_SUNIV
|
||||||
bool "Allwinner ARMv5 F-series (suniv) SoCs support"
|
bool "Allwinner ARMv5 F-series (suniv) SoCs support"
|
||||||
default ARCH_SUNXI
|
default ARCH_SUNXI
|
||||||
|
select SUN4I_INTC
|
||||||
help
|
help
|
||||||
Support for Allwinner suniv ARMv5 SoCs.
|
Support for Allwinner suniv ARMv5 SoCs.
|
||||||
(F1C100A, F1C100s, F1C200s, F1C500, F1C600)
|
(F1C100A, F1C100s, F1C200s, F1C500, F1C600)
|
||||||
|
@@ -11,12 +11,11 @@ config ARCH_ACTIONS
|
|||||||
config ARCH_SUNXI
|
config ARCH_SUNXI
|
||||||
bool "Allwinner sunxi 64-bit SoC Family"
|
bool "Allwinner sunxi 64-bit SoC Family"
|
||||||
select ARCH_HAS_RESET_CONTROLLER
|
select ARCH_HAS_RESET_CONTROLLER
|
||||||
select GENERIC_IRQ_CHIP
|
|
||||||
select IRQ_DOMAIN_HIERARCHY
|
|
||||||
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
||||||
select PINCTRL
|
select PINCTRL
|
||||||
select RESET_CONTROLLER
|
select RESET_CONTROLLER
|
||||||
select SUN4I_TIMER
|
select SUN4I_TIMER
|
||||||
|
select SUN6I_R_INTC
|
||||||
|
select SUNXI_NMI_INTC
|
||||||
help
|
help
|
||||||
This enables support for Allwinner sunxi based SoCs like the A64.
|
This enables support for Allwinner sunxi based SoCs like the A64.
|
||||||
|
|
||||||
|
@@ -257,6 +257,18 @@ config ST_IRQCHIP
|
|||||||
help
|
help
|
||||||
Enables SysCfg Controlled IRQs on STi based platforms.
|
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
|
config TB10X_IRQC
|
||||||
bool
|
bool
|
||||||
select IRQ_DOMAIN
|
select IRQ_DOMAIN
|
||||||
|
@@ -23,9 +23,9 @@ obj-$(CONFIG_OMPIC) += irq-ompic.o
|
|||||||
obj-$(CONFIG_OR1K_PIC) += irq-or1k-pic.o
|
obj-$(CONFIG_OR1K_PIC) += irq-or1k-pic.o
|
||||||
obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o
|
obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o
|
||||||
obj-$(CONFIG_OMAP_IRQCHIP) += irq-omap-intc.o
|
obj-$(CONFIG_OMAP_IRQCHIP) += irq-omap-intc.o
|
||||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sun4i.o
|
obj-$(CONFIG_SUN4I_INTC) += irq-sun4i.o
|
||||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sun6i-r.o
|
obj-$(CONFIG_SUN6I_R_INTC) += irq-sun6i-r.o
|
||||||
obj-$(CONFIG_ARCH_SUNXI) += irq-sunxi-nmi.o
|
obj-$(CONFIG_SUNXI_NMI_INTC) += irq-sunxi-nmi.o
|
||||||
obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o
|
obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o
|
||||||
obj-$(CONFIG_ARM_GIC) += irq-gic.o irq-gic-common.o
|
obj-$(CONFIG_ARM_GIC) += irq-gic.o irq-gic-common.o
|
||||||
obj-$(CONFIG_ARM_GIC_PM) += irq-gic-pm.o
|
obj-$(CONFIG_ARM_GIC_PM) += irq-gic-pm.o
|
||||||
|
Reference in New Issue
Block a user