diff options
author | Dave Jiang <djiang@mvista.com> | 2007-07-19 04:49:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 13:04:53 -0400 |
commit | c4192705fec85219086231a1c0fa61e8776e2c3b (patch) | |
tree | 2ac7f03963fbc1bec8457a0f4a61adeb398a5df7 /drivers/edac | |
parent | 20bcb7a81dee21bfa3408f03f46b2891c9b5c84b (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/edac')
-rw-r--r-- | drivers/edac/amd76x_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/e752x_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/e7xxx_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/edac_core.h | 8 | ||||
-rw-r--r-- | drivers/edac/edac_device.c | 6 | ||||
-rw-r--r-- | drivers/edac/edac_mc.c | 6 | ||||
-rw-r--r-- | drivers/edac/i5000_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/i82443bxgx_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/i82860_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/i82875p_edac.c | 1 | ||||
-rw-r--r-- | drivers/edac/r82600_edac.c | 3 |
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 */ |
105 | enum dev_type { | 101 | enum 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) | |||
264 | fail0: | 264 | fail0: |
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) | |||
248 | fail0: | 248 | fail0: |
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 | ||
254 | fail1: | 254 | fail1: |
@@ -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 | } |
397 | EXPORT_SYMBOL_GPL(edac_mc_del_mc); | 397 | EXPORT_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); |