Skip to content

Commit a150dac

Browse files
author
Marc Zyngier
committed
irqchip: Revert modular support for drivers using IRQCHIP_PLATFORM_DRIVER helperse
It has become obvious that switching a number of irqchip drivers to being platform drivers without considering the platform was a mistake. We have multiple reports of end-point drivers not probing because the irqchip driver isn't there yet, breaking the expectations of the users. This patch reverts: 920ecb8 ("irqchip/mtk-cirq: Convert to a platform driver") f97dbf4 ("irqchip/mtk-sysirq: Convert to a platform driver") 5be5709 ("irqchip/qcom-pdc: Switch to using IRQCHIP_PLATFORM_DRIVER helper macros") 95bf930 ("irqchip/qcom-pdc: Allow QCOM_PDC to be loadable as a permanent module") and leave QCOM PDC, MTK sysrq and cirq drivers as built-in, special purpose drivers for the time being until we have worked out a better solution. Reported-by: Enric Balletbo i Serra <[email protected]> Reported-by: Frank Wunderlich <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 7828a3e commit a150dac

File tree

4 files changed

+4
-14
lines changed

4 files changed

+4
-14
lines changed

drivers/irqchip/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ config GOLDFISH_PIC
425425
for Goldfish based virtual platforms.
426426

427427
config QCOM_PDC
428-
tristate "QCOM PDC"
428+
bool "QCOM PDC"
429429
depends on ARCH_QCOM
430430
select IRQ_DOMAIN_HIERARCHY
431431
help

drivers/irqchip/irq-mtk-cirq.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,4 @@ static int __init mtk_cirq_of_init(struct device_node *node,
295295
return ret;
296296
}
297297

298-
IRQCHIP_PLATFORM_DRIVER_BEGIN(mtk_cirq)
299-
IRQCHIP_MATCH("mediatek,mtk-cirq", mtk_cirq_of_init)
300-
IRQCHIP_PLATFORM_DRIVER_END(mtk_cirq)
298+
IRQCHIP_DECLARE(mtk_cirq, "mediatek,mtk-cirq", mtk_cirq_of_init);

drivers/irqchip/irq-mtk-sysirq.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,4 @@ static int __init mtk_sysirq_of_init(struct device_node *node,
231231
kfree(chip_data);
232232
return ret;
233233
}
234-
IRQCHIP_PLATFORM_DRIVER_BEGIN(mtk_sysirq)
235-
IRQCHIP_MATCH("mediatek,mt6577-sysirq", mtk_sysirq_of_init)
236-
IRQCHIP_PLATFORM_DRIVER_END(mtk_sysirq)
234+
IRQCHIP_DECLARE(mtk_sysirq, "mediatek,mt6577-sysirq", mtk_sysirq_of_init);

drivers/irqchip/qcom-pdc.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@
1111
#include <linux/irqdomain.h>
1212
#include <linux/io.h>
1313
#include <linux/kernel.h>
14-
#include <linux/module.h>
1514
#include <linux/of.h>
1615
#include <linux/of_address.h>
1716
#include <linux/of_device.h>
18-
#include <linux/of_irq.h>
1917
#include <linux/soc/qcom/irq.h>
2018
#include <linux/spinlock.h>
2119
#include <linux/slab.h>
@@ -432,8 +430,4 @@ static int qcom_pdc_init(struct device_node *node, struct device_node *parent)
432430
return ret;
433431
}
434432

435-
IRQCHIP_PLATFORM_DRIVER_BEGIN(qcom_pdc)
436-
IRQCHIP_MATCH("qcom,pdc", qcom_pdc_init)
437-
IRQCHIP_PLATFORM_DRIVER_END(qcom_pdc)
438-
MODULE_DESCRIPTION("Qualcomm Technologies, Inc. Power Domain Controller");
439-
MODULE_LICENSE("GPL v2");
433+
IRQCHIP_DECLARE(qcom_pdc, "qcom,pdc", qcom_pdc_init);

0 commit comments

Comments
 (0)