From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hanjun Guo Subject: [RFC PATCH v2 06/11] msi: platform: make platform_msi_create_device_domain() ACPI aware Date: Wed, 14 Sep 2016 22:21:14 +0800 Message-ID: <1473862879-7769-7-git-send-email-guohanjun@huawei.com> References: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" , Marc Zyngier , Lorenzo Pieralisi Cc: linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Thomas Gleixner , Bjorn Helgaas , Greg KH , Tomasz Nowicki , Ma Jun , Kefeng Wang , Charles Garcia-Tobin , linuxarm@huawei.com, Hanjun Guo List-Id: linux-acpi@vger.kernel.org From: Hanjun Guo 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 Cc: Greg KH Cc: Thomas Gleixner Cc: Bjorn Helgaas Signed-off-by: Hanjun Guo --- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933227AbcINOXw (ORCPT ); Wed, 14 Sep 2016 10:23:52 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:32365 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933144AbcINOXr (ORCPT ); Wed, 14 Sep 2016 10:23:47 -0400 From: Hanjun Guo To: "Rafael J. Wysocki" , Marc Zyngier , Lorenzo Pieralisi CC: , , , Thomas Gleixner , "Bjorn Helgaas" , Greg KH , "Tomasz Nowicki" , Ma Jun , Kefeng Wang , Charles Garcia-Tobin , , Hanjun Guo Subject: [RFC PATCH v2 06/11] msi: platform: make platform_msi_create_device_domain() ACPI aware Date: Wed, 14 Sep 2016 22:21:14 +0800 Message-ID: <1473862879-7769-7-git-send-email-guohanjun@huawei.com> X-Mailer: git-send-email 1.7.12.4 In-Reply-To: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> References: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.102.37] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.57D95D5E.035E,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 6d030b8d4374c50570642d544b70c8b1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hanjun Guo 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 Cc: Greg KH Cc: Thomas Gleixner Cc: Bjorn Helgaas Signed-off-by: Hanjun Guo --- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: guohanjun@huawei.com (Hanjun Guo) Date: Wed, 14 Sep 2016 22:21:14 +0800 Subject: [RFC PATCH v2 06/11] msi: platform: make platform_msi_create_device_domain() ACPI aware In-Reply-To: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> References: <1473862879-7769-1-git-send-email-guohanjun@huawei.com> Message-ID: <1473862879-7769-7-git-send-email-guohanjun@huawei.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org From: Hanjun Guo 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 Cc: Greg KH Cc: Thomas Gleixner Cc: Bjorn Helgaas Signed-off-by: Hanjun Guo --- 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