]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
irqchip/irq-bcm7120-l2: Fix section mismatch
authorJohan Hovold <johan@kernel.org>
Mon, 13 Oct 2025 09:46:04 +0000 (11:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:54:42 +0000 (13:54 +0100)
[ Upstream commit bfc0c5beab1fde843677923cf008f41d583c980a ]

Platform drivers can be probed after their init sections have been
discarded so the irqchip init callbacks must not live in init.

Fixes: 3ac268d5ed22 ("irqchip/irq-bcm7120-l2: Switch to IRQCHIP_PLATFORM_DRIVER")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/irqchip/irq-bcm7120-l2.c

index 1e9dab6e0d86fe618064c5a58e7a66e09daa5a5f..bb6e56629e53260fd6fadfbe46e21f4736cda8e2 100644 (file)
@@ -147,8 +147,7 @@ static int bcm7120_l2_intc_init_one(struct device_node *dn,
        return 0;
 }
 
-static int __init bcm7120_l2_intc_iomap_7120(struct device_node *dn,
-                                            struct bcm7120_l2_intc_data *data)
+static int bcm7120_l2_intc_iomap_7120(struct device_node *dn, struct bcm7120_l2_intc_data *data)
 {
        int ret;
 
@@ -181,8 +180,7 @@ static int __init bcm7120_l2_intc_iomap_7120(struct device_node *dn,
        return 0;
 }
 
-static int __init bcm7120_l2_intc_iomap_3380(struct device_node *dn,
-                                            struct bcm7120_l2_intc_data *data)
+static int bcm7120_l2_intc_iomap_3380(struct device_node *dn, struct bcm7120_l2_intc_data *data)
 {
        unsigned int gc_idx;
 
@@ -212,10 +210,9 @@ static int __init bcm7120_l2_intc_iomap_3380(struct device_node *dn,
        return 0;
 }
 
-static int __init bcm7120_l2_intc_probe(struct device_node *dn,
-                                struct device_node *parent,
+static int bcm7120_l2_intc_probe(struct device_node *dn, struct device_node *parent,
                                 int (*iomap_regs_fn)(struct device_node *,
-                                       struct bcm7120_l2_intc_data *),
+                                                     struct bcm7120_l2_intc_data *),
                                 const char *intc_name)
 {
        unsigned int clr = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;
@@ -343,15 +340,13 @@ out_free_data:
        return ret;
 }
 
-static int __init bcm7120_l2_intc_probe_7120(struct device_node *dn,
-                                            struct device_node *parent)
+static int bcm7120_l2_intc_probe_7120(struct device_node *dn, struct device_node *parent)
 {
        return bcm7120_l2_intc_probe(dn, parent, bcm7120_l2_intc_iomap_7120,
                                     "BCM7120 L2");
 }
 
-static int __init bcm7120_l2_intc_probe_3380(struct device_node *dn,
-                                            struct device_node *parent)
+static int bcm7120_l2_intc_probe_3380(struct device_node *dn, struct device_node *parent)
 {
        return bcm7120_l2_intc_probe(dn, parent, bcm7120_l2_intc_iomap_3380,
                                     "BCM3380 L2");