#define pr_fmt(fmt) …
#define dev_fmt …
#include <linux/bitfield.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/pci.h>
#include "pciehp.h"
#include "../pci.h"
bool pciehp_poll_mode;
int pciehp_poll_time;
module_param(pciehp_poll_mode, bool, 0644);
module_param(pciehp_poll_time, int, 0644);
MODULE_PARM_DESC(…) …;
MODULE_PARM_DESC(…) …;
static int set_attention_status(struct hotplug_slot *slot, u8 value);
static int get_power_status(struct hotplug_slot *slot, u8 *value);
static int get_latch_status(struct hotplug_slot *slot, u8 *value);
static int get_adapter_status(struct hotplug_slot *slot, u8 *value);
static int init_slot(struct controller *ctrl)
{ … }
static void cleanup_slot(struct controller *ctrl)
{ … }
static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
{ … }
static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ … }
static int get_latch_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ … }
static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
{ … }
static void pciehp_check_presence(struct controller *ctrl)
{ … }
static int pciehp_probe(struct pcie_device *dev)
{ … }
static void pciehp_remove(struct pcie_device *dev)
{ … }
#ifdef CONFIG_PM
static bool pme_is_native(struct pcie_device *dev)
{ … }
static void pciehp_disable_interrupt(struct pcie_device *dev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int pciehp_suspend(struct pcie_device *dev)
{ … }
static bool pciehp_device_replaced(struct controller *ctrl)
{ … }
static int pciehp_resume_noirq(struct pcie_device *dev)
{ … }
#endif
static int pciehp_resume(struct pcie_device *dev)
{ … }
static int pciehp_runtime_suspend(struct pcie_device *dev)
{ … }
static int pciehp_runtime_resume(struct pcie_device *dev)
{ … }
#endif
static struct pcie_port_service_driver hpdriver_portdrv = …;
int __init pcie_hp_init(void)
{ … }