On Wed, 25 Feb 2015 16:39:48 +0800 , Hanjun Guo <[email protected]> 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 <[email protected]> > CC: Catalin Marinas <[email protected]> > CC: Will Deacon <[email protected]> > Tested-by: Suravee Suthikulpanit <[email protected]> > Tested-by: Yijing Wang <[email protected]> > Tested-by: Mark Langsdorf <[email protected]> > Tested-by: Jon Masters <[email protected]> > Tested-by: Timur Tabi <[email protected]> > Tested-by: Robert Richter <[email protected]> > Acked-by: Robert Richter <[email protected]> > Signed-off-by: Hanjun Guo <[email protected]>
Reviewed-by: Grant Likely <[email protected]> > --- > 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) > > +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > +{ > + /* no legacy IRQ on arm64 */ > + return -ENODEV; > +} > + > 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 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

