diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index cbf49b6404b85..344c484736afb 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig @@ -145,7 +145,7 @@ config DAVINCI_CP_INTC select IRQ_DOMAIN config DW_APB_ICTL - tristate "DesignWare APB Interrupt Controller" + bool select GENERIC_IRQ_CHIP select IRQ_DOMAIN_HIERARCHY diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c index 5eda6c4689cf8..d5c1c750c8d2d 100644 --- a/drivers/irqchip/irq-dw-apb-ictl.c +++ b/drivers/irqchip/irq-dw-apb-ictl.c @@ -122,7 +122,7 @@ static int __init dw_apb_ictl_init(struct device_node *np, int ret, nrirqs, parent_irq, i; u32 reg; - if (!parent && IS_BUILTIN(CONFIG_DW_APB_ICTL)) { + if (!parent) { /* Used as the primary interrupt controller */ parent_irq = 0; domain_ops = &dw_apb_ictl_irq_domain_ops; @@ -214,12 +214,5 @@ static int __init dw_apb_ictl_init(struct device_node *np, release_mem_region(r.start, resource_size(&r)); return ret; } -#if IS_BUILTIN(CONFIG_DW_APB_ICTL) -IRQCHIP_DECLARE(dw_apb_ictl, "snps,dw-apb-ictl", dw_apb_ictl_init); -#else -IRQCHIP_PLATFORM_DRIVER_BEGIN(dw_apb_ictl) -IRQCHIP_MATCH("snps,dw-apb-ictl", dw_apb_ictl_init) -IRQCHIP_PLATFORM_DRIVER_END(dw_apb_ictl) -MODULE_DESCRIPTION("DesignWare APB Interrupt Controller"); -MODULE_LICENSE("GPL v2"); -#endif +IRQCHIP_DECLARE(dw_apb_ictl, + "snps,dw-apb-ictl", dw_apb_ictl_init);