platform-msi: Make platform_msi_create_device_domain() ACPI aware
authorHanjun Guo <hanjun.guo@linaro.org>
Tue, 7 Mar 2017 12:40:07 +0000 (20:40 +0800)
committerMarc Zyngier <marc.zyngier@arm.com>
Fri, 7 Apr 2017 09:52:19 +0000 (10:52 +0100)
The irqdomain creation that is carried out in:

platform_msi_create_device_domain()

relies on the fwnode_handle interrupt controller token to associate the
interrupt controller with a specific irqdomain. Current code relies on
the OF layer to retrieve a fwnode_handle for the device representing the
interrupt controller from its device->of_node pointer.  This makes
platform_msi_create_device_domain() DT specific whilst it really is not
because after the merge of commit f94277af03ea ("of/platform: Initialise
dev->fwnode appropriately") the fwnode_handle can easily be retrieved
from the dev->fwnode pointer in a firmware agnostic way.

Update platform_msi_create_device_domain() to retrieve the interrupt
controller fwnode_handle from the dev->fwnode pointer so that it can
be used seamlessly in ACPI and DT systems.

Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Ming Lei <ming.lei@canonical.com>
Tested-by: Wei Xu <xuwei5@hisilicon.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/base/platform-msi.c

index 0fc7c4da77563226ad0a36a6fc7dbb8a26948793..d35e9a20caf7f9d1a79ca689556aceb49cdf0e79 100644 (file)
@@ -345,8 +345,7 @@ platform_msi_create_device_domain(struct device *dev,
 
        data->host_data = host_data;
        domain = irq_domain_create_hierarchy(dev->msi_domain, 0, nvec,
-                                            of_node_to_fwnode(dev->of_node),
-                                            ops, data);
+                                            dev->fwnode, ops, data);
        if (!domain)
                goto free_priv;