forked from Minki/linux
edac: move documentation from edac_pci*.c to edac_pci.h
Several functions are documented at edac_pci.c and edac_pci_sysfs.c. As we'll be including edac_pci.h at drivers-api book, move those, in order for the kernel-doc markups be part of the API documentation book. As several of those kernel-doc macros are not in the right format, fix them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
5336f75499
commit
fdaf0b3505
@ -28,13 +28,6 @@ static DEFINE_MUTEX(edac_pci_ctls_mutex);
|
||||
static LIST_HEAD(edac_pci_list);
|
||||
static atomic_t pci_indexes = ATOMIC_INIT(0);
|
||||
|
||||
/*
|
||||
* edac_pci_alloc_ctl_info
|
||||
*
|
||||
* The alloc() function for the 'edac_pci' control info
|
||||
* structure. The chip driver will allocate one of these for each
|
||||
* edac_pci it is going to control/register with the EDAC CORE.
|
||||
*/
|
||||
struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
|
||||
const char *edac_pci_name)
|
||||
{
|
||||
@ -65,16 +58,6 @@ struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(edac_pci_alloc_ctl_info);
|
||||
|
||||
/*
|
||||
* edac_pci_free_ctl_info()
|
||||
*
|
||||
* Last action on the pci control structure.
|
||||
*
|
||||
* call the remove sysfs information, which will unregister
|
||||
* this control struct's kobj. When that kobj's ref count
|
||||
* goes to zero, its release function will be call and then
|
||||
* kfree() the memory.
|
||||
*/
|
||||
void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci)
|
||||
{
|
||||
edac_dbg(1, "\n");
|
||||
@ -212,31 +195,12 @@ static void edac_pci_workq_function(struct work_struct *work_req)
|
||||
mutex_unlock(&edac_pci_ctls_mutex);
|
||||
}
|
||||
|
||||
/*
|
||||
* edac_pci_alloc_index: Allocate a unique PCI index number
|
||||
*
|
||||
* Return:
|
||||
* allocated index number
|
||||
*
|
||||
*/
|
||||
int edac_pci_alloc_index(void)
|
||||
{
|
||||
return atomic_inc_return(&pci_indexes) - 1;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(edac_pci_alloc_index);
|
||||
|
||||
/*
|
||||
* edac_pci_add_device: Insert the 'edac_dev' structure into the
|
||||
* edac_pci global list and create sysfs entries associated with
|
||||
* edac_pci structure.
|
||||
* @pci: pointer to the edac_device structure to be added to the list
|
||||
* @edac_idx: A unique numeric identifier to be assigned to the
|
||||
* 'edac_pci' structure.
|
||||
*
|
||||
* Return:
|
||||
* 0 Success
|
||||
* !0 Failure
|
||||
*/
|
||||
int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx)
|
||||
{
|
||||
edac_dbg(0, "\n");
|
||||
@ -282,19 +246,6 @@ fail0:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(edac_pci_add_device);
|
||||
|
||||
/*
|
||||
* edac_pci_del_device()
|
||||
* Remove sysfs entries for specified edac_pci structure and
|
||||
* then remove edac_pci structure from global list
|
||||
*
|
||||
* @dev:
|
||||
* Pointer to 'struct device' representing edac_pci structure
|
||||
* to remove
|
||||
*
|
||||
* Return:
|
||||
* Pointer to removed edac_pci structure,
|
||||
* or NULL if device not found
|
||||
*/
|
||||
struct edac_pci_ctl_info *edac_pci_del_device(struct device *dev)
|
||||
{
|
||||
struct edac_pci_ctl_info *pci;
|
||||
@ -348,17 +299,6 @@ struct edac_pci_gen_data {
|
||||
int edac_idx;
|
||||
};
|
||||
|
||||
/*
|
||||
* edac_pci_create_generic_ctl
|
||||
*
|
||||
* A generic constructor for a PCI parity polling device
|
||||
* Some systems have more than one domain of PCI busses.
|
||||
* For systems with one domain, then this API will
|
||||
* provide for a generic poller.
|
||||
*
|
||||
* This routine calls the edac_pci_alloc_ctl_info() for
|
||||
* the generic device, with default values
|
||||
*/
|
||||
struct edac_pci_ctl_info *edac_pci_create_generic_ctl(struct device *dev,
|
||||
const char *mod_name)
|
||||
{
|
||||
@ -391,11 +331,6 @@ struct edac_pci_ctl_info *edac_pci_create_generic_ctl(struct device *dev,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(edac_pci_create_generic_ctl);
|
||||
|
||||
/*
|
||||
* edac_pci_release_generic_ctl
|
||||
*
|
||||
* The release function of a generic EDAC PCI polling device
|
||||
*/
|
||||
void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci)
|
||||
{
|
||||
edac_dbg(0, "pci mod=%s\n", pci->mod_name);
|
||||
|
@ -153,21 +153,119 @@ static inline void pci_write_bits32(struct pci_dev *pdev, int offset,
|
||||
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
/*
|
||||
* edac_pci APIs
|
||||
*/
|
||||
|
||||
/**
|
||||
* edac_pci_alloc_ctl_info:
|
||||
* The alloc() function for the 'edac_pci' control info
|
||||
* structure.
|
||||
*
|
||||
* @sz_pvt: size of the private info at struct &edac_pci_ctl_info
|
||||
* @edac_pci_name: name of the PCI device
|
||||
*
|
||||
* The chip driver will allocate one of these for each
|
||||
* edac_pci it is going to control/register with the EDAC CORE.
|
||||
*
|
||||
* Returns: a pointer to struct &edac_pci_ctl_info on success; %NULL otherwise.
|
||||
*/
|
||||
extern struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
|
||||
const char *edac_pci_name);
|
||||
|
||||
/**
|
||||
* edac_pci_free_ctl_info():
|
||||
* Last action on the pci control structure.
|
||||
*
|
||||
* @pci: pointer to struct &edac_pci_ctl_info
|
||||
*
|
||||
* Calls the remove sysfs information, which will unregister
|
||||
* this control struct's kobj. When that kobj's ref count
|
||||
* goes to zero, its release function will be call and then
|
||||
* kfree() the memory.
|
||||
*/
|
||||
extern void edac_pci_free_ctl_info(struct edac_pci_ctl_info *pci);
|
||||
|
||||
/**
|
||||
* edac_pci_alloc_index: Allocate a unique PCI index number
|
||||
*
|
||||
* Returns:
|
||||
* allocated index number
|
||||
*
|
||||
*/
|
||||
extern int edac_pci_alloc_index(void);
|
||||
|
||||
/**
|
||||
* edac_pci_add_device(): Insert the 'edac_dev' structure into the
|
||||
* edac_pci global list and create sysfs entries associated with
|
||||
* edac_pci structure.
|
||||
*
|
||||
* @pci: pointer to the edac_device structure to be added to the list
|
||||
* @edac_idx: A unique numeric identifier to be assigned to the
|
||||
* 'edac_pci' structure.
|
||||
*
|
||||
* Returns:
|
||||
* 0 on Success, or an error code on failure
|
||||
*/
|
||||
extern int edac_pci_add_device(struct edac_pci_ctl_info *pci, int edac_idx);
|
||||
|
||||
/**
|
||||
* edac_pci_del_device()
|
||||
* Remove sysfs entries for specified edac_pci structure and
|
||||
* then remove edac_pci structure from global list
|
||||
*
|
||||
* @dev:
|
||||
* Pointer to 'struct device' representing edac_pci structure
|
||||
* to remove
|
||||
*
|
||||
* Returns:
|
||||
* Pointer to removed edac_pci structure,
|
||||
* or %NULL if device not found
|
||||
*/
|
||||
extern struct edac_pci_ctl_info *edac_pci_del_device(struct device *dev);
|
||||
|
||||
/**
|
||||
* edac_pci_create_generic_ctl()
|
||||
* A generic constructor for a PCI parity polling device
|
||||
* Some systems have more than one domain of PCI busses.
|
||||
* For systems with one domain, then this API will
|
||||
* provide for a generic poller.
|
||||
*
|
||||
* @dev: pointer to struct &device;
|
||||
* @mod_name: name of the PCI device
|
||||
*
|
||||
* This routine calls the edac_pci_alloc_ctl_info() for
|
||||
* the generic device, with default values
|
||||
*
|
||||
* Returns: Pointer to struct &edac_pci_ctl_info on success, %NULL on
|
||||
* failure.
|
||||
*/
|
||||
extern struct edac_pci_ctl_info *edac_pci_create_generic_ctl(
|
||||
struct device *dev,
|
||||
const char *mod_name);
|
||||
|
||||
/**
|
||||
* edac_pci_release_generic_ctl
|
||||
* The release function of a generic EDAC PCI polling device
|
||||
*
|
||||
* @pci: pointer to struct &edac_pci_ctl_info
|
||||
*/
|
||||
extern void edac_pci_release_generic_ctl(struct edac_pci_ctl_info *pci);
|
||||
|
||||
/**
|
||||
* edac_pci_create_sysfs
|
||||
* Create the controls/attributes for the specified EDAC PCI device
|
||||
*
|
||||
* @pci: pointer to struct &edac_pci_ctl_info
|
||||
*/
|
||||
extern int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci);
|
||||
|
||||
/**
|
||||
* edac_pci_remove_sysfs()
|
||||
* remove the controls and attributes for this EDAC PCI device
|
||||
*
|
||||
* @pci: pointer to struct &edac_pci_ctl_info
|
||||
*/
|
||||
extern void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci);
|
||||
|
||||
#endif
|
||||
|
@ -418,12 +418,6 @@ static void edac_pci_main_kobj_teardown(void)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* edac_pci_create_sysfs
|
||||
*
|
||||
* Create the controls/attributes for the specified EDAC PCI device
|
||||
*/
|
||||
int edac_pci_create_sysfs(struct edac_pci_ctl_info *pci)
|
||||
{
|
||||
int err;
|
||||
@ -459,11 +453,6 @@ unregister_cleanup:
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
* edac_pci_remove_sysfs
|
||||
*
|
||||
* remove the controls and attributes for this EDAC PCI device
|
||||
*/
|
||||
void edac_pci_remove_sysfs(struct edac_pci_ctl_info *pci)
|
||||
{
|
||||
edac_dbg(0, "index=%d\n", pci->pci_idx);
|
||||
|
Loading…
Reference in New Issue
Block a user