Thread (18 messages) 18 messages, 5 authors, 2025-08-11

Re: [PATCH 06/12] irqchip/sg2042-msi: Switch to msi_create_parent_irq_domain()

From: Chen Wang <hidden>
Date: 2025-06-28 02:01:23
Also in: imx, linux-mips, linux-riscv, lkml

On 2025/6/26 22:49, Nam Cao wrote:
From: Thomas Gleixner <redacted>

Switch to use the concise helper to create an MSI parent domain.

Signed-off-by: Thomas Gleixner <redacted>
Signed-off-by: Nam Cao <redacted>
Reviewed-by: Chen Wang <redacted>


Adding Inochi and cc sophgo maillist

Hi, Inocho, can you please review the same and have a test with SG2044 
board?

Thanks.

Chen
quoted hunk ↗ jump to hunk
---
  drivers/irqchip/irq-sg2042-msi.c | 20 +++++++++-----------
  1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/drivers/irqchip/irq-sg2042-msi.c b/drivers/irqchip/irq-sg2042-msi.c
index af16bc5a3c8b5..bcfddc51bc6a1 100644
--- a/drivers/irqchip/irq-sg2042-msi.c
+++ b/drivers/irqchip/irq-sg2042-msi.c
@@ -219,20 +219,18 @@ static const struct msi_parent_ops sg2044_msi_parent_ops = {
  static int sg204x_msi_init_domains(struct sg204x_msi_chipdata *data,
  				   struct irq_domain *plic_domain, struct device *dev)
  {
-	struct fwnode_handle *fwnode = dev_fwnode(dev);
-	struct irq_domain *middle_domain;
-
-	middle_domain = irq_domain_create_hierarchy(plic_domain, 0, data->num_irqs, fwnode,
-						    &sg204x_msi_middle_domain_ops, data);
-	if (!middle_domain) {
+	struct irq_domain_info info = {
+		.ops		= &sg204x_msi_middle_domain_ops,
+		.parent		= plic_domain,
+		.size		= data->num_irqs,
+		.fwnode		= dev_fwnode(dev),
+		.host_data	= data,
+	};
+
+	if (!msi_create_parent_irq_domain(&info, data->chip_info->parent_ops)) {
  		pr_err("Failed to create the MSI middle domain\n");
  		return -ENOMEM;
  	}
-
-	irq_domain_update_bus_token(middle_domain, DOMAIN_BUS_NEXUS);
-
-	middle_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT;
-	middle_domain->msi_parent_ops = data->chip_info->parent_ops;
  	return 0;
  }
  
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help