Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755935AbbHFRhR (ORCPT ); Thu, 6 Aug 2015 13:37:17 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:39019 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754499AbbHFRhP (ORCPT ); Thu, 6 Aug 2015 13:37:15 -0400 Message-ID: <55C39ABC.5020101@oracle.com> Date: Thu, 06 Aug 2015 13:34:52 -0400 From: Boris Ostrovsky User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Robert Richter CC: Konrad Rzeszutek Wilk , David Vrabel , Tomasz Nowicki , Will Deacon , xen-devel@lists.xenproject.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stefano Stabellini Subject: Re: Fw: drivers/xen/pci.c:31:25: fatal error: asm/pci_x86.h: No such file or directory References: <20150806170426.GM1820@rric.localhost> In-Reply-To: <20150806170426.GM1820@rric.localhost> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2155 Lines: 75 On 08/06/2015 01:04 PM, Robert Richter wrote: > Boris, > > we are working on acpi pci support for arm64. For this we are enabling > PCI_MMCONFIG on arm64 which breaks compiling drivers/xen/pci.c. > > Looking into it there is x86 code in generic driver code introduced > with: > > 8deb3eb1461e xen/mcfg: Call PHYSDEVOP_pci_mmcfg_reserved for MCFG areas. > > This implements: > > diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c > index 18fff88254eb..d15f6e80479f 100644 > --- a/drivers/xen/pci.c > +++ b/drivers/xen/pci.c > @@ -26,6 +26,7 @@ > #include > #include > #include "../pci/pci.h" > +#include > > static bool __read_mostly pci_seg_supported = true; > > @@ -192,3 +193,49 @@ static int __init register_xen_pci_notifier(void) > } > > arch_initcall(register_xen_pci_notifier); > + > +#ifdef CONFIG_PCI_MMCONFIG > +static int __init xen_mcfg_late(void) > +{ > + struct pci_mmcfg_region *cfg; > + int rc; > + > + if (!xen_initial_domain()) > + return 0; > + > + if ((pci_probe & PCI_PROBE_MMCONF) == 0) > + return 0; > [...] > > There are no defines for pci_probe and PCI_PROBE_MMCONF other than for > the x86 architecture. > > I see several ways to fix that: > > * moving code to arch/x86/pci/xen.c, If this routine is not going to be used by ARM I think this would be the way to go. Stefano --- will this be needed by ARM? > > * make code dependent on arch X86, > > * make 'if (pci_probe & PCI_PROBE_MMCONF) ...' an arch function to be > implemented by archs, Otherwise I'd go with this. -boris > > * reworking the code by removing the check (not sure if that could be > done). > > I don't think PCI_XEN is enabled yet for arm64, so we just disalbe it > for !X86 or move it to arch/x86. I suggest the latter. Is there any > preference you have? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/