Skip to content

Commit

Permalink
drivers/edac: add edac_mc_find API
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Douglas Thompson authored and Linus Torvalds committed Jul 19, 2007
1 parent 8ca47e0 commit 5da0831
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
28 changes: 28 additions & 0 deletions drivers/edac/edac_mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions drivers/edac/edac_mc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 5da0831

Please sign in to comment.