aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDave Jiang <djiang@mvista.com>2007-07-19 04:49:47 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 13:04:53 -0400
commitc4192705fec85219086231a1c0fa61e8776e2c3b (patch)
tree2ac7f03963fbc1bec8457a0f4a61adeb398a5df7 /drivers
parent20bcb7a81dee21bfa3408f03f46b2891c9b5c84b (diff)
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')
-rw-r--r--drivers/edac/amd76x_edac.c1
-rw-r--r--drivers/edac/e752x_edac.c1
-rw-r--r--drivers/edac/e7xxx_edac.c1
-rw-r--r--drivers/edac/edac_core.h8
-rw-r--r--drivers/edac/edac_device.c6
-rw-r--r--drivers/edac/edac_mc.c6
-rw-r--r--drivers/edac/i5000_edac.c1
-rw-r--r--drivers/edac/i82443bxgx_edac.c1
-rw-r--r--drivers/edac/i82860_edac.c1
-rw-r--r--drivers/edac/i82875p_edac.c1
-rw-r--r--drivers/edac/r82600_edac.c3
11 files changed, 18 insertions, 12 deletions
diff --git a/drivers/edac/amd76x_edac.c b/drivers/edac/amd76x_edac.c
index 00d52544d149..40c763231ecc 100644
--- a/drivers/edac/amd76x_edac.c
+++ b/drivers/edac/amd76x_edac.c
@@ -253,6 +253,7 @@ static int amd76x_probe1(struct pci_dev *pdev, int dev_idx)
253 mci->mod_name = EDAC_MOD_STR; 253 mci->mod_name = EDAC_MOD_STR;
254 mci->mod_ver = AMD76X_REVISION; 254 mci->mod_ver = AMD76X_REVISION;
255 mci->ctl_name = amd76x_devs[dev_idx].ctl_name; 255 mci->ctl_name = amd76x_devs[dev_idx].ctl_name;
256 mci->dev_name = pci_name(pdev);
256 mci->edac_check = amd76x_check; 257 mci->edac_check = amd76x_check;
257 mci->ctl_page_to_phys = NULL; 258 mci->ctl_page_to_phys = NULL;
258 259
diff --git a/drivers/edac/e752x_edac.c b/drivers/edac/e752x_edac.c
index 9460edd361c7..10f84995472d 100644
--- a/drivers/edac/e752x_edac.c
+++ b/drivers/edac/e752x_edac.c
@@ -1004,6 +1004,7 @@ static int e752x_probe1(struct pci_dev *pdev, int dev_idx)
1004 1004
1005 debugf3("%s(): more mci init\n", __func__); 1005 debugf3("%s(): more mci init\n", __func__);
1006 mci->ctl_name = pvt->dev_info->ctl_name; 1006 mci->ctl_name = pvt->dev_info->ctl_name;
1007 mci->dev_name = pci_name(pdev);
1007 mci->edac_check = e752x_check; 1008 mci->edac_check = e752x_check;
1008 mci->ctl_page_to_phys = ctl_page_to_phys; 1009 mci->ctl_page_to_phys = ctl_page_to_phys;
1009 1010
diff --git a/drivers/edac/e7xxx_edac.c b/drivers/edac/e7xxx_edac.c
index 367eb99c1d07..5202bbf2e0cd 100644
--- a/drivers/edac/e7xxx_edac.c
+++ b/drivers/edac/e7xxx_edac.c
@@ -463,6 +463,7 @@ static int e7xxx_probe1(struct pci_dev *pdev, int dev_idx)
463 463
464 debugf3("%s(): more mci init\n", __func__); 464 debugf3("%s(): more mci init\n", __func__);
465 mci->ctl_name = pvt->dev_info->ctl_name; 465 mci->ctl_name = pvt->dev_info->ctl_name;
466 mci->dev_name = pci_name(pdev);
466 mci->edac_check = e7xxx_check; 467 mci->edac_check = e7xxx_check;
467 mci->ctl_page_to_phys = ctl_page_to_phys; 468 mci->ctl_page_to_phys = ctl_page_to_phys;
468 e7xxx_init_csrows(mci, pdev, dev_idx, drc); 469 e7xxx_init_csrows(mci, pdev, dev_idx, drc);
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index 968f48399e00..f34ebb609d55 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -95,11 +95,7 @@ extern int edac_debug_level;
95#define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \ 95#define PCI_VEND_DEV(vend, dev) PCI_VENDOR_ID_ ## vend, \
96 PCI_DEVICE_ID_ ## vend ## _ ## dev 96 PCI_DEVICE_ID_ ## vend ## _ ## dev
97 97
98#if defined(CONFIG_X86) && defined(CONFIG_PCI) 98#define dev_name(dev) (dev)->dev_name
99#define dev_name(dev) pci_name(to_pci_dev(dev))
100#else
101#define dev_name(dev) to_platform_device(dev)->name
102#endif
103 99
104/* memory devices */ 100/* memory devices */
105enum dev_type { 101enum dev_type {
@@ -368,6 +364,7 @@ struct mem_ctl_info {
368 const char *mod_name; 364 const char *mod_name;
369 const char *mod_ver; 365 const char *mod_ver;
370 const char *ctl_name; 366 const char *ctl_name;
367 const char *dev_name;
371 char proc_name[MC_PROC_NAME_MAX_LEN + 1]; 368 char proc_name[MC_PROC_NAME_MAX_LEN + 1];
372 void *pvt_info; 369 void *pvt_info;
373 u32 ue_noinfo_count; /* Uncorrectable Errors w/o info */ 370 u32 ue_noinfo_count; /* Uncorrectable Errors w/o info */
@@ -538,6 +535,7 @@ struct edac_device_ctl_info {
538 535
539 const char *mod_name; /* module name */ 536 const char *mod_name; /* module name */
540 const char *ctl_name; /* edac controller name */ 537 const char *ctl_name; /* edac controller name */
538 const char *dev_name; /* pci/platform/etc... name */
541 539
542 void *pvt_info; /* pointer to 'private driver' info */ 540 void *pvt_info; /* pointer to 'private driver' info */
543 541
diff --git a/drivers/edac/edac_device.c b/drivers/edac/edac_device.c
index c579c498cc75..52db1b14fff5 100644
--- a/drivers/edac/edac_device.c
+++ b/drivers/edac/edac_device.c
@@ -264,7 +264,7 @@ static int add_edac_dev_to_global_list (struct edac_device_ctl_info *edac_dev)
264fail0: 264fail0:
265 edac_printk(KERN_WARNING, EDAC_MC, 265 edac_printk(KERN_WARNING, EDAC_MC,
266 "%s (%s) %s %s already assigned %d\n", 266 "%s (%s) %s %s already assigned %d\n",
267 rover->dev->bus_id, dev_name(rover->dev), 267 rover->dev->bus_id, dev_name(rover),
268 rover->mod_name, rover->ctl_name, rover->dev_idx); 268 rover->mod_name, rover->ctl_name, rover->dev_idx);
269 return 1; 269 return 1;
270 270
@@ -491,7 +491,7 @@ int edac_device_add_device(struct edac_device_ctl_info *edac_dev, int edac_idx)
491 "Giving out device to module '%s' controller '%s': DEV '%s' (%s)\n", 491 "Giving out device to module '%s' controller '%s': DEV '%s' (%s)\n",
492 edac_dev->mod_name, 492 edac_dev->mod_name,
493 edac_dev->ctl_name, 493 edac_dev->ctl_name,
494 dev_name(edac_dev->dev), 494 dev_name(edac_dev),
495 edac_op_state_toString(edac_dev) 495 edac_op_state_toString(edac_dev)
496 ); 496 );
497 497
@@ -553,7 +553,7 @@ struct edac_device_ctl_info * edac_device_del_device(struct device *dev)
553 edac_dev->dev_idx, 553 edac_dev->dev_idx,
554 edac_dev->mod_name, 554 edac_dev->mod_name,
555 edac_dev->ctl_name, 555 edac_dev->ctl_name,
556 dev_name(edac_dev->dev)); 556 dev_name(edac_dev));
557 557
558 return edac_dev; 558 return edac_dev;
559} 559}
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index 7c5fdd1ee972..d324e1eadd3c 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -248,7 +248,7 @@ static int add_mc_to_global_list (struct mem_ctl_info *mci)
248fail0: 248fail0:
249 edac_printk(KERN_WARNING, EDAC_MC, 249 edac_printk(KERN_WARNING, EDAC_MC,
250 "%s (%s) %s %s already assigned %d\n", p->dev->bus_id, 250 "%s (%s) %s %s already assigned %d\n", p->dev->bus_id,
251 dev_name(p->dev), p->mod_name, p->ctl_name, p->mc_idx); 251 dev_name(mci), p->mod_name, p->ctl_name, p->mc_idx);
252 return 1; 252 return 1;
253 253
254fail1: 254fail1:
@@ -353,7 +353,7 @@ int edac_mc_add_mc(struct mem_ctl_info *mci, int mc_idx)
353 353
354 /* Report action taken */ 354 /* Report action taken */
355 edac_mc_printk(mci, KERN_INFO, "Giving out device to %s %s: DEV %s\n", 355 edac_mc_printk(mci, KERN_INFO, "Giving out device to %s %s: DEV %s\n",
356 mci->mod_name, mci->ctl_name, dev_name(mci->dev)); 356 mci->mod_name, mci->ctl_name, dev_name(mci));
357 357
358 mutex_unlock(&mem_ctls_mutex); 358 mutex_unlock(&mem_ctls_mutex);
359 return 0; 359 return 0;
@@ -391,7 +391,7 @@ struct mem_ctl_info * edac_mc_del_mc(struct device *dev)
391 mutex_unlock(&mem_ctls_mutex); 391 mutex_unlock(&mem_ctls_mutex);
392 edac_printk(KERN_INFO, EDAC_MC, 392 edac_printk(KERN_INFO, EDAC_MC,
393 "Removed device %d for %s %s: DEV %s\n", mci->mc_idx, 393 "Removed device %d for %s %s: DEV %s\n", mci->mc_idx,
394 mci->mod_name, mci->ctl_name, dev_name(mci->dev)); 394 mci->mod_name, mci->ctl_name, dev_name(mci));
395 return mci; 395 return mci;
396} 396}
397EXPORT_SYMBOL_GPL(edac_mc_del_mc); 397EXPORT_SYMBOL_GPL(edac_mc_del_mc);
diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c
index f6b9ef73c6cc..af6faeeaa4f6 100644
--- a/drivers/edac/i5000_edac.c
+++ b/drivers/edac/i5000_edac.c
@@ -1345,6 +1345,7 @@ static int i5000_probe1(struct pci_dev *pdev, int dev_idx)
1345 mci->mod_name = "i5000_edac.c"; 1345 mci->mod_name = "i5000_edac.c";
1346 mci->mod_ver = I5000_REVISION; 1346 mci->mod_ver = I5000_REVISION;
1347 mci->ctl_name = i5000_devs[dev_idx].ctl_name; 1347 mci->ctl_name = i5000_devs[dev_idx].ctl_name;
1348 mci->dev_name = pci_name(pdev);
1348 mci->ctl_page_to_phys = NULL; 1349 mci->ctl_page_to_phys = NULL;
1349 1350
1350 /* Set the function pointer to an actual operation function */ 1351 /* Set the function pointer to an actual operation function */
diff --git a/drivers/edac/i82443bxgx_edac.c b/drivers/edac/i82443bxgx_edac.c
index a94bb38ea8e4..f88ea075ff2d 100644
--- a/drivers/edac/i82443bxgx_edac.c
+++ b/drivers/edac/i82443bxgx_edac.c
@@ -318,6 +318,7 @@ static int i82443bxgx_edacmc_probe1(struct pci_dev *pdev, int dev_idx)
318 mci->mod_name = EDAC_MOD_STR; 318 mci->mod_name = EDAC_MOD_STR;
319 mci->mod_ver = I82443_REVISION; 319 mci->mod_ver = I82443_REVISION;
320 mci->ctl_name = "I82443BXGX"; 320 mci->ctl_name = "I82443BXGX";
321 mci->dev_name = pci_name(pdev);
321 mci->edac_check = i82443bxgx_edacmc_check; 322 mci->edac_check = i82443bxgx_edacmc_check;
322 mci->ctl_page_to_phys = NULL; 323 mci->ctl_page_to_phys = NULL;
323 324
diff --git a/drivers/edac/i82860_edac.c b/drivers/edac/i82860_edac.c
index 427de5772038..183427853d04 100644
--- a/drivers/edac/i82860_edac.c
+++ b/drivers/edac/i82860_edac.c
@@ -200,6 +200,7 @@ static int i82860_probe1(struct pci_dev *pdev, int dev_idx)
200 mci->mod_name = EDAC_MOD_STR; 200 mci->mod_name = EDAC_MOD_STR;
201 mci->mod_ver = I82860_REVISION; 201 mci->mod_ver = I82860_REVISION;
202 mci->ctl_name = i82860_devs[dev_idx].ctl_name; 202 mci->ctl_name = i82860_devs[dev_idx].ctl_name;
203 mci->dev_name = pci_name(pdev);
203 mci->edac_check = i82860_check; 204 mci->edac_check = i82860_check;
204 mci->ctl_page_to_phys = NULL; 205 mci->ctl_page_to_phys = NULL;
205 i82860_init_csrows(mci, pdev); 206 i82860_init_csrows(mci, pdev);
diff --git a/drivers/edac/i82875p_edac.c b/drivers/edac/i82875p_edac.c
index c53f08d764c4..485525e4e8e8 100644
--- a/drivers/edac/i82875p_edac.c
+++ b/drivers/edac/i82875p_edac.c
@@ -407,6 +407,7 @@ static int i82875p_probe1(struct pci_dev *pdev, int dev_idx)
407 mci->mod_name = EDAC_MOD_STR; 407 mci->mod_name = EDAC_MOD_STR;
408 mci->mod_ver = I82875P_REVISION; 408 mci->mod_ver = I82875P_REVISION;
409 mci->ctl_name = i82875p_devs[dev_idx].ctl_name; 409 mci->ctl_name = i82875p_devs[dev_idx].ctl_name;
410 mci->dev_name = pci_name(pdev);
410 mci->edac_check = i82875p_check; 411 mci->edac_check = i82875p_check;
411 mci->ctl_page_to_phys = NULL; 412 mci->ctl_page_to_phys = NULL;
412 debugf3("%s(): init pvt\n", __func__); 413 debugf3("%s(): init pvt\n", __func__);
diff --git a/drivers/edac/r82600_edac.c b/drivers/edac/r82600_edac.c
index bc322001114b..4285958c73b7 100644
--- a/drivers/edac/r82600_edac.c
+++ b/drivers/edac/r82600_edac.c
@@ -11,7 +11,7 @@
11 * 11 *
12 * Written with reference to 82600 High Integration Dual PCI System 12 * Written with reference to 82600 High Integration Dual PCI System
13 * Controller Data Book: 13 * Controller Data Book:
14 * http://www.radisys.com/files/support_downloads/007-01277-0002.82600DataBook.pdf 14 * www.radisys.com/files/support_downloads/007-01277-0002.82600DataBook.pdf
15 * references to this document given in [] 15 * references to this document given in []
16 */ 16 */
17 17
@@ -305,6 +305,7 @@ static int r82600_probe1(struct pci_dev *pdev, int dev_idx)
305 mci->mod_name = EDAC_MOD_STR; 305 mci->mod_name = EDAC_MOD_STR;
306 mci->mod_ver = R82600_REVISION; 306 mci->mod_ver = R82600_REVISION;
307 mci->ctl_name = "R82600"; 307 mci->ctl_name = "R82600";
308 mci->dev_name = pci_name(pdev);
308 mci->edac_check = r82600_check; 309 mci->edac_check = r82600_check;
309 mci->ctl_page_to_phys = NULL; 310 mci->ctl_page_to_phys = NULL;
310 r82600_init_csrows(mci, pdev, dramcr); 311 r82600_init_csrows(mci, pdev, dramcr);