#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/pci.h>
#include <linux/pci-acpi.h>
#include <linux/pci-ecam.h>
#include "../../pci.h"
#if defined(CONFIG_PCI_HISI) || (defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS))
struct hisi_pcie { … };
static int hisi_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
int size, u32 *val)
{ … }
static int hisi_pcie_wr_conf(struct pci_bus *bus, u32 devfn,
int where, int size, u32 val)
{ … }
static void __iomem *hisi_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
int where)
{ … }
#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
static int hisi_pcie_init(struct pci_config_window *cfg)
{ … }
const struct pci_ecam_ops hisi_pcie_ops = …;
#endif
#ifdef CONFIG_PCI_HISI
static int hisi_pcie_platform_init(struct pci_config_window *cfg)
{ … }
static const struct pci_ecam_ops hisi_pcie_platform_ops = …;
static const struct of_device_id hisi_pcie_almost_ecam_of_match[] = …;
static struct platform_driver hisi_pcie_almost_ecam_driver = …;
builtin_platform_driver(…) …;
#endif
#endif