#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/resource.h>
#include <linux/types.h>
#include "pcie-designware.h"
struct dw_plat_pcie { … };
struct dw_plat_pcie_of_data { … };
static const struct dw_pcie_host_ops dw_plat_pcie_host_ops = …;
static void dw_plat_pcie_ep_init(struct dw_pcie_ep *ep)
{ … }
static int dw_plat_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
unsigned int type, u16 interrupt_num)
{ … }
static const struct pci_epc_features dw_plat_pcie_epc_features = …;
static const struct pci_epc_features*
dw_plat_pcie_get_features(struct dw_pcie_ep *ep)
{ … }
static const struct dw_pcie_ep_ops pcie_ep_ops = …;
static int dw_plat_add_pcie_port(struct dw_plat_pcie *dw_plat_pcie,
struct platform_device *pdev)
{ … }
static int dw_plat_pcie_probe(struct platform_device *pdev)
{ … }
static const struct dw_plat_pcie_of_data dw_plat_pcie_rc_of_data = …;
static const struct dw_plat_pcie_of_data dw_plat_pcie_ep_of_data = …;
static const struct of_device_id dw_plat_pcie_of_match[] = …;
static struct platform_driver dw_plat_pcie_driver = …;
builtin_platform_driver(…) …;