#define pr_fmt(fmt) …
#include <linux/pci.h>
#include <linux/pds/pds_common.h>
#include "core.h"
MODULE_DESCRIPTION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
static const struct pci_device_id pdsc_id_table[] = …;
MODULE_DEVICE_TABLE(pci, pdsc_id_table);
static void pdsc_wdtimer_cb(struct timer_list *t)
{ … }
static void pdsc_unmap_bars(struct pdsc *pdsc)
{ … }
static int pdsc_map_bars(struct pdsc *pdsc)
{ … }
void __iomem *pdsc_map_dbpage(struct pdsc *pdsc, int page_num)
{ … }
static int pdsc_sriov_configure(struct pci_dev *pdev, int num_vfs)
{ … }
static int pdsc_init_vf(struct pdsc *vf)
{ … }
static const struct devlink_health_reporter_ops pdsc_fw_reporter_ops = …;
static const struct devlink_param pdsc_dl_params[] = …;
#define PDSC_WQ_NAME_LEN …
static int pdsc_init_pf(struct pdsc *pdsc)
{ … }
static const struct devlink_ops pdsc_dl_ops = …;
static const struct devlink_ops pdsc_dl_vf_ops = …;
static DEFINE_IDA(pdsc_ida);
static int pdsc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void pdsc_remove(struct pci_dev *pdev)
{ … }
static void pdsc_stop_health_thread(struct pdsc *pdsc)
{ … }
static void pdsc_restart_health_thread(struct pdsc *pdsc)
{ … }
static void pdsc_reset_prepare(struct pci_dev *pdev)
{ … }
static void pdsc_reset_done(struct pci_dev *pdev)
{ … }
static pci_ers_result_t pdsc_pci_error_detected(struct pci_dev *pdev,
pci_channel_state_t error)
{ … }
static void pdsc_pci_error_resume(struct pci_dev *pdev)
{ … }
static const struct pci_error_handlers pdsc_err_handler = …;
static struct pci_driver pdsc_driver = …;
void *pdsc_get_pf_struct(struct pci_dev *vf_pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
static int __init pdsc_init_module(void)
{ … }
static void __exit pdsc_cleanup_module(void)
{ … }
module_init(…) …;
module_exit(pdsc_cleanup_module);