mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
edac: remove unneeded functions and add static accessor
Collection of patches, merged into one, from Adrian that do the following: 1) This patch makes the following needlessly global functions static: - edac_pci_get_log_pe() - edac_pci_get_log_npe() - edac_pci_get_panic_on_pe() - edac_pci_unregister_sysfs_instance_kobj() - edac_pci_main_kobj_setup() 2) Remove unneeded function edac_device_find() 3) Added #if 0 around function edac_pci_find() 4) make the needlessly global edac_pci_generic_check() static 5) Removed function edac_check_mc_devices() Doug Thompson modified Adrian's patches, to bettern represent the direction of EDAC, and make them one patch. Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
ff6ac2a616
commit
1a45027d1a
5 changed files with 11 additions and 59 deletions
|
@ -375,37 +375,6 @@ static void del_edac_device_from_global_list(struct edac_device_ctl_info
|
||||||
wait_for_completion(&edac_device->removal_complete);
|
wait_for_completion(&edac_device->removal_complete);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* edac_device_find
|
|
||||||
* Search for a edac_device_ctl_info structure whose index is 'idx'.
|
|
||||||
*
|
|
||||||
* If found, return a pointer to the structure.
|
|
||||||
* Else return NULL.
|
|
||||||
*
|
|
||||||
* Caller must hold device_ctls_mutex.
|
|
||||||
*/
|
|
||||||
struct edac_device_ctl_info *edac_device_find(int idx)
|
|
||||||
{
|
|
||||||
struct list_head *item;
|
|
||||||
struct edac_device_ctl_info *edac_dev;
|
|
||||||
|
|
||||||
/* Iterate over list, looking for exact match of ID */
|
|
||||||
list_for_each(item, &edac_device_list) {
|
|
||||||
edac_dev = list_entry(item, struct edac_device_ctl_info, link);
|
|
||||||
|
|
||||||
if (edac_dev->dev_idx >= idx) {
|
|
||||||
if (edac_dev->dev_idx == idx)
|
|
||||||
return edac_dev;
|
|
||||||
|
|
||||||
/* not on list, so terminate early */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(edac_device_find);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* edac_device_workq_function
|
* edac_device_workq_function
|
||||||
* performs the operation scheduled by a workq request
|
* performs the operation scheduled by a workq request
|
||||||
|
|
|
@ -886,24 +886,3 @@ void edac_mc_handle_fbd_ce(struct mem_ctl_info *mci,
|
||||||
mci->csrows[csrow].channels[channel].ce_count++;
|
mci->csrows[csrow].channels[channel].ce_count++;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(edac_mc_handle_fbd_ce);
|
EXPORT_SYMBOL(edac_mc_handle_fbd_ce);
|
||||||
|
|
||||||
/*
|
|
||||||
* Iterate over all MC instances and check for ECC, et al, errors
|
|
||||||
*/
|
|
||||||
void edac_check_mc_devices(void)
|
|
||||||
{
|
|
||||||
struct list_head *item;
|
|
||||||
struct mem_ctl_info *mci;
|
|
||||||
|
|
||||||
debugf3("%s()\n", __func__);
|
|
||||||
mutex_lock(&mem_ctls_mutex);
|
|
||||||
|
|
||||||
list_for_each(item, &mc_devices) {
|
|
||||||
mci = list_entry(item, struct mem_ctl_info, link);
|
|
||||||
|
|
||||||
if (mci->edac_check != NULL)
|
|
||||||
mci->edac_check(mci);
|
|
||||||
}
|
|
||||||
|
|
||||||
mutex_unlock(&mem_ctls_mutex);
|
|
||||||
}
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ extern int edac_mc_register_sysfs_main_kobj(struct mem_ctl_info *mci);
|
||||||
extern void edac_mc_unregister_sysfs_main_kobj(struct mem_ctl_info *mci);
|
extern void edac_mc_unregister_sysfs_main_kobj(struct mem_ctl_info *mci);
|
||||||
extern int edac_create_sysfs_mci_device(struct mem_ctl_info *mci);
|
extern int edac_create_sysfs_mci_device(struct mem_ctl_info *mci);
|
||||||
extern void edac_remove_sysfs_mci_device(struct mem_ctl_info *mci);
|
extern void edac_remove_sysfs_mci_device(struct mem_ctl_info *mci);
|
||||||
extern void edac_check_mc_devices(void);
|
|
||||||
extern int edac_get_log_ue(void);
|
extern int edac_get_log_ue(void);
|
||||||
extern int edac_get_log_ce(void);
|
extern int edac_get_log_ce(void);
|
||||||
extern int edac_get_panic_on_ue(void);
|
extern int edac_get_panic_on_ue(void);
|
||||||
|
|
|
@ -189,6 +189,9 @@ static void del_edac_pci_from_global_list(struct edac_pci_ctl_info *pci)
|
||||||
wait_for_completion(&pci->complete);
|
wait_for_completion(&pci->complete);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
/* Older code, but might use in the future */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* edac_pci_find()
|
* edac_pci_find()
|
||||||
* Search for an edac_pci_ctl_info structure whose index is 'idx'
|
* Search for an edac_pci_ctl_info structure whose index is 'idx'
|
||||||
|
@ -219,6 +222,7 @@ struct edac_pci_ctl_info *edac_pci_find(int idx)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(edac_pci_find);
|
EXPORT_SYMBOL_GPL(edac_pci_find);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* edac_pci_workq_function()
|
* edac_pci_workq_function()
|
||||||
|
@ -422,7 +426,7 @@ EXPORT_SYMBOL_GPL(edac_pci_del_device);
|
||||||
*
|
*
|
||||||
* a Generic parity check API
|
* a Generic parity check API
|
||||||
*/
|
*/
|
||||||
void edac_pci_generic_check(struct edac_pci_ctl_info *pci)
|
static void edac_pci_generic_check(struct edac_pci_ctl_info *pci)
|
||||||
{
|
{
|
||||||
debugf4("%s()\n", __func__);
|
debugf4("%s()\n", __func__);
|
||||||
edac_pci_do_parity_check();
|
edac_pci_do_parity_check();
|
||||||
|
|
|
@ -37,17 +37,17 @@ int edac_pci_get_check_errors(void)
|
||||||
return check_pci_errors;
|
return check_pci_errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
int edac_pci_get_log_pe(void)
|
static int edac_pci_get_log_pe(void)
|
||||||
{
|
{
|
||||||
return edac_pci_log_pe;
|
return edac_pci_log_pe;
|
||||||
}
|
}
|
||||||
|
|
||||||
int edac_pci_get_log_npe(void)
|
static int edac_pci_get_log_npe(void)
|
||||||
{
|
{
|
||||||
return edac_pci_log_npe;
|
return edac_pci_log_npe;
|
||||||
}
|
}
|
||||||
|
|
||||||
int edac_pci_get_panic_on_pe(void)
|
static int edac_pci_get_panic_on_pe(void)
|
||||||
{
|
{
|
||||||
return edac_pci_panic_on_pe;
|
return edac_pci_panic_on_pe;
|
||||||
}
|
}
|
||||||
|
@ -197,7 +197,8 @@ error_out:
|
||||||
*
|
*
|
||||||
* unregister the kobj for the EDAC PCI instance
|
* unregister the kobj for the EDAC PCI instance
|
||||||
*/
|
*/
|
||||||
void edac_pci_unregister_sysfs_instance_kobj(struct edac_pci_ctl_info *pci)
|
static void edac_pci_unregister_sysfs_instance_kobj(
|
||||||
|
struct edac_pci_ctl_info *pci)
|
||||||
{
|
{
|
||||||
debugf0("%s()\n", __func__);
|
debugf0("%s()\n", __func__);
|
||||||
|
|
||||||
|
@ -337,7 +338,7 @@ static struct kobj_type ktype_edac_pci_main_kobj = {
|
||||||
* setup the sysfs for EDAC PCI attributes
|
* setup the sysfs for EDAC PCI attributes
|
||||||
* assumes edac_class has already been initialized
|
* assumes edac_class has already been initialized
|
||||||
*/
|
*/
|
||||||
int edac_pci_main_kobj_setup(void)
|
static int edac_pci_main_kobj_setup(void)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
struct sysdev_class *edac_class;
|
struct sysdev_class *edac_class;
|
||||||
|
|
Loading…
Reference in a new issue