From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932253AbbCIPB3 (ORCPT ); Mon, 9 Mar 2015 11:01:29 -0400 Received: from service87.mimecast.com ([91.220.42.44]:51367 "EHLO service87.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752555AbbCIPBZ convert rfc822-to-8bit (ORCPT ); Mon, 9 Mar 2015 11:01:25 -0400 Date: Mon, 9 Mar 2015 15:01:19 +0000 From: Liviu Dudau To: Hanjun Guo Cc: Catalin Marinas , "Rafael J. Wysocki" , Will Deacon , Olof Johansson , "grant.likely@linaro.org" , Lorenzo Pieralisi , Arnd Bergmann , Mark Rutland , "graeme.gregory@linaro.org" , Sudeep Holla , "jcm@redhat.com" , Marc Zyngier , Mark Brown , Robert Richter , Timur Tabi , Ashwin Chaugule , "suravee.suthikulpanit@amd.com" , "linux-acpi@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linaro-acpi@lists.linaro.org" Subject: Re: [PATCH v9 08/21] ARM64 / ACPI: Introduce PCI stub functions for ACPI Message-ID: <20150309150119.GG16268@e106497-lin.cambridge.arm.com> References: <1424853601-6675-1-git-send-email-hanjun.guo@linaro.org> <1424853601-6675-9-git-send-email-hanjun.guo@linaro.org> MIME-Version: 1.0 In-Reply-To: <1424853601-6675-9-git-send-email-hanjun.guo@linaro.org> User-Agent: Mutt/1.5.22 (2013-10-16) X-OriginalArrivalTime: 09 Mar 2015 15:01:20.0649 (UTC) FILETIME=[E6FAE790:01D05A79] X-MC-Unique: 115030915012113801 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 25, 2015 at 08:39:48AM +0000, Hanjun Guo wrote: > CONFIG_ACPI depends CONFIG_PCI on x86 and ia64, in ARM64 server > world we will have PCIe in most cases, but some of them may not, > make CONFIG_ACPI depend CONFIG_PCI on ARM64 will satisfy both. > > With that case, we need some arch dependent PCI functions to > access the config space before the PCI root bridge is created, and > pci_acpi_scan_root() to create the PCI root bus. So introduce > some stub function here to make ACPI core compile and revisit > them later when implemented on ARM64. > > CC: Liviu Dudau > CC: Catalin Marinas > CC: Will Deacon > Tested-by: Suravee Suthikulpanit > Tested-by: Yijing Wang > Tested-by: Mark Langsdorf > Tested-by: Jon Masters > Tested-by: Timur Tabi > Tested-by: Robert Richter > Acked-by: Robert Richter > Signed-off-by: Hanjun Guo > --- > arch/arm64/include/asm/pci.h | 6 ++++++ > arch/arm64/kernel/pci.c | 25 +++++++++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h > index 872ba93..fded096 100644 > --- a/arch/arm64/include/asm/pci.h > +++ b/arch/arm64/include/asm/pci.h > @@ -24,6 +24,12 @@ > */ > #define PCI_DMA_BUS_IS_PHYS (0) Hanjun, > > +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > +{ > + /* no legacy IRQ on arm64 */ > + return -ENODEV; > +} > + Could you explain to me what situation you encountered where you needed to define this? I'm trying to figure out when this would be needed and the only thing I can come up with would be for drivers/pnp/resource.c, but that is guarded by #ifdef CONFIG_PCI, which would mean that you should move this a bit further down in the file, but also contradicts the last comment on this patch (i.e. PCI on ACPI is not really implemented, so presumably CONFIG_PCI is not enabled?) Best regards, Liviu > extern int isa_dma_bridge_buggy; > > #ifdef CONFIG_PCI > diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c > index 6f93c24..4095379 100644 > --- a/arch/arm64/kernel/pci.c > +++ b/arch/arm64/kernel/pci.c > @@ -10,6 +10,7 @@ > * > */ > > +#include > #include > #include > #include > @@ -46,3 +47,27 @@ int pcibios_add_device(struct pci_dev *dev) > > return 0; > } > + > +/* > + * raw_pci_read/write - Platform-specific PCI config space access. > + */ > +int raw_pci_read(unsigned int domain, unsigned int bus, > + unsigned int devfn, int reg, int len, u32 *val) > +{ > + return -ENXIO; > +} > + > +int raw_pci_write(unsigned int domain, unsigned int bus, > + unsigned int devfn, int reg, int len, u32 val) > +{ > + return -ENXIO; > +} > + > +#ifdef CONFIG_ACPI > +/* Root bridge scanning */ > +struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) > +{ > + /* TODO: Should be revisited when implementing PCI on ACPI */ > + return NULL; > +} > +#endif > -- > 1.9.1 > > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯