From nobody Fri Dec 19 04:58:02 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C3A62BF973; Tue, 13 May 2025 17:28:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747157311; cv=none; b=BhvoKXC7nvDPQJTTs8a3/X1ZsyfZcSalr97j1om7vNAD99YvlyXqva6HLiPWDhqFu9DjKX6CukX5o+6naVvVDHGqOYH630hUWvnmFEftRi+ImNtU2JueAiXhpx03nXTVP0QPFBfDTT7wJJa0rMJdAohpo4mqHq7RSgzxPFKOX+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1747157311; c=relaxed/simple; bh=3pi3K+153jZ2kXdt+nyEuufOhRW3Pxm1XQ7dRPfM1vw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PO7nznaei7kBNSeC07VmygMKwMr+JkT5OdZ6KdYN3aP5leepzRT6+VaJw1wnjhri+idnzbMSYQRkRQBQDAke0l0JV/3U+KP8ymdi/Dvt8CfRsg1DvH41FbBVgf+5jWaDRflYksCo/+6xMV7OkzGlZdxBJg9vrOI+5GZDObkA7ns= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ErTw/W3y; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ErTw/W3y" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A08FCC4CEF3; Tue, 13 May 2025 17:28:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1747157310; bh=3pi3K+153jZ2kXdt+nyEuufOhRW3Pxm1XQ7dRPfM1vw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ErTw/W3ywaBJ3jtS4Pqj74LRXBO+OPQetOWMzPbJW14568am0KQcrJI83itDEuyG5 y/ca7qLq3nsXlBpuQx2j19H2WI15sH4iSiIQthLoU3TROIqLpkUEkQa1yu+uhwBhku pzEDuQK42K9bOLThyXEp7VsX8nYr/b4sv4R6roqQQrwRsDkQXwrIP8wMqlTt1NoZEG CbQElVfwjfll+7JDVb8gV9qv1USw1eRX6ia+/+WwvIObNdBEEM4XGWqVStPBkI9bM1 Eqdzmt3CGraC+3lBAkzHpoKLyE3Go7P4JcBMPD1h4//Q8EnXCQOg93+rNMIQtzLGtg s1rFCwdwLEEGw== Received: from sofa.misterjones.org ([185.219.108.64] helo=valley-girl.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1uEtQa-00EbRz-OZ; Tue, 13 May 2025 18:28:28 +0100 From: Marc Zyngier To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org Cc: Thomas Gleixner , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth , Lorenzo Pieralisi , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Manivannan Sadhasivam , Bjorn Helgaas , Toan Le , Alyssa Rosenzweig , Thierry Reding , Jonathan Hunter Subject: [PATCH v2 4/9] irqchip/mvebu: Convert to msi_create_parent_irq_domain() helper Date: Tue, 13 May 2025 18:28:14 +0100 Message-Id: <20250513172819.2216709-5-maz@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20250513172819.2216709-1-maz@kernel.org> References: <20250513172819.2216709-1-maz@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org, tglx@linutronix.de, andrew@lunn.ch, gregory.clement@bootlin.com, sebastian.hesselbarth@gmail.com, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, bhelgaas@google.com, toan@os.amperecomputing.com, alyssa@rosenzweig.io, thierry.reding@gmail.com, jonathanh@nvidia.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Content-Type: text/plain; charset="utf-8" Now that we have a concise helper to create an MSI parent domain, switch the mvebu family of interrupt controllers over to that. Signed-off-by: Marc Zyngier --- drivers/irqchip/irq-mvebu-gicp.c | 14 +++++++------- drivers/irqchip/irq-mvebu-odmi.c | 14 ++++++-------- drivers/irqchip/irq-mvebu-sei.c | 16 +++++++--------- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/drivers/irqchip/irq-mvebu-gicp.c b/drivers/irqchip/irq-mvebu-g= icp.c index 0b2a857b49018..c7c83f8923fcd 100644 --- a/drivers/irqchip/irq-mvebu-gicp.c +++ b/drivers/irqchip/irq-mvebu-gicp.c @@ -230,16 +230,16 @@ static int mvebu_gicp_probe(struct platform_device *p= dev) return -ENODEV; } =20 - inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, - gicp->spi_cnt, - of_node_to_fwnode(node), - &gicp_domain_ops, gicp); + inner_domain =3D msi_create_parent_irq_domain(&(struct irq_domain_info){ + .fwnode =3D of_node_to_fwnode(node), + .ops =3D &gicp_domain_ops, + .size =3D gicp->spi_cnt, + .host_data =3D gicp, + .parent =3D parent_domain, + }, &gicp_msi_parent_ops); if (!inner_domain) return -ENOMEM; =20 - irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_GENERIC_MSI); - inner_domain->flags |=3D IRQ_DOMAIN_FLAG_MSI_PARENT; - inner_domain->msi_parent_ops =3D &gicp_msi_parent_ops; return 0; } =20 diff --git a/drivers/irqchip/irq-mvebu-odmi.c b/drivers/irqchip/irq-mvebu-o= dmi.c index 306a7754e44f8..e6049f647a017 100644 --- a/drivers/irqchip/irq-mvebu-odmi.c +++ b/drivers/irqchip/irq-mvebu-odmi.c @@ -205,19 +205,17 @@ static int __init mvebu_odmi_init(struct device_node = *node, =20 parent_domain =3D irq_find_host(parent); =20 - inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, - odmis_count * NODMIS_PER_FRAME, - of_node_to_fwnode(node), - &odmi_domain_ops, NULL); + inner_domain =3D msi_create_parent_irq_domain(&(struct irq_domain_info){ + .fwnode =3D of_node_to_fwnode(node), + .ops =3D &odmi_domain_ops, + .size =3D odmis_count * NODMIS_PER_FRAME, + .parent =3D parent_domain, + }, &odmi_msi_parent_ops); if (!inner_domain) { ret =3D -ENOMEM; goto err_unmap; } =20 - irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_GENERIC_MSI); - inner_domain->flags |=3D IRQ_DOMAIN_FLAG_MSI_PARENT; - inner_domain->msi_parent_ops =3D &odmi_msi_parent_ops; - return 0; =20 err_unmap: diff --git a/drivers/irqchip/irq-mvebu-sei.c b/drivers/irqchip/irq-mvebu-se= i.c index a962ef4977169..cacf88530e444 100644 --- a/drivers/irqchip/irq-mvebu-sei.c +++ b/drivers/irqchip/irq-mvebu-sei.c @@ -430,21 +430,19 @@ static int mvebu_sei_probe(struct platform_device *pd= ev) irq_domain_update_bus_token(sei->ap_domain, DOMAIN_BUS_WIRED); =20 /* Create the 'MSI' domain */ - sei->cp_domain =3D irq_domain_create_hierarchy(sei->sei_domain, 0, - sei->caps->cp_range.size, - of_node_to_fwnode(node), - &mvebu_sei_cp_domain_ops, - sei); + sei->cp_domain =3D msi_create_parent_irq_domain(&(struct irq_domain_info){ + .fwnode =3D of_node_to_fwnode(node), + .ops =3D &mvebu_sei_cp_domain_ops, + .size =3D sei->caps->cp_range.size, + .host_data =3D sei, + .parent =3D sei->sei_domain, + }, &sei_msi_parent_ops); if (!sei->cp_domain) { pr_err("Failed to create CPs IRQ domain\n"); ret =3D -ENOMEM; goto remove_ap_domain; } =20 - irq_domain_update_bus_token(sei->cp_domain, DOMAIN_BUS_GENERIC_MSI); - sei->cp_domain->flags |=3D IRQ_DOMAIN_FLAG_MSI_PARENT; - sei->cp_domain->msi_parent_ops =3D &sei_msi_parent_ops; - mvebu_sei_reset(sei); =20 irq_set_chained_handler_and_data(parent_irq, mvebu_sei_handle_cascade_irq= , sei); --=20 2.39.2