#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/pci.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/resource.h>
#include "pcie-designware.h"
struct spear13xx_pcie { … };
struct pcie_app_reg { … };
#define APP_LTSSM_ENABLE_ID …
#define DEVICE_TYPE_RC …
#define MISCTRL_EN_ID …
#define REG_TRANSLATION_ENABLE …
#define XMLH_LINK_UP …
#define MSI_CTRL_INT …
#define to_spear13xx_pcie(x) …
static int spear13xx_pcie_start_link(struct dw_pcie *pci)
{ … }
static irqreturn_t spear13xx_pcie_irq_handler(int irq, void *arg)
{ … }
static void spear13xx_pcie_enable_interrupts(struct spear13xx_pcie *spear13xx_pcie)
{ … }
static int spear13xx_pcie_link_up(struct dw_pcie *pci)
{ … }
static int spear13xx_pcie_host_init(struct dw_pcie_rp *pp)
{ … }
static const struct dw_pcie_host_ops spear13xx_pcie_host_ops = …;
static int spear13xx_add_pcie_port(struct spear13xx_pcie *spear13xx_pcie,
struct platform_device *pdev)
{ … }
static const struct dw_pcie_ops dw_pcie_ops = …;
static int spear13xx_pcie_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id spear13xx_pcie_of_match[] = …;
static struct platform_driver spear13xx_pcie_driver = …;
builtin_platform_driver(…) …;