8fc8d0c768d836cadeef599bddf7f65f3d3fa202
[openwrt/staging/neocturne.git] /
1 From 3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Thu, 18 Jan 2024 15:41:21 +0000
4 Subject: [PATCH] fixup! irqchip: irq-bcm2712-mip: Support for 2712's MIP
5
6 Use irq_domain_add_hierarchy so that the root pointer is initialised
7 correctly. Failure to do so leads to (at least) lockdep warnings when
8 they are enabled.
9
10 See: https://github.com/raspberrypi/linux/issues/5866
11
12 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
13 ---
14 drivers/irqchip/irq-bcm2712-mip.c | 8 +++-----
15 1 file changed, 3 insertions(+), 5 deletions(-)
16
17 --- a/drivers/irqchip/irq-bcm2712-mip.c
18 +++ b/drivers/irqchip/irq-bcm2712-mip.c
19 @@ -209,16 +209,14 @@ static int mip_init_domains(struct mip_p
20 return -ENXIO;
21 }
22
23 - middle_domain = irq_domain_add_tree(NULL,
24 - &mip_irq_domain_ops,
25 - priv);
26 + middle_domain = irq_domain_add_hierarchy(gic_domain, 0, 0, NULL,
27 + &mip_irq_domain_ops,
28 + priv);
29 if (!middle_domain) {
30 pr_err("Failed to create the MIP middle domain\n");
31 return -ENOMEM;
32 }
33
34 - middle_domain->parent = gic_domain;
35 -
36 msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(node),
37 &mip_msi_domain_info,
38 middle_domain);