[RFC PATCH v2 06/11] msi: platform: make platform_msi_create_device_domain() ACPI aware

From: Hanjun Guo
Date: Wed Sep 14 2016 - 10:23:55 EST


From: Hanjun Guo <hanjun.guo@xxxxxxxxxx>

With the platform msi domain created for ITS, irqchip such as
mbi-gen connecting ITS, which needs ctreate its own irqdomain.

Fortunately with the platform msi support upstreamed by Marc,
we just need to add minor code to make it run properly.

platform_msi_create_device_domain() is almost ready for ACPI use
except of_node_to_fwnode() is for dt only, make it ACPI aware then
things will work in both DTS and ACPI.

Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
---
drivers/base/platform-msi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c
index f6eae18..9a550a8 100644
--- a/drivers/base/platform-msi.c
+++ b/drivers/base/platform-msi.c
@@ -338,16 +338,17 @@ platform_msi_create_device_domain(struct device *dev,
{
struct platform_msi_priv_data *data;
struct irq_domain *domain;
+ struct fwnode_handle *fwnode;
int err;

data = platform_msi_alloc_priv_data(dev, nvec, write_msi_msg);
if (IS_ERR(data))
return NULL;

+ fwnode = dev->of_node ? &dev->of_node->fwnode : dev->fwnode;
data->host_data = host_data;
domain = irq_domain_create_hierarchy(dev->msi_domain, 0, nvec,
- of_node_to_fwnode(dev->of_node),
- ops, data);
+ fwnode, ops, data);
if (!domain)
goto free_priv;

--
1.7.12.4