[PATCH v2 00/12] Modular Broadcom irqchip drivers

From: Florian Fainelli
Date: Mon Sep 27 2021 - 22:27:44 EST


Hi Thomas, Marc,

This patch series aims at allowing the 3 interrupt controller drivers
used on Broadcom STB platforms to be built as modules in order for those
to be shipped in a GKI enabled system (Android).

The irq-bcm7038-l1 requires us to export a number of symbols, which is
not great, but there are not obvious solutions other than adding
accessor functions to get the same information.

Assuming you are happy with the changes though, please do take the last
two changes as well through your tree.

Thanks!

Changes in v2:

- avoid using irq_to_desc() and use irq_get_irq_data() instead
- re-order patches to avoid linking failure for irq-brcmstb-l2
- removed the use of .irq_cpu_offline() and converted BMIPS to use
irq_migrate_all_off_this_cpu()
- avoid exporting of_irq_count() and use a platform device passed
down from the irqchip platform driver registration code instead
- added kernel-doc fix

Florian Fainelli (12):
arch: Export cpu_logical_map to modules
MIPS: BMIPS: Remove use of irq_cpu_offline
irqchip/irq-bcm7038-l1: Remove .irq_cpu_offline()
irqchip/irq-bcm7038-l1: Use irq_get_irq_data()
irqchip/irq-bcm7038-l1: Switch to IRQCHIP_PLATFORM_DRIVER
genirq: Export irq_gc_{unmask_enable,mask_disable}_reg
irqchip/irq-brcmstb-l2: Switch to IRQCHIP_PLATFORM_DRIVER
irqchip: Provide platform_device to of_irq_init_cb_t
irqchip/irq-bcm7120-l2: Switch to IRQCHIP_PLATFORM_DRIVER
arm64: broadcom: Removed forced select of interrupt controllers
ARM: bcm: Removed forced select of interrupt controllers
irqchip: Fix kernel-doc parameter typo for IRQCHIP_DECLARE

arch/arm/kernel/setup.c | 1 +
arch/arm/mach-bcm/Kconfig | 4 ----
arch/arm64/Kconfig.platforms | 3 ---
arch/arm64/kernel/setup.c | 1 +
arch/mips/Kconfig | 1 +
arch/mips/kernel/smp-bmips.c | 3 ++-
arch/sh/kernel/smp.c | 1 +
drivers/irqchip/Kconfig | 12 +++++++---
drivers/irqchip/irq-bcm7038-l1.c | 38 +++++---------------------------
drivers/irqchip/irq-bcm7120-l2.c | 28 +++++++++++++----------
drivers/irqchip/irq-brcmstb-l2.c | 16 ++++++++------
drivers/irqchip/irqchip.c | 2 +-
drivers/of/irq.c | 2 +-
include/linux/irqchip.h | 2 +-
include/linux/of_irq.h | 5 ++++-
kernel/irq/generic-chip.c | 2 ++
16 files changed, 55 insertions(+), 66 deletions(-)

--
2.25.1