Commit 1a45027d authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds

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: default avatarAdrian Bunk <bunk@kernel.org>
Signed-off-by: default avatarDoug Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ff6ac2a6
...@@ -375,37 +375,6 @@ static void del_edac_device_from_global_list(struct edac_device_ctl_info ...@@ -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, ...@@ -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); ...@@ -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) ...@@ -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) ...@@ -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); ...@@ -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) ...@@ -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: ...@@ -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 = { ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment