From 3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Thu, 18 Jan 2024 15:41:21 +0000
Subject: [PATCH] fixup! irqchip: irq-bcm2712-mip: Support for 2712's MIP

Use irq_domain_add_hierarchy so that the root pointer is initialised
correctly. Failure to do so leads to (at least) lockdep warnings when
they are enabled.

See: https://github.com/raspberrypi/linux/issues/5866

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 drivers/irqchip/irq-bcm2712-mip.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

--- a/drivers/irqchip/irq-bcm2712-mip.c
+++ b/drivers/irqchip/irq-bcm2712-mip.c
@@ -209,16 +209,14 @@ static int mip_init_domains(struct mip_p
 		return -ENXIO;
 	}
 
-	middle_domain = irq_domain_add_tree(NULL,
-					    &mip_irq_domain_ops,
-					    priv);
+	middle_domain = irq_domain_add_hierarchy(gic_domain, 0, 0, NULL,
+						 &mip_irq_domain_ops,
+						 priv);
 	if (!middle_domain) {
 		pr_err("Failed to create the MIP middle domain\n");
 		return -ENOMEM;
 	}
 
-	middle_domain->parent = gic_domain;
-
 	msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(node),
 					       &mip_msi_domain_info,
 					       middle_domain);
