Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be5436c8 authored by Marc Zyngier's avatar Marc Zyngier Committed by Thomas Gleixner
Browse files

irqdomain/msi: Use fwnode instead of of_node



As we continue to push of_node towards the outskirts of irq domains,
let's start tackling the case of msi_create_irq_domain and its little
friends.

This has limited impact in both PCI/MSI, platform MSI, and a few
drivers.

Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Tested-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
Tested-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Cc: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Cc: Graeme Gregory <graeme@xora.org.uk>
Cc: Jake Oshins <jakeo@microsoft.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Link: http://lkml.kernel.org/r/1444737105-31573-17-git-send-email-marc.zyngier@arm.com


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 2a5e9a07
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ static int platform_msi_alloc_descs(struct device *dev, int nvec,

/**
 * platform_msi_create_irq_domain - Create a platform MSI interrupt domain
 * @np:		Optional device-tree node of the interrupt controller
 * @fwnode:		Optional fwnode of the interrupt controller
 * @info:	MSI domain info
 * @parent:	Parent irq domain
 *
@@ -162,7 +162,7 @@ static int platform_msi_alloc_descs(struct device *dev, int nvec,
 * Returns:
 * A domain pointer or NULL in case of failure.
 */
struct irq_domain *platform_msi_create_irq_domain(struct device_node *np,
struct irq_domain *platform_msi_create_irq_domain(struct fwnode_handle *fwnode,
						  struct msi_domain_info *info,
						  struct irq_domain *parent)
{
@@ -173,7 +173,7 @@ struct irq_domain *platform_msi_create_irq_domain(struct device_node *np,
	if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS)
		platform_msi_update_chip_ops(info);

	domain = msi_create_irq_domain(np, info, parent);
	domain = msi_create_irq_domain(fwnode, info, parent);
	if (domain)
		domain->bus_token = DOMAIN_BUS_PLATFORM_MSI;

+3 −2
Original line number Diff line number Diff line
@@ -308,9 +308,10 @@ static int __init gicv2m_init_one(struct device_node *node,

	inner_domain->bus_token = DOMAIN_BUS_NEXUS;
	inner_domain->parent = parent;
	pci_domain = pci_msi_create_irq_domain(node, &gicv2m_msi_domain_info,
	pci_domain = pci_msi_create_irq_domain(of_node_to_fwnode(node),
					       &gicv2m_msi_domain_info,
					       inner_domain);
	plat_domain = platform_msi_create_irq_domain(node,
	plat_domain = platform_msi_create_irq_domain(of_node_to_fwnode(node),
						     &gicv2m_pmsi_domain_info,
						     inner_domain);
	if (!pci_domain || !plat_domain) {
+2 −1
Original line number Diff line number Diff line
@@ -125,7 +125,8 @@ static int __init its_pci_msi_init(void)
			continue;
		}

		if (!pci_msi_create_irq_domain(np, &its_pci_msi_domain_info,
		if (!pci_msi_create_irq_domain(of_node_to_fwnode(np),
					       &its_pci_msi_domain_info,
					       parent)) {
			pr_err("%s: unable to create PCI domain\n",
			       np->full_name);
+2 −1
Original line number Diff line number Diff line
@@ -78,7 +78,8 @@ static int __init its_pmsi_init(void)
			continue;
		}

		if (!platform_msi_create_irq_domain(np, &its_pmsi_domain_info,
		if (!platform_msi_create_irq_domain(of_node_to_fwnode(np),
						    &its_pmsi_domain_info,
						    parent)) {
			pr_err("%s: unable to create platform domain\n",
			       np->full_name);
+1 −1
Original line number Diff line number Diff line
@@ -256,7 +256,7 @@ static int xgene_allocate_domains(struct xgene_msi *msi)
	if (!msi->inner_domain)
		return -ENOMEM;

	msi->msi_domain = pci_msi_create_irq_domain(msi->node,
	msi->msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(msi->node),
						    &xgene_msi_domain_info,
						    msi->inner_domain);

Loading