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 <Liviu.Dudau@xxxxxxx> > CC: Catalin Marinas <catalin.marinas@xxxxxxx> > CC: Will Deacon <will.deacon@xxxxxxx> > Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> > Tested-by: Yijing Wang <wangyijing@xxxxxxxxxx> > Tested-by: Mark Langsdorf <mlangsdo@xxxxxxxxxx> > Tested-by: Jon Masters <jcm@xxxxxxxxxx> > Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> > Tested-by: Robert Richter <rrichter@xxxxxxxxxx> > Acked-by: Robert Richter <rrichter@xxxxxxxxxx> > Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> > --- > 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 <linux/acpi.h> > #include <linux/init.h> > #include <linux/io.h> > #include <linux/kernel.h> > @@ -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! / --------------- ¯\_(ツ)_/¯ -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html