[Patch v3 5/7] PCI/ACPI: Consolidate common PCI host bridge code into ACPI core

Hanjun Guo hanjun.guo at linaro.org
Mon May 18 06:08:27 PDT 2015


Hi Jiang,

On 2015年05月14日 16:56, Jiang Liu wrote:
> Introduce common interface acpi_pci_root_create() and related data
> structures to create PCI root bus for ACPI PCI host bridges. It will
> be used to kill duplicated arch specific code for IA64 and x86. It may
> also help ARM64 in future.

As I commented in previous version, this patch will introduce
compile error on ACPI enabled ARM64 kernel because struct
pci_controller is not defined for ARM64, so how about adding
the following patch before this patch, or squash to this one,
does it make sense?

 From 11d0e98154e681e75936698208398cb4dcd73632 Mon Sep 17 00:00:00 2001
From: Hanjun Guo <hanjun.guo at linaro.org>
Date: Mon, 18 May 2015 19:41:56 +0800
Subject: [PATCH] ARM64 / PCI: introduce struct pci_controller for ACPI

ARM64 ACPI based PCI host bridge init needs a arch dependent
struct pci_controller to accommodate common PCI host bridge
code which is introduced later, or it will lead to compile
errors on ARM64.

Signed-off-by: Hanjun Guo <hanjun.guo at linaro.org>
CC: Liviu Dudau <Liviu.Dudau at arm.com>
CC: Will Deacon <will.deacon at arm.com>
CC: Catalin Marinas <catalin.marinas at arm.com>
CC: Lorenzo Pieralisi <Lorenzo.Pieralisi at arm.com>
CC: Arnd Bergmann <arnd at arndb.de>
---
  arch/arm64/include/asm/pci.h | 10 ++++++++++
  1 file changed, 10 insertions(+)

diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
index b008a72..7088495 100644
--- a/arch/arm64/include/asm/pci.h
+++ b/arch/arm64/include/asm/pci.h
@@ -10,6 +10,16 @@
  #include <asm-generic/pci-bridge.h>
  #include <asm-generic/pci-dma-compat.h>

+struct acpi_device;
+
+struct pci_controller {
+#ifdef CONFIG_ACPI
+       struct acpi_device *companion;  /* ACPI companion device */
+#endif
+       int             segment;        /* PCI domain */
+       int             node;           /* NUMA node */
+};
+
  #define PCIBIOS_MIN_IO         0x1000
  #define PCIBIOS_MIN_MEM                0


Thanks
Hanjun



More information about the linux-arm-kernel mailing list