linux/drivers/edac/edac_pci.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * EDAC PCI component
 *
 * Author: Dave Jiang <[email protected]>
 *
 * 2007 (c) MontaVista Software, Inc.
 */
#include <asm/page.h>
#include <linux/uaccess.h>
#include <linux/ctype.h>
#include <linux/highmem.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/sysctl.h>
#include <linux/timer.h>

#include "edac_pci.h"
#include "edac_module.h"

static DEFINE_MUTEX(edac_pci_ctls_mutex);
static LIST_HEAD(edac_pci_list);
static atomic_t pci_indexes =;

struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
						  const char *edac_pci_name)
{}
EXPORT_SYMBOL_GPL();

void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci)
{}
EXPORT_SYMBOL_GPL();

/*
 * find_edac_pci_by_dev()
 * 	scans the edac_pci list for a specific 'struct device *'
 *
 *	return NULL if not found, or return control struct pointer
 */
static struct edac_pci_ctl_info *find_edac_pci_by_dev(struct device *dev)
{}

/*
 * add_edac_pci_to_global_list
 * 	Before calling this function, caller must assign a unique value to
 * 	edac_dev->pci_idx.
 * 	Return:
 * 		0 on success
 * 		1 on failure
 */
static int add_edac_pci_to_global_list(struct edac_pci_ctl_info *pci)
{}

/*
 * del_edac_pci_from_global_list
 *
 *	remove the PCI control struct from the global list
 */
static void del_edac_pci_from_global_list(struct edac_pci_ctl_info *pci)
{}

/*
 * edac_pci_workq_function()
 *
 * 	periodic function that performs the operation
 *	scheduled by a workq request, for a given PCI control struct
 */
static void edac_pci_workq_function(struct work_struct *work_req)
{}

int edac_pci_alloc_index(void)
{}
EXPORT_SYMBOL_GPL();

int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx)
{}
EXPORT_SYMBOL_GPL();

struct edac_pci_ctl_info *edac_pci_del_device(struct device *dev)
{}
EXPORT_SYMBOL_GPL();

/*
 * edac_pci_generic_check
 *
 *	a Generic parity check API
 */
static void edac_pci_generic_check(struct edac_pci_ctl_info *pci)
{}

/* free running instance index counter */
static int edac_pci_idx;
#define EDAC_PCI_GENCTL_NAME

struct edac_pci_gen_data {};

struct edac_pci_ctl_info *edac_pci_create_generic_ctl(struct device *dev,
						const char *mod_name)
{}
EXPORT_SYMBOL_GPL();

void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci)
{}
EXPORT_SYMBOL_GPL();