aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/edac_core.h
diff options
context:
space:
mode:
authorDave Jiang <djiang@mvista.com>2007-07-19 01:49:47 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 10:04:53 -0700
commitc4192705fec85219086231a1c0fa61e8776e2c3b (patch)
tree2ac7f03963fbc1bec8457a0f4a61adeb398a5df7 /drivers/edac/edac_core.h
parent20bcb7a81dee21bfa3408f03f46b2891c9b5c84b (diff)
downloadkernel_samsung_smdk4412-c4192705fec85219086231a1c0fa61e8776e2c3b.zip
kernel_samsung_smdk4412-c4192705fec85219086231a1c0fa61e8776e2c3b.tar.gz
kernel_samsung_smdk4412-c4192705fec85219086231a1c0fa61e8776e2c3b.tar.bz2
drivers/edac: add dev_name getter function
Move dev_name() macro to a more generic interface since it's not possible to determine whether a device is pci, platform, or of_device easily. Now each low level driver sets the name into the control structure, and the EDAC core references the control structure for the information. Better abstraction. Signed-off-by: Dave Jiang <djiang@mvista.com> 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>
Diffstat (limited to 'drivers/edac/edac_core.h')
-rw-r--r--drivers/edac/edac_core.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index 968f483..f34ebb6 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -95,11 +95,7 @@ extern int edac_debug_level;
#define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \
PCI_DEVICE_ID_ ## vend ## _ ## dev
-#if defined(CONFIG_X86) && defined(CONFIG_PCI)
-#define dev_name(dev) pci_name(to_pci_dev(dev))
-#else
-#define dev_name(dev) to_platform_device(dev)->name
-#endif
+#define dev_name(dev) (dev)->dev_name
/* memory devices */
enum dev_type {
@@ -368,6 +364,7 @@ struct mem_ctl_info {
const char *mod_name;
const char *mod_ver;
const char *ctl_name;
+ const char *dev_name;
char proc_name[MC_PROC_NAME_MAX_LEN + 1];
void *pvt_info;
u32 ue_noinfo_count; /* Uncorrectable Errors w/o info */
@@ -538,6 +535,7 @@ struct edac_device_ctl_info {
const char *mod_name; /* module name */
const char *ctl_name; /* edac controller name */
+ const char *dev_name; /* pci/platform/etc... name */
void *pvt_info; /* pointer to 'private driver' info */