forked from Minki/linux
drivers/edac: add edac_mc_find API
This simple patch adds an important CORE API for EDAC that EDAC drivers can use to find their edac_mc control structure by passing a mem_ctl_info 'instance' value Needed for subsequent patches Signed-off-by: Douglas 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
8ca47e0069
commit
5da0831c59
@ -1456,6 +1456,34 @@ static void del_mc_from_global_list(struct mem_ctl_info *mci)
|
||||
wait_for_completion(&mci->complete);
|
||||
}
|
||||
|
||||
/**
|
||||
* edac_mc_find: Search for a mem_ctl_info structure whose index is 'idx'.
|
||||
*
|
||||
* If found, return a pointer to the structure.
|
||||
* Else return NULL.
|
||||
*
|
||||
* Caller must hold mem_ctls_mutex.
|
||||
*/
|
||||
struct mem_ctl_info * edac_mc_find(int idx)
|
||||
{
|
||||
struct list_head *item;
|
||||
struct mem_ctl_info *mci;
|
||||
|
||||
list_for_each(item, &mc_devices) {
|
||||
mci = list_entry(item, struct mem_ctl_info, link);
|
||||
|
||||
if (mci->mc_idx >= idx) {
|
||||
if (mci->mc_idx == idx)
|
||||
return mci;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(edac_mc_find);
|
||||
|
||||
/**
|
||||
* edac_mc_add_mc: Insert the 'mci' structure into the mci global list and
|
||||
* create sysfs entries associated with mci structure
|
||||
|
@ -430,6 +430,7 @@ void edac_mc_dump_mci(struct mem_ctl_info *mci);
|
||||
void edac_mc_dump_csrow(struct csrow_info *csrow);
|
||||
#endif /* CONFIG_EDAC_DEBUG */
|
||||
|
||||
extern struct mem_ctl_info * edac_mc_find(int idx);
|
||||
extern int edac_mc_add_mc(struct mem_ctl_info *mci,int mc_idx);
|
||||
extern struct mem_ctl_info * edac_mc_del_mc(struct device *dev);
|
||||
extern int edac_mc_find_csrow_by_page(struct mem_ctl_info *mci,
|
||||
|
Loading…
Reference in New Issue
Block a user