]> xenbits.xensource.com Git - people/julieng/linux-arm.git/commitdiff
pci, acpi: Share ACPI PCI config space accessors.
authorTomasz Nowicki <tomasz.nowicki@linaro.org>
Fri, 14 Nov 2014 10:01:16 +0000 (11:01 +0100)
committerJulien Grall <julien.grall@citrix.com>
Mon, 28 Sep 2015 11:05:20 +0000 (12:05 +0100)
MMCFG can be used perfectly for all architectures which support ACPI.
ACPI mandates MMCFG to describe PCI config space ranges which means
we should use MMCONFIG accessors by default.

Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Tested-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@caviumnetworks.com>
drivers/acpi/mmconfig.c

index c0ad05f3ad981100c9c214ba229ac3ccdaf8ffb2..c9c6e05284bd6aa2d823660356d891be0e777655 100644 (file)
@@ -23,6 +23,26 @@ static DEFINE_MUTEX(pci_mmcfg_lock);
 
 LIST_HEAD(pci_mmcfg_list);
 
+/*
+ * raw_pci_read/write - ACPI PCI config space accessors.
+ *
+ * ACPI spec defines MMCFG as the way we can access PCI config space,
+ * so let MMCFG be default (__weak).
+ *
+ * If platform needs more fancy stuff, should provides its own implementation.
+ */
+int __weak raw_pci_read(unsigned int domain, unsigned int bus,
+                       unsigned int devfn, int reg, int len, u32 *val)
+{
+       return pci_mmcfg_read(domain, bus, devfn, reg, len, val);
+}
+
+int __weak raw_pci_write(unsigned int domain, unsigned int bus,
+                        unsigned int devfn, int reg, int len, u32 val)
+{
+       return pci_mmcfg_write(domain, bus, devfn, reg, len, val);
+}
+
 static char __iomem *pci_dev_base(unsigned int seg, unsigned int bus,
                                  unsigned int devfn)
 {