From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965721AbcBCSc0 (ORCPT ); Wed, 3 Feb 2016 13:32:26 -0500 Received: from mail-bn1bn0105.outbound.protection.outlook.com ([157.56.110.105]:47792 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964967AbcBCScW convert rfc822-to-8bit (ORCPT ); Wed, 3 Feb 2016 13:32:22 -0500 From: Jake Oshins To: Bjorn Helgaas CC: "gregkh@linuxfoundation.org" , KY Srinivasan , "linux-kernel@vger.kernel.org" , "devel@linuxdriverproject.org" , Haiyang Zhang , "marc.zyngier@arm.com" , "bhelgaas@google.com" , "linux-pci@vger.kernel.org" Subject: RE: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata Thread-Topic: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata Thread-Index: AQHRXeELU3+EfNJ/XEC3Odalyky2DJ8apMEAgAABNHA= Date: Wed, 3 Feb 2016 18:32:20 +0000 Message-ID: References: <1454434903-1680-1-git-send-email-jakeo@microsoft.com> <1454434903-1680-2-git-send-email-jakeo@microsoft.com> <20160203182528.GB10879@localhost> In-Reply-To: <20160203182528.GB10879@localhost> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=microsoft.com; x-originating-ip: [131.107.147.196] x-ms-office365-filtering-correlation-id: 82c69a3a-b519-4557-1761-08d32cc85a0e x-microsoft-exchange-diagnostics: 1;DM2PR0301MB0784;5:3pv9vAxlL02nlSaYReb/oqKH3JNXaSzakX9v+zmjrGJsWKmpPl1dnfcCWuy6l1hS+R5o9Y77999lqd/hvt3IcTsrhwsRvfU0wKvB68sGWGFjglNwu7+u06KL9q6izPjf3Qux+xkIIHNWE5dNcJctSA==;24:A3ZM1x3CcUJr+1529Lj1tGtBgiNjvP/VaF5eNyTAsCM1YL6c9kUYIclxa1R14zyAl71ShF1rwUtGNZ21y13hm8TDIkkKA7j+Q+KWKhtOcSQ= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0784; x-o365eop-header: O365_EOP: Allow for Unauthenticated Relay x-o365ent-eop-header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY) x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(61426038)(61427038);SRVR:DM2PR0301MB0784;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0784; x-forefront-prvs: 08417837C5 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(164054003)(13464003)(24454002)(377454003)(102836003)(6116002)(586003)(74316001)(5008740100001)(33656002)(3846002)(2950100001)(5003600100002)(3660700001)(11100500001)(3280700002)(10290500002)(77096005)(5002640100001)(5005710100001)(10090500001)(10400500002)(76576001)(106116001)(86362001)(76176999)(4326007)(66066001)(1096002)(5004730100002)(2906002)(5001960100002)(40100003)(1220700001)(87936001)(19580405001)(2900100001)(50986999)(122556002)(99286002)(19580395003)(110136002)(54356999)(92566002)(189998001)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB0784;H:DM2PR0301MB1232.namprd03.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Feb 2016 18:32:20.0326 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0784 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Bjorn Helgaas [mailto:helgaas@kernel.org] > Sent: Wednesday, February 3, 2016 10:25 AM > To: Jake Oshins > Cc: gregkh@linuxfoundation.org; KY Srinivasan ; linux- > kernel@vger.kernel.org; devel@linuxdriverproject.org; Haiyang Zhang > ; marc.zyngier@arm.com; > bhelgaas@google.com; linux-pci@vger.kernel.org > Subject: Re: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata > > Hi Jake, > > On Tue, Feb 02, 2016 at 05:41:41PM +0000, jakeo@microsoft.com wrote: > > From: Jake Oshins > > > > This patch adds an fwnode_handle to struct pci_sysdata, which is used > > by the next patch in the series when trying to locate an IRQ domain > > associated with a root PCI bus. > > > > Signed-off-by: Jake Oshins > > --- > > arch/x86/include/asm/pci.h | 15 +++++++++++++++ > > drivers/pci/probe.c | 1 + > > include/linux/pci.h | 4 ++++ > > 3 files changed, 20 insertions(+) > > > > diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h > > index 4625943..6fc3c7c 100644 > > --- a/arch/x86/include/asm/pci.h > > +++ b/arch/x86/include/asm/pci.h > > @@ -20,6 +20,9 @@ struct pci_sysdata { #ifdef CONFIG_X86_64 > > void *iommu; /* IOMMU private data */ > > #endif > > +#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN > > + void *fwnode; /* IRQ domain for MSI assignment */ > > +#endif > > }; > > > > extern int pci_routeirq; > > @@ -32,6 +35,7 @@ extern int noioapicreroute; static inline int > > pci_domain_nr(struct pci_bus *bus) { > > struct pci_sysdata *sd = bus->sysdata; > > + > > return sd->domain; > > } > > > > @@ -41,6 +45,17 @@ static inline int pci_proc_domain(struct pci_bus > > *bus) } #endif > > > > +#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN > > +static inline void *_pci_root_bus_fwnode(struct pci_bus *bus) { > > + struct pci_sysdata *sd = bus->sysdata; > > + > > + return sd->fwnode; > > +} > > + > > +#define pci_root_bus_fwnode _pci_root_bus_fwnode > > +#endif > > + > > /* Can be used to override the logic in pci_scan_bus for skipping > > already-configured bus numbers - to be used for buggy BIOSes > > or architectures with incomplete PCI setup by the loader */ diff > > --git a/drivers/pci/probe.c b/drivers/pci/probe.c index > > 6d7ab9b..b207e74 100644 > > --- a/drivers/pci/probe.c > > +++ b/drivers/pci/probe.c > > @@ -15,6 +15,7 @@ > > #include > > #include > > #include > > +#include > > You're not adding a use of anything in irqdomain.h. It looks like this hunk > should be moved to the second patch. Wil do. > > > #include > > #include "pci.h" > > > > diff --git a/include/linux/pci.h b/include/linux/pci.h index > > 27df4a6..cd05a8e 100644 > > --- a/include/linux/pci.h > > +++ b/include/linux/pci.h > > @@ -1515,6 +1515,10 @@ static inline int pci_get_new_domain_nr(void) { > > return -ENOSYS; } > > > > #include > > > > +#ifndef pci_root_bus_fwnode > > +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL) > > Huh, interesting. This is new for me; I guess the idea is that we at least > evaluate "bus" even when pci_root_bus_fwnode isn't defined, so the > compiler can catch egregious errors? > This was a suggestion by Mark Zyngier. It made the non-x86 architectures build benignly. If you'd like it done differently, I'm open to suggestion. Thanks, Jake Oshins