#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/of_platform.h>
#include <linux/pci.h>
#include <linux/platform_device.h>
#include "../pci.h"
static void __iomem *versatile_pci_base;
static void __iomem *versatile_cfg_base[2];
#define PCI_IMAP(m) …
#define PCI_SMAP(m) …
#define PCI_SELFID …
#define VP_PCI_DEVICE_ID …
#define VP_PCI_CLASS_ID …
static u32 pci_slot_ignore;
static int __init versatile_pci_slot_ignore(char *str)
{ … }
__setup(…);
static void __iomem *versatile_map_bus(struct pci_bus *bus,
unsigned int devfn, int offset)
{ … }
static struct pci_ops pci_versatile_ops = …;
static int versatile_pci_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id versatile_pci_of_match[] = …;
MODULE_DEVICE_TABLE(of, versatile_pci_of_match);
static struct platform_driver versatile_pci_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;