#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/resource.h>
#include "pcie-designware.h"
#define PEX_PF0_CONFIG …
#define PEX_PF0_CFG_READY …
#define PEX_PF0_PME_MES_DR …
#define PEX_PF0_PME_MES_DR_LUD …
#define PEX_PF0_PME_MES_DR_LDD …
#define PEX_PF0_PME_MES_DR_HRD …
#define PEX_PF0_PME_MES_IER …
#define PEX_PF0_PME_MES_IER_LUDIE …
#define PEX_PF0_PME_MES_IER_LDDIE …
#define PEX_PF0_PME_MES_IER_HRDIE …
#define to_ls_pcie_ep(x) …
struct ls_pcie_ep_drvdata { … };
struct ls_pcie_ep { … };
static u32 ls_pcie_pf_lut_readl(struct ls_pcie_ep *pcie, u32 offset)
{ … }
static void ls_pcie_pf_lut_writel(struct ls_pcie_ep *pcie, u32 offset, u32 value)
{ … }
static irqreturn_t ls_pcie_ep_event_handler(int irq, void *dev_id)
{ … }
static int ls_pcie_ep_interrupt_init(struct ls_pcie_ep *pcie,
struct platform_device *pdev)
{ … }
static const struct pci_epc_features*
ls_pcie_ep_get_features(struct dw_pcie_ep *ep)
{ … }
static void ls_pcie_ep_init(struct dw_pcie_ep *ep)
{ … }
static int ls_pcie_ep_raise_irq(struct dw_pcie_ep *ep, u8 func_no,
unsigned int type, u16 interrupt_num)
{ … }
static unsigned int ls_pcie_ep_get_dbi_offset(struct dw_pcie_ep *ep, u8 func_no)
{ … }
static const struct dw_pcie_ep_ops ls_pcie_ep_ops = …;
static const struct ls_pcie_ep_drvdata ls1_ep_drvdata = …;
static const struct ls_pcie_ep_drvdata ls2_ep_drvdata = …;
static const struct ls_pcie_ep_drvdata lx2_ep_drvdata = …;
static const struct of_device_id ls_pcie_ep_of_match[] = …;
static int __init ls_pcie_ep_probe(struct platform_device *pdev)
{ … }
static struct platform_driver ls_pcie_ep_driver = …;
builtin_platform_driver_probe(…);