From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lorenzo Pieralisi Subject: Re: [PATCH v7 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware Date: Fri, 13 Jan 2017 10:45:24 +0000 Message-ID: <20170113104524.GC20837@red-moon> References: <1484147199-4267-1-git-send-email-hanjun.guo@linaro.org> <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Hanjun Guo Cc: huxinwei@huawei.com, Kefeng Wang , yimin@huawei.com, Jon Masters , Marc Zyngier , Greg KH , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, linuxarm@huawei.com, Sinan Kaya , linux-acpi@vger.kernel.org, Xinwei Kong , Matthias Brugger , Tomasz Nowicki , Thomas Gleixner , Agustin Vega-Frias , linux-arm-kernel@lists.infradead.org, Ma Jun List-Id: linux-acpi@vger.kernel.org On Wed, Jan 11, 2017 at 11:06:36PM +0800, Hanjun Guo wrote: > platform_msi_create_device_domain() is used to ctreate > irqdomain for the device such as irqchip mbigen generating > the MSIs, it's 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. "The irqdomain creation 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". Reviewed-by: Lorenzo Pieralisi > Signed-off-by: Hanjun Guo > Cc: Marc Zyngier > Cc: Greg KH > Cc: Thomas Gleixner > Cc: Greg KH > --- > drivers/base/platform-msi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c > index be6a599..035ca3b 100644 > --- a/drivers/base/platform-msi.c > +++ b/drivers/base/platform-msi.c > @@ -345,8 +345,7 @@ struct irq_domain * > > 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; > > -- > 1.9.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751834AbdAMKwN (ORCPT ); Fri, 13 Jan 2017 05:52:13 -0500 Received: from foss.arm.com ([217.140.101.70]:39126 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751649AbdAMKvl (ORCPT ); Fri, 13 Jan 2017 05:51:41 -0500 Date: Fri, 13 Jan 2017 10:45:24 +0000 From: Lorenzo Pieralisi To: Hanjun Guo Cc: Marc Zyngier , "Rafael J. Wysocki" , linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxarm@huawei.com, Thomas Gleixner , Greg KH , Tomasz Nowicki , Ma Jun , Kefeng Wang , Agustin Vega-Frias , Sinan Kaya , huxinwei@huawei.com, yimin@huawei.com, Jon Masters , Matthias Brugger , Xinwei Kong Subject: Re: [PATCH v7 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware Message-ID: <20170113104524.GC20837@red-moon> References: <1484147199-4267-1-git-send-email-hanjun.guo@linaro.org> <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 11, 2017 at 11:06:36PM +0800, Hanjun Guo wrote: > platform_msi_create_device_domain() is used to ctreate > irqdomain for the device such as irqchip mbigen generating > the MSIs, it's 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. "The irqdomain creation 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". Reviewed-by: Lorenzo Pieralisi > Signed-off-by: Hanjun Guo > Cc: Marc Zyngier > Cc: Greg KH > Cc: Thomas Gleixner > Cc: Greg KH > --- > drivers/base/platform-msi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c > index be6a599..035ca3b 100644 > --- a/drivers/base/platform-msi.c > +++ b/drivers/base/platform-msi.c > @@ -345,8 +345,7 @@ struct irq_domain * > > 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; > > -- > 1.9.1 > From mboxrd@z Thu Jan 1 00:00:00 1970 From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi) Date: Fri, 13 Jan 2017 10:45:24 +0000 Subject: [PATCH v7 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware In-Reply-To: <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> References: <1484147199-4267-1-git-send-email-hanjun.guo@linaro.org> <1484147199-4267-13-git-send-email-hanjun.guo@linaro.org> Message-ID: <20170113104524.GC20837@red-moon> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Jan 11, 2017 at 11:06:36PM +0800, Hanjun Guo wrote: > platform_msi_create_device_domain() is used to ctreate > irqdomain for the device such as irqchip mbigen generating > the MSIs, it's 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. "The irqdomain creation 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". Reviewed-by: Lorenzo Pieralisi > Signed-off-by: Hanjun Guo > Cc: Marc Zyngier > Cc: Greg KH > Cc: Thomas Gleixner > Cc: Greg KH > --- > drivers/base/platform-msi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c > index be6a599..035ca3b 100644 > --- a/drivers/base/platform-msi.c > +++ b/drivers/base/platform-msi.c > @@ -345,8 +345,7 @@ struct irq_domain * > > 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; > > -- > 1.9.1 >