[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1473862879-7769-7-git-send-email-guohanjun@huawei.com>
Date: Wed, 14 Sep 2016 22:21:14 +0800
From: Hanjun Guo <guohanjun@...wei.com>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>,
Marc Zyngier <marc.zyngier@....com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>
CC: <linux-acpi@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Bjorn Helgaas" <bhelgaas@...gle.com>,
Greg KH <gregkh@...uxfoundation.org>,
"Tomasz Nowicki" <tn@...ihalf.com>, Ma Jun <majun258@...wei.com>,
Kefeng Wang <wangkefeng.wang@...wei.com>,
Charles Garcia-Tobin <charles.garcia-tobin@....com>,
<linuxarm@...wei.com>, Hanjun Guo <hanjun.guo@...aro.org>
Subject: [RFC PATCH v2 06/11] msi: platform: make platform_msi_create_device_domain() ACPI aware
From: Hanjun Guo <hanjun.guo@...aro.org>
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@....com>
Cc: Greg KH <gregkh@...uxfoundation.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Bjorn Helgaas <bhelgaas@...gle.com>
Signed-off-by: Hanjun Guo <hanjun.guo@...aro.org>
---
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
Powered by blists - more mailing lists