Commit 537fba28928c01b7db1580627450691a4bb0b9b3
Committed by
Linus Torvalds
1 parent
f2fe42abbf
Exists in
master
and in
7 other branches
[PATCH] EDAC: printk cleanup
This implements the following idea: On Monday 30 January 2006 19:22, Eric W. Biederman wrote: > One piece missing from this conversation is the issue that we need errors > in a uniform format. That is why edac_mc has helper functions. > > However there will always be errors that don't fit any particular model. > Could we add a edac_printk(dev, ); That is similar to dev_printk but > prints out an EDAC header and the device on which the error was found? > Letting the rest of the string be user specified. > > For actual control that interface may be to blunt, but at least for people > looking in the logs it allows all of the errors to be detected and > harvested. Signed-off-by: David S. Peterson <dsp@llnl.gov> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 8 changed files with 275 additions and 240 deletions Side-by-side Diff
drivers/edac/amd76x_edac.c
... | ... | @@ -25,6 +25,14 @@ |
25 | 25 | #include "edac_mc.h" |
26 | 26 | |
27 | 27 | |
28 | +#define amd76x_printk(level, fmt, arg...) \ | |
29 | + edac_printk(level, "amd76x", fmt, ##arg) | |
30 | + | |
31 | + | |
32 | +#define amd76x_mc_printk(mci, level, fmt, arg...) \ | |
33 | + edac_mc_chipset_printk(mci, level, "amd76x", fmt, ##arg) | |
34 | + | |
35 | + | |
28 | 36 | #define AMD76X_NR_CSROWS 8 |
29 | 37 | #define AMD76X_NR_CHANS 1 |
30 | 38 | #define AMD76X_NR_DIMMS 4 |
... | ... | @@ -174,7 +182,7 @@ |
174 | 182 | static void amd76x_check(struct mem_ctl_info *mci) |
175 | 183 | { |
176 | 184 | struct amd76x_error_info info; |
177 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
185 | + debugf3("%s()\n", __func__); | |
178 | 186 | amd76x_get_error_info(mci, &info); |
179 | 187 | amd76x_process_error_info(mci, &info, 1); |
180 | 188 | } |
... | ... | @@ -204,7 +212,7 @@ |
204 | 212 | u32 ems; |
205 | 213 | u32 ems_mode; |
206 | 214 | |
207 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
215 | + debugf0("%s()\n", __func__); | |
208 | 216 | |
209 | 217 | pci_read_config_dword(pdev, AMD76X_ECC_MODE_STATUS, &ems); |
210 | 218 | ems_mode = (ems >> 10) & 0x3; |
... | ... | @@ -216,7 +224,7 @@ |
216 | 224 | goto fail; |
217 | 225 | } |
218 | 226 | |
219 | - debugf0("MC: " __FILE__ ": %s(): mci = %p\n", __func__, mci); | |
227 | + debugf0("%s(): mci = %p\n", __func__, mci); | |
220 | 228 | |
221 | 229 | mci->pdev = pci_dev_get(pdev); |
222 | 230 | mci->mtype_cap = MEM_FLAG_RDDR; |
223 | 231 | |
... | ... | @@ -267,13 +275,12 @@ |
267 | 275 | (u32) (0x3 << 8)); |
268 | 276 | |
269 | 277 | if (edac_mc_add_mc(mci)) { |
270 | - debugf3("MC: " __FILE__ | |
271 | - ": %s(): failed edac_mc_add_mc()\n", __func__); | |
278 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
272 | 279 | goto fail; |
273 | 280 | } |
274 | 281 | |
275 | 282 | /* get this far and it's successful */ |
276 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
283 | + debugf3("%s(): success\n", __func__); | |
277 | 284 | return 0; |
278 | 285 | |
279 | 286 | fail: |
... | ... | @@ -289,7 +296,7 @@ |
289 | 296 | static int __devinit amd76x_init_one(struct pci_dev *pdev, |
290 | 297 | const struct pci_device_id *ent) |
291 | 298 | { |
292 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
299 | + debugf0("%s()\n", __func__); | |
293 | 300 | |
294 | 301 | /* don't need to call pci_device_enable() */ |
295 | 302 | return amd76x_probe1(pdev, ent->driver_data); |
... | ... | @@ -309,7 +316,7 @@ |
309 | 316 | { |
310 | 317 | struct mem_ctl_info *mci; |
311 | 318 | |
312 | - debugf0(__FILE__ ": %s()\n", __func__); | |
319 | + debugf0("%s()\n", __func__); | |
313 | 320 | |
314 | 321 | if ((mci = edac_mc_find_mci_by_pdev(pdev)) == NULL) |
315 | 322 | return; |
drivers/edac/e752x_edac.c
... | ... | @@ -30,6 +30,14 @@ |
30 | 30 | #include "edac_mc.h" |
31 | 31 | |
32 | 32 | |
33 | +#define e752x_printk(level, fmt, arg...) \ | |
34 | + edac_printk(level, "e752x", fmt, ##arg) | |
35 | + | |
36 | + | |
37 | +#define e752x_mc_printk(mci, level, fmt, arg...) \ | |
38 | + edac_mc_chipset_printk(mci, level, "e752x", fmt, ##arg) | |
39 | + | |
40 | + | |
33 | 41 | #ifndef PCI_DEVICE_ID_INTEL_7520_0 |
34 | 42 | #define PCI_DEVICE_ID_INTEL_7520_0 0x3590 |
35 | 43 | #endif /* PCI_DEVICE_ID_INTEL_7520_0 */ |
... | ... | @@ -215,7 +223,7 @@ |
215 | 223 | u32 remap; |
216 | 224 | struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; |
217 | 225 | |
218 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
226 | + debugf3("%s()\n", __func__); | |
219 | 227 | |
220 | 228 | if (page < pvt->tolm) |
221 | 229 | return page; |
... | ... | @@ -224,7 +232,7 @@ |
224 | 232 | remap = (page - pvt->tolm) + pvt->remapbase; |
225 | 233 | if (remap < pvt->remaplimit) |
226 | 234 | return remap; |
227 | - printk(KERN_ERR "Invalid page %lx - out of range\n", page); | |
235 | + e752x_printk(KERN_ERR, "Invalid page %lx - out of range\n", page); | |
228 | 236 | return pvt->tolm - 1; |
229 | 237 | } |
230 | 238 | |
... | ... | @@ -237,7 +245,7 @@ |
237 | 245 | int i; |
238 | 246 | struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; |
239 | 247 | |
240 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
248 | + debugf3("%s()\n", __func__); | |
241 | 249 | |
242 | 250 | /* convert the addr to 4k page */ |
243 | 251 | page = sec1_add >> (PAGE_SHIFT - 4); |
244 | 252 | |
245 | 253 | |
... | ... | @@ -246,24 +254,23 @@ |
246 | 254 | if (pvt->mc_symmetric) { |
247 | 255 | /* chip select are bits 14 & 13 */ |
248 | 256 | row = ((page >> 1) & 3); |
249 | - printk(KERN_WARNING | |
250 | - "Test row %d Table %d %d %d %d %d %d %d %d\n", | |
251 | - row, pvt->map[0], pvt->map[1], pvt->map[2], | |
252 | - pvt->map[3], pvt->map[4], pvt->map[5], | |
253 | - pvt->map[6], pvt->map[7]); | |
257 | + e752x_printk(KERN_WARNING, | |
258 | + "Test row %d Table %d %d %d %d %d %d %d %d\n", | |
259 | + row, pvt->map[0], pvt->map[1], pvt->map[2], | |
260 | + pvt->map[3], pvt->map[4], pvt->map[5], | |
261 | + pvt->map[6], pvt->map[7]); | |
254 | 262 | |
255 | 263 | /* test for channel remapping */ |
256 | 264 | for (i = 0; i < 8; i++) { |
257 | 265 | if (pvt->map[i] == row) |
258 | 266 | break; |
259 | 267 | } |
260 | - printk(KERN_WARNING "Test computed row %d\n", i); | |
268 | + e752x_printk(KERN_WARNING, "Test computed row %d\n", i); | |
261 | 269 | if (i < 8) |
262 | 270 | row = i; |
263 | 271 | else |
264 | - printk(KERN_WARNING | |
265 | - "MC%d: row %d not found in remap table\n", | |
266 | - mci->mc_idx, row); | |
272 | + e752x_mc_printk(mci, KERN_WARNING, | |
273 | + "row %d not found in remap table\n", row); | |
267 | 274 | } else |
268 | 275 | row = edac_mc_find_csrow_by_page(mci, page); |
269 | 276 | /* 0 = channel A, 1 = channel B */ |
... | ... | @@ -293,7 +300,7 @@ |
293 | 300 | int row; |
294 | 301 | struct e752x_pvt *pvt = (struct e752x_pvt *) mci->pvt_info; |
295 | 302 | |
296 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
303 | + debugf3("%s()\n", __func__); | |
297 | 304 | |
298 | 305 | if (error_one & 0x0202) { |
299 | 306 | error_2b = ded_add; |
... | ... | @@ -336,7 +343,7 @@ |
336 | 343 | if (!handle_error) |
337 | 344 | return; |
338 | 345 | |
339 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
346 | + debugf3("%s()\n", __func__); | |
340 | 347 | edac_mc_handle_ue_no_info(mci, "e752x UE log memory write"); |
341 | 348 | } |
342 | 349 | |
... | ... | @@ -352,9 +359,9 @@ |
352 | 359 | row = pvt->mc_symmetric ? |
353 | 360 | ((page >> 1) & 3) : /* chip select are bits 14 & 13 */ |
354 | 361 | edac_mc_find_csrow_by_page(mci, page); |
355 | - printk(KERN_WARNING | |
356 | - "MC%d: CE page 0x%lx, row %d : Memory read retry\n", | |
357 | - mci->mc_idx, (long unsigned int) page, row); | |
362 | + e752x_mc_printk(mci, KERN_WARNING, | |
363 | + "CE page 0x%lx, row %d : Memory read retry\n", | |
364 | + (long unsigned int) page, row); | |
358 | 365 | } |
359 | 366 | |
360 | 367 | static inline void process_ded_retry(struct mem_ctl_info *mci, u16 error, |
... | ... | @@ -372,8 +379,7 @@ |
372 | 379 | *error_found = 1; |
373 | 380 | |
374 | 381 | if (handle_error) |
375 | - printk(KERN_WARNING "MC%d: Memory threshold CE\n", | |
376 | - mci->mc_idx); | |
382 | + e752x_mc_printk(mci, KERN_WARNING, "Memory threshold CE\n"); | |
377 | 383 | } |
378 | 384 | |
379 | 385 | static char *global_message[11] = { |
... | ... | @@ -391,7 +397,7 @@ |
391 | 397 | |
392 | 398 | for (i = 0; i < 11; i++) { |
393 | 399 | if (errors & (1 << i)) |
394 | - printk(KERN_WARNING "%sError %s\n", | |
400 | + e752x_printk(KERN_WARNING, "%sError %s\n", | |
395 | 401 | fatal_message[fatal], global_message[i]); |
396 | 402 | } |
397 | 403 | } |
... | ... | @@ -418,7 +424,7 @@ |
418 | 424 | |
419 | 425 | for (i = 0; i < 7; i++) { |
420 | 426 | if (errors & (1 << i)) |
421 | - printk(KERN_WARNING "%sError %s\n", | |
427 | + e752x_printk(KERN_WARNING, "%sError %s\n", | |
422 | 428 | fatal_message[fatal], hub_message[i]); |
423 | 429 | } |
424 | 430 | } |
... | ... | @@ -445,7 +451,7 @@ |
445 | 451 | |
446 | 452 | for (i = 0; i < 4; i++) { |
447 | 453 | if (errors & (1 << i)) |
448 | - printk(KERN_WARNING "Non-Fatal Error %s\n", | |
454 | + e752x_printk(KERN_WARNING, "Non-Fatal Error %s\n", | |
449 | 455 | membuf_message[i]); |
450 | 456 | } |
451 | 457 | } |
... | ... | @@ -478,7 +484,7 @@ |
478 | 484 | |
479 | 485 | for (i = 0; i < 10; i++) { |
480 | 486 | if (errors & (1 << i)) |
481 | - printk(KERN_WARNING "%sError System Bus %s\n", | |
487 | + e752x_printk(KERN_WARNING, "%sError System Bus %s\n", | |
482 | 488 | fatal_message[fatal], global_message[i]); |
483 | 489 | } |
484 | 490 | } |
... | ... | @@ -727,7 +733,7 @@ |
727 | 733 | static void e752x_check(struct mem_ctl_info *mci) |
728 | 734 | { |
729 | 735 | struct e752x_error_info info; |
730 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
736 | + debugf3("%s()\n", __func__); | |
731 | 737 | e752x_get_error_info(mci, &info); |
732 | 738 | e752x_process_error_info(mci, &info, 1); |
733 | 739 | } |
... | ... | @@ -752,7 +758,7 @@ |
752 | 758 | struct pci_dev *pres_dev; |
753 | 759 | struct pci_dev *dev = NULL; |
754 | 760 | |
755 | - debugf0("MC: " __FILE__ ": %s(): mci\n", __func__); | |
761 | + debugf0("%s(): mci\n", __func__); | |
756 | 762 | debugf0("Starting Probe1\n"); |
757 | 763 | |
758 | 764 | /* enable device 0 function 1 */ |
... | ... | @@ -776,7 +782,7 @@ |
776 | 782 | goto fail; |
777 | 783 | } |
778 | 784 | |
779 | - debugf3("MC: " __FILE__ ": %s(): init mci\n", __func__); | |
785 | + debugf3("%s(): init mci\n", __func__); | |
780 | 786 | |
781 | 787 | mci->mtype_cap = MEM_FLAG_RDDR; |
782 | 788 | mci->edac_ctl_cap = EDAC_FLAG_NONE | EDAC_FLAG_SECDED | |
... | ... | @@ -786,7 +792,7 @@ |
786 | 792 | mci->mod_ver = "$Revision: 1.5.2.11 $"; |
787 | 793 | mci->pdev = pdev; |
788 | 794 | |
789 | - debugf3("MC: " __FILE__ ": %s(): init pvt\n", __func__); | |
795 | + debugf3("%s(): init pvt\n", __func__); | |
790 | 796 | pvt = (struct e752x_pvt *) mci->pvt_info; |
791 | 797 | pvt->dev_info = &e752x_devs[dev_idx]; |
792 | 798 | pvt->bridge_ck = pci_get_device(PCI_VENDOR_ID_INTEL, |
793 | 799 | |
... | ... | @@ -796,14 +802,14 @@ |
796 | 802 | pvt->bridge_ck = pci_scan_single_device(pdev->bus, |
797 | 803 | PCI_DEVFN(0, 1)); |
798 | 804 | if (pvt->bridge_ck == NULL) { |
799 | - printk(KERN_ERR "MC: error reporting device not found:" | |
805 | + e752x_printk(KERN_ERR, "error reporting device not found:" | |
800 | 806 | "vendor %x device 0x%x (broken BIOS?)\n", |
801 | 807 | PCI_VENDOR_ID_INTEL, e752x_devs[dev_idx].err_dev); |
802 | 808 | goto fail; |
803 | 809 | } |
804 | 810 | pvt->mc_symmetric = ((ddrcsr & 0x10) != 0); |
805 | 811 | |
806 | - debugf3("MC: " __FILE__ ": %s(): more mci init\n", __func__); | |
812 | + debugf3("%s(): more mci init\n", __func__); | |
807 | 813 | mci->ctl_name = pvt->dev_info->ctl_name; |
808 | 814 | mci->edac_check = e752x_check; |
809 | 815 | mci->ctl_page_to_phys = ctl_page_to_phys; |
... | ... | @@ -828,8 +834,8 @@ |
828 | 834 | pci_read_config_byte(mci->pdev, E752X_DRB + index, &value); |
829 | 835 | /* convert a 128 or 64 MiB DRB to a page size. */ |
830 | 836 | cumul_size = value << (25 + drc_drbg - PAGE_SHIFT); |
831 | - debugf3("MC: " __FILE__ ": %s(): (%d) cumul_size 0x%x\n", | |
832 | - __func__, index, cumul_size); | |
837 | + debugf3("%s(): (%d) cumul_size 0x%x\n", __func__, index, | |
838 | + cumul_size); | |
833 | 839 | if (cumul_size == last_cumul_size) |
834 | 840 | continue; /* not populated */ |
835 | 841 | |
... | ... | @@ -897,8 +903,7 @@ |
897 | 903 | |
898 | 904 | mci->edac_cap |= EDAC_FLAG_NONE; |
899 | 905 | |
900 | - debugf3("MC: " __FILE__ ": %s(): tolm, remapbase, remaplimit\n", | |
901 | - __func__); | |
906 | + debugf3("%s(): tolm, remapbase, remaplimit\n", __func__); | |
902 | 907 | /* load the top of low memory, remap base, and remap limit vars */ |
903 | 908 | pci_read_config_word(mci->pdev, E752X_TOLM, &pci_data); |
904 | 909 | pvt->tolm = ((u32) pci_data) << 4; |
905 | 910 | |
... | ... | @@ -906,13 +911,12 @@ |
906 | 911 | pvt->remapbase = ((u32) pci_data) << 14; |
907 | 912 | pci_read_config_word(mci->pdev, E752X_REMAPLIMIT, &pci_data); |
908 | 913 | pvt->remaplimit = ((u32) pci_data) << 14; |
909 | - printk("tolm = %x, remapbase = %x, remaplimit = %x\n", pvt->tolm, | |
910 | - pvt->remapbase, pvt->remaplimit); | |
914 | + e752x_printk(KERN_INFO, | |
915 | + "tolm = %x, remapbase = %x, remaplimit = %x\n", | |
916 | + pvt->tolm, pvt->remapbase, pvt->remaplimit); | |
911 | 917 | |
912 | 918 | if (edac_mc_add_mc(mci)) { |
913 | - debugf3("MC: " __FILE__ | |
914 | - ": %s(): failed edac_mc_add_mc()\n", | |
915 | - __func__); | |
919 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
916 | 920 | goto fail; |
917 | 921 | } |
918 | 922 | |
... | ... | @@ -975,7 +979,7 @@ |
975 | 979 | pci_write_config_word(dev, E752X_DRAM_NERR, stat16); |
976 | 980 | |
977 | 981 | /* get this far and it's successful */ |
978 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
982 | + debugf3("%s(): success\n", __func__); | |
979 | 983 | return 0; |
980 | 984 | |
981 | 985 | fail: |
... | ... | @@ -995,7 +999,7 @@ |
995 | 999 | static int __devinit e752x_init_one(struct pci_dev *pdev, |
996 | 1000 | const struct pci_device_id *ent) |
997 | 1001 | { |
998 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
1002 | + debugf0("%s()\n", __func__); | |
999 | 1003 | |
1000 | 1004 | /* wake up and enable device */ |
1001 | 1005 | if(pci_enable_device(pdev) < 0) |
... | ... | @@ -1009,7 +1013,7 @@ |
1009 | 1013 | struct mem_ctl_info *mci; |
1010 | 1014 | struct e752x_pvt *pvt; |
1011 | 1015 | |
1012 | - debugf0(__FILE__ ": %s()\n", __func__); | |
1016 | + debugf0("%s()\n", __func__); | |
1013 | 1017 | |
1014 | 1018 | if ((mci = edac_mc_find_mci_by_pdev(pdev)) == NULL) |
1015 | 1019 | return; |
... | ... | @@ -1050,7 +1054,7 @@ |
1050 | 1054 | { |
1051 | 1055 | int pci_rc; |
1052 | 1056 | |
1053 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
1057 | + debugf3("%s()\n", __func__); | |
1054 | 1058 | pci_rc = pci_register_driver(&e752x_driver); |
1055 | 1059 | return (pci_rc < 0) ? pci_rc : 0; |
1056 | 1060 | } |
... | ... | @@ -1058,7 +1062,7 @@ |
1058 | 1062 | |
1059 | 1063 | static void __exit e752x_exit(void) |
1060 | 1064 | { |
1061 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
1065 | + debugf3("%s()\n", __func__); | |
1062 | 1066 | pci_unregister_driver(&e752x_driver); |
1063 | 1067 | } |
1064 | 1068 |
drivers/edac/e7xxx_edac.c
... | ... | @@ -32,6 +32,14 @@ |
32 | 32 | #include "edac_mc.h" |
33 | 33 | |
34 | 34 | |
35 | +#define e7xxx_printk(level, fmt, arg...) \ | |
36 | + edac_printk(level, "e7xxx", fmt, ##arg) | |
37 | + | |
38 | + | |
39 | +#define e7xxx_mc_printk(mci, level, fmt, arg...) \ | |
40 | + edac_mc_chipset_printk(mci, level, "e7xxx", fmt, ##arg) | |
41 | + | |
42 | + | |
35 | 43 | #ifndef PCI_DEVICE_ID_INTEL_7205_0 |
36 | 44 | #define PCI_DEVICE_ID_INTEL_7205_0 0x255d |
37 | 45 | #endif /* PCI_DEVICE_ID_INTEL_7205_0 */ |
... | ... | @@ -161,7 +169,7 @@ |
161 | 169 | /* FIXME - is this valid for both SECDED and S4ECD4ED? */ |
162 | 170 | static inline int e7xxx_find_channel(u16 syndrome) |
163 | 171 | { |
164 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
172 | + debugf3("%s()\n", __func__); | |
165 | 173 | |
166 | 174 | if ((syndrome & 0xff00) == 0) |
167 | 175 | return 0; |
... | ... | @@ -179,7 +187,7 @@ |
179 | 187 | u32 remap; |
180 | 188 | struct e7xxx_pvt *pvt = (struct e7xxx_pvt *) mci->pvt_info; |
181 | 189 | |
182 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
190 | + debugf3("%s()\n", __func__); | |
183 | 191 | |
184 | 192 | if ((page < pvt->tolm) || |
185 | 193 | ((page >= 0x100000) && (page < pvt->remapbase))) |
... | ... | @@ -187,7 +195,7 @@ |
187 | 195 | remap = (page - pvt->tolm) + pvt->remapbase; |
188 | 196 | if (remap < pvt->remaplimit) |
189 | 197 | return remap; |
190 | - printk(KERN_ERR "Invalid page %lx - out of range\n", page); | |
198 | + e7xxx_printk(KERN_ERR, "Invalid page %lx - out of range\n", page); | |
191 | 199 | return pvt->tolm - 1; |
192 | 200 | } |
193 | 201 | |
... | ... | @@ -199,7 +207,7 @@ |
199 | 207 | int row; |
200 | 208 | int channel; |
201 | 209 | |
202 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
210 | + debugf3("%s()\n", __func__); | |
203 | 211 | |
204 | 212 | /* read the error address */ |
205 | 213 | error_1b = info->dram_celog_add; |
... | ... | @@ -218,7 +226,7 @@ |
218 | 226 | |
219 | 227 | static void process_ce_no_info(struct mem_ctl_info *mci) |
220 | 228 | { |
221 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
229 | + debugf3("%s()\n", __func__); | |
222 | 230 | edac_mc_handle_ce_no_info(mci, "e7xxx CE log register overflow"); |
223 | 231 | } |
224 | 232 | |
... | ... | @@ -228,7 +236,7 @@ |
228 | 236 | u32 error_2b, block_page; |
229 | 237 | int row; |
230 | 238 | |
231 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
239 | + debugf3("%s()\n", __func__); | |
232 | 240 | |
233 | 241 | /* read the error address */ |
234 | 242 | error_2b = info->dram_uelog_add; |
... | ... | @@ -241,7 +249,7 @@ |
241 | 249 | |
242 | 250 | static void process_ue_no_info(struct mem_ctl_info *mci) |
243 | 251 | { |
244 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
252 | + debugf3("%s()\n", __func__); | |
245 | 253 | edac_mc_handle_ue_no_info(mci, "e7xxx UE log register overflow"); |
246 | 254 | } |
247 | 255 | |
... | ... | @@ -330,7 +338,7 @@ |
330 | 338 | { |
331 | 339 | struct e7xxx_error_info info; |
332 | 340 | |
333 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
341 | + debugf3("%s()\n", __func__); | |
334 | 342 | e7xxx_get_error_info(mci, &info); |
335 | 343 | e7xxx_process_error_info(mci, &info, 1); |
336 | 344 | } |
... | ... | @@ -351,7 +359,7 @@ |
351 | 359 | unsigned long last_cumul_size; |
352 | 360 | |
353 | 361 | |
354 | - debugf0("MC: " __FILE__ ": %s(): mci\n", __func__); | |
362 | + debugf0("%s(): mci\n", __func__); | |
355 | 363 | |
356 | 364 | /* need to find out the number of channels */ |
357 | 365 | pci_read_config_dword(pdev, E7XXX_DRC, &drc); |
... | ... | @@ -369,7 +377,7 @@ |
369 | 377 | goto fail; |
370 | 378 | } |
371 | 379 | |
372 | - debugf3("MC: " __FILE__ ": %s(): init mci\n", __func__); | |
380 | + debugf3("%s(): init mci\n", __func__); | |
373 | 381 | |
374 | 382 | mci->mtype_cap = MEM_FLAG_RDDR; |
375 | 383 | mci->edac_ctl_cap = |
376 | 384 | |
377 | 385 | |
... | ... | @@ -379,21 +387,21 @@ |
379 | 387 | mci->mod_ver = "$Revision: 1.5.2.9 $"; |
380 | 388 | mci->pdev = pdev; |
381 | 389 | |
382 | - debugf3("MC: " __FILE__ ": %s(): init pvt\n", __func__); | |
390 | + debugf3("%s(): init pvt\n", __func__); | |
383 | 391 | pvt = (struct e7xxx_pvt *) mci->pvt_info; |
384 | 392 | pvt->dev_info = &e7xxx_devs[dev_idx]; |
385 | 393 | pvt->bridge_ck = pci_get_device(PCI_VENDOR_ID_INTEL, |
386 | 394 | pvt->dev_info->err_dev, |
387 | 395 | pvt->bridge_ck); |
388 | 396 | if (!pvt->bridge_ck) { |
389 | - printk(KERN_ERR | |
390 | - "MC: error reporting device not found:" | |
391 | - "vendor %x device 0x%x (broken BIOS?)\n", | |
392 | - PCI_VENDOR_ID_INTEL, e7xxx_devs[dev_idx].err_dev); | |
397 | + e7xxx_printk(KERN_ERR, "error reporting device not found:" | |
398 | + "vendor %x device 0x%x (broken BIOS?)\n", | |
399 | + PCI_VENDOR_ID_INTEL, | |
400 | + e7xxx_devs[dev_idx].err_dev); | |
393 | 401 | goto fail; |
394 | 402 | } |
395 | 403 | |
396 | - debugf3("MC: " __FILE__ ": %s(): more mci init\n", __func__); | |
404 | + debugf3("%s(): more mci init\n", __func__); | |
397 | 405 | mci->ctl_name = pvt->dev_info->ctl_name; |
398 | 406 | |
399 | 407 | mci->edac_check = e7xxx_check; |
... | ... | @@ -418,8 +426,8 @@ |
418 | 426 | pci_read_config_byte(mci->pdev, E7XXX_DRB + index, &value); |
419 | 427 | /* convert a 64 or 32 MiB DRB to a page size. */ |
420 | 428 | cumul_size = value << (25 + drc_drbg - PAGE_SHIFT); |
421 | - debugf3("MC: " __FILE__ ": %s(): (%d) cumul_size 0x%x\n", | |
422 | - __func__, index, cumul_size); | |
429 | + debugf3("%s(): (%d) cumul_size 0x%x\n", __func__, index, | |
430 | + cumul_size); | |
423 | 431 | if (cumul_size == last_cumul_size) |
424 | 432 | continue; /* not populated */ |
425 | 433 | |
... | ... | @@ -449,8 +457,7 @@ |
449 | 457 | |
450 | 458 | mci->edac_cap |= EDAC_FLAG_NONE; |
451 | 459 | |
452 | - debugf3("MC: " __FILE__ ": %s(): tolm, remapbase, remaplimit\n", | |
453 | - __func__); | |
460 | + debugf3("%s(): tolm, remapbase, remaplimit\n", __func__); | |
454 | 461 | /* load the top of low memory, remap base, and remap limit vars */ |
455 | 462 | pci_read_config_word(mci->pdev, E7XXX_TOLM, &pci_data); |
456 | 463 | pvt->tolm = ((u32) pci_data) << 4; |
457 | 464 | |
458 | 465 | |
... | ... | @@ -458,22 +465,21 @@ |
458 | 465 | pvt->remapbase = ((u32) pci_data) << 14; |
459 | 466 | pci_read_config_word(mci->pdev, E7XXX_REMAPLIMIT, &pci_data); |
460 | 467 | pvt->remaplimit = ((u32) pci_data) << 14; |
461 | - printk("tolm = %x, remapbase = %x, remaplimit = %x\n", pvt->tolm, | |
462 | - pvt->remapbase, pvt->remaplimit); | |
468 | + e7xxx_printk(KERN_INFO, | |
469 | + "tolm = %x, remapbase = %x, remaplimit = %x\n", | |
470 | + pvt->tolm, pvt->remapbase, pvt->remaplimit); | |
463 | 471 | |
464 | 472 | /* clear any pending errors, or initial state bits */ |
465 | 473 | pci_write_bits8(pvt->bridge_ck, E7XXX_DRAM_FERR, 0x03, 0x03); |
466 | 474 | pci_write_bits8(pvt->bridge_ck, E7XXX_DRAM_NERR, 0x03, 0x03); |
467 | 475 | |
468 | 476 | if (edac_mc_add_mc(mci) != 0) { |
469 | - debugf3("MC: " __FILE__ | |
470 | - ": %s(): failed edac_mc_add_mc()\n", | |
471 | - __func__); | |
477 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
472 | 478 | goto fail; |
473 | 479 | } |
474 | 480 | |
475 | 481 | /* get this far and it's successful */ |
476 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
482 | + debugf3("%s(): success\n", __func__); | |
477 | 483 | return 0; |
478 | 484 | |
479 | 485 | fail: |
... | ... | @@ -490,7 +496,7 @@ |
490 | 496 | static int __devinit |
491 | 497 | e7xxx_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) |
492 | 498 | { |
493 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
499 | + debugf0("%s()\n", __func__); | |
494 | 500 | |
495 | 501 | /* wake up and enable device */ |
496 | 502 | return pci_enable_device(pdev) ? |
... | ... | @@ -503,7 +509,7 @@ |
503 | 509 | struct mem_ctl_info *mci; |
504 | 510 | struct e7xxx_pvt *pvt; |
505 | 511 | |
506 | - debugf0(__FILE__ ": %s()\n", __func__); | |
512 | + debugf0("%s()\n", __func__); | |
507 | 513 | |
508 | 514 | if (((mci = edac_mc_find_mci_by_pdev(pdev)) != 0) && |
509 | 515 | edac_mc_del_mc(mci)) { |
drivers/edac/edac_mc.c
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | #include "edac_mc.h" |
39 | 39 | |
40 | -#define EDAC_MC_VERSION "edac_mc Ver: 2.0.0 " __DATE__ | |
40 | +#define EDAC_MC_VERSION "Ver: 2.0.0 " __DATE__ | |
41 | 41 | |
42 | 42 | /* For now, disable the EDAC sysfs code. The sysfs interface that EDAC |
43 | 43 | * presents to user space needs more thought, and is likely to change |
... | ... | @@ -243,7 +243,7 @@ |
243 | 243 | /* Main MC kobject release() function */ |
244 | 244 | static void edac_memctrl_master_release(struct kobject *kobj) |
245 | 245 | { |
246 | - debugf1("EDAC MC: " __FILE__ ": %s()\n", __func__); | |
246 | + debugf1("%s()\n", __func__); | |
247 | 247 | } |
248 | 248 | |
249 | 249 | static struct kobj_type ktype_memctrl = { |
... | ... | @@ -271,7 +271,7 @@ |
271 | 271 | { |
272 | 272 | int err=0; |
273 | 273 | |
274 | - debugf1("MC: " __FILE__ ": %s()\n", __func__); | |
274 | + debugf1("%s()\n", __func__); | |
275 | 275 | |
276 | 276 | /* create the /sys/devices/system/edac directory */ |
277 | 277 | err = sysdev_class_register(&edac_class); |
... | ... | @@ -295,7 +295,7 @@ |
295 | 295 | } |
296 | 296 | } |
297 | 297 | } else { |
298 | - debugf1(KERN_WARNING "__FILE__ %s() error=%d\n", __func__,err); | |
298 | + debugf1("%s() error=%d\n", __func__, err); | |
299 | 299 | } |
300 | 300 | |
301 | 301 | return err; |
... | ... | @@ -567,7 +567,7 @@ |
567 | 567 | /* No memory to release */ |
568 | 568 | static void edac_pci_release(struct kobject *kobj) |
569 | 569 | { |
570 | - debugf1("EDAC PCI: " __FILE__ ": %s()\n", __func__); | |
570 | + debugf1("%s()\n", __func__); | |
571 | 571 | } |
572 | 572 | |
573 | 573 | static struct kobj_type ktype_edac_pci = { |
... | ... | @@ -591,7 +591,7 @@ |
591 | 591 | { |
592 | 592 | int err; |
593 | 593 | |
594 | - debugf1("MC: " __FILE__ ": %s()\n", __func__); | |
594 | + debugf1("%s()\n", __func__); | |
595 | 595 | |
596 | 596 | memset(&edac_pci_kobj, 0, sizeof(edac_pci_kobj)); |
597 | 597 | |
... | ... | @@ -616,7 +616,7 @@ |
616 | 616 | static void edac_sysfs_pci_teardown(void) |
617 | 617 | { |
618 | 618 | #ifndef DISABLE_EDAC_SYSFS |
619 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
619 | + debugf0("%s()\n", __func__); | |
620 | 620 | |
621 | 621 | kobject_unregister(&edac_pci_kobj); |
622 | 622 | kobject_put(&edac_pci_kobj); |
... | ... | @@ -808,7 +808,7 @@ |
808 | 808 | /* No memory to release */ |
809 | 809 | static void edac_csrow_instance_release(struct kobject *kobj) |
810 | 810 | { |
811 | - debugf1("EDAC MC: " __FILE__ ": %s()\n", __func__); | |
811 | + debugf1("%s()\n", __func__); | |
812 | 812 | } |
813 | 813 | |
814 | 814 | static struct kobj_type ktype_csrow = { |
... | ... | @@ -823,7 +823,7 @@ |
823 | 823 | { |
824 | 824 | int err = 0; |
825 | 825 | |
826 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
826 | + debugf0("%s()\n", __func__); | |
827 | 827 | |
828 | 828 | memset(&csrow->kobj, 0, sizeof(csrow->kobj)); |
829 | 829 | |
... | ... | @@ -1066,8 +1066,7 @@ |
1066 | 1066 | struct mem_ctl_info *mci; |
1067 | 1067 | mci = container_of(kobj,struct mem_ctl_info,edac_mci_kobj); |
1068 | 1068 | |
1069 | - debugf0("MC: " __FILE__ ": %s() idx=%d calling kfree\n", | |
1070 | - __func__, mci->mc_idx); | |
1069 | + debugf0("%s() idx=%d calling kfree\n", __func__, mci->mc_idx); | |
1071 | 1070 | |
1072 | 1071 | kfree(mci); |
1073 | 1072 | } |
... | ... | @@ -1102,7 +1101,7 @@ |
1102 | 1101 | struct csrow_info *csrow; |
1103 | 1102 | struct kobject *edac_mci_kobj=&mci->edac_mci_kobj; |
1104 | 1103 | |
1105 | - debugf0("MC: " __FILE__ ": %s() idx=%d\n", __func__, mci->mc_idx); | |
1104 | + debugf0("%s() idx=%d\n", __func__, mci->mc_idx); | |
1106 | 1105 | |
1107 | 1106 | memset(edac_mci_kobj, 0, sizeof(*edac_mci_kobj)); |
1108 | 1107 | kobject_init(edac_mci_kobj); |
... | ... | @@ -1174,7 +1173,7 @@ |
1174 | 1173 | #ifndef DISABLE_EDAC_SYSFS |
1175 | 1174 | int i; |
1176 | 1175 | |
1177 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
1176 | + debugf0("%s()\n", __func__); | |
1178 | 1177 | |
1179 | 1178 | /* remove all csrow kobjects */ |
1180 | 1179 | for (i = 0; i < mci->nr_csrows; i++) { |
... | ... | @@ -1396,7 +1395,7 @@ |
1396 | 1395 | struct mem_ctl_info *mci; |
1397 | 1396 | struct list_head *item; |
1398 | 1397 | |
1399 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
1398 | + debugf3("%s()\n", __func__); | |
1400 | 1399 | |
1401 | 1400 | list_for_each(item, &mc_devices) { |
1402 | 1401 | mci = list_entry(item, struct mem_ctl_info, link); |
... | ... | @@ -1419,10 +1418,11 @@ |
1419 | 1418 | insert_before = &mc_devices; |
1420 | 1419 | } else { |
1421 | 1420 | if (edac_mc_find_mci_by_pdev(mci->pdev)) { |
1422 | - printk(KERN_WARNING | |
1423 | - "EDAC MC: %s (%s) %s %s already assigned %d\n", | |
1424 | - mci->pdev->dev.bus_id, pci_name(mci->pdev), | |
1425 | - mci->mod_name, mci->ctl_name, mci->mc_idx); | |
1421 | + edac_printk(KERN_WARNING, EDAC_MC, | |
1422 | + "%s (%s) %s %s already assigned %d\n", | |
1423 | + mci->pdev->dev.bus_id, | |
1424 | + pci_name(mci->pdev), mci->mod_name, | |
1425 | + mci->ctl_name, mci->mc_idx); | |
1426 | 1426 | return 1; |
1427 | 1427 | } |
1428 | 1428 | |
... | ... | @@ -1468,7 +1468,7 @@ |
1468 | 1468 | { |
1469 | 1469 | int rc = 1; |
1470 | 1470 | |
1471 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
1471 | + debugf0("%s()\n", __func__); | |
1472 | 1472 | #ifdef CONFIG_EDAC_DEBUG |
1473 | 1473 | if (edac_debug_level >= 3) |
1474 | 1474 | edac_mc_dump_mci(mci); |
1475 | 1475 | |
1476 | 1476 | |
... | ... | @@ -1493,20 +1493,16 @@ |
1493 | 1493 | mci->start_time = jiffies; |
1494 | 1494 | |
1495 | 1495 | if (edac_create_sysfs_mci_device(mci)) { |
1496 | - printk(KERN_WARNING | |
1497 | - "EDAC MC%d: failed to create sysfs device\n", | |
1498 | - mci->mc_idx); | |
1496 | + edac_mc_printk(mci, KERN_WARNING, | |
1497 | + "failed to create sysfs device\n"); | |
1499 | 1498 | /* FIXME - should there be an error code and unwind? */ |
1500 | 1499 | goto finish; |
1501 | 1500 | } |
1502 | 1501 | |
1503 | 1502 | /* Report action taken */ |
1504 | - printk(KERN_INFO | |
1505 | - "EDAC MC%d: Giving out device to %s %s: PCI %s\n", | |
1506 | - mci->mc_idx, mci->mod_name, mci->ctl_name, | |
1507 | - pci_name(mci->pdev)); | |
1503 | + edac_mc_printk(mci, KERN_INFO, "Giving out device to %s %s: PCI %s\n", | |
1504 | + mci->mod_name, mci->ctl_name, pci_name(mci->pdev)); | |
1508 | 1505 | |
1509 | - | |
1510 | 1506 | rc = 0; |
1511 | 1507 | |
1512 | 1508 | finish: |
1513 | 1509 | |
... | ... | @@ -1547,13 +1543,12 @@ |
1547 | 1543 | { |
1548 | 1544 | int rc = 1; |
1549 | 1545 | |
1550 | - debugf0("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
1546 | + debugf0("MC%d: %s()\n", mci->mc_idx, __func__); | |
1551 | 1547 | down(&mem_ctls_mutex); |
1552 | 1548 | del_mc_from_global_list(mci); |
1553 | - printk(KERN_INFO | |
1554 | - "EDAC MC%d: Removed device %d for %s %s: PCI %s\n", | |
1555 | - mci->mc_idx, mci->mc_idx, mci->mod_name, mci->ctl_name, | |
1556 | - pci_name(mci->pdev)); | |
1549 | + edac_printk(KERN_INFO, EDAC_MC, | |
1550 | + "Removed device %d for %s %s: PCI %s\n", mci->mc_idx, | |
1551 | + mci->mod_name, mci->ctl_name, pci_name(mci->pdev)); | |
1557 | 1552 | rc = 0; |
1558 | 1553 | up(&mem_ctls_mutex); |
1559 | 1554 | |
... | ... | @@ -1570,7 +1565,7 @@ |
1570 | 1565 | void *virt_addr; |
1571 | 1566 | unsigned long flags = 0; |
1572 | 1567 | |
1573 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
1568 | + debugf3("%s()\n", __func__); | |
1574 | 1569 | |
1575 | 1570 | /* ECC error page was not in our memory. Ignore it. */ |
1576 | 1571 | if(!pfn_valid(page)) |
... | ... | @@ -1604,8 +1599,7 @@ |
1604 | 1599 | struct csrow_info *csrows = mci->csrows; |
1605 | 1600 | int row, i; |
1606 | 1601 | |
1607 | - debugf1("MC%d: " __FILE__ ": %s(): 0x%lx\n", mci->mc_idx, __func__, | |
1608 | - page); | |
1602 | + debugf1("MC%d: %s(): 0x%lx\n", mci->mc_idx, __func__, page); | |
1609 | 1603 | row = -1; |
1610 | 1604 | |
1611 | 1605 | for (i = 0; i < mci->nr_csrows; i++) { |
... | ... | @@ -1614,11 +1608,10 @@ |
1614 | 1608 | if (csrow->nr_pages == 0) |
1615 | 1609 | continue; |
1616 | 1610 | |
1617 | - debugf3("MC%d: " __FILE__ | |
1618 | - ": %s(): first(0x%lx) page(0x%lx)" | |
1619 | - " last(0x%lx) mask(0x%lx)\n", mci->mc_idx, | |
1620 | - __func__, csrow->first_page, page, | |
1621 | - csrow->last_page, csrow->page_mask); | |
1611 | + debugf3("MC%d: %s(): first(0x%lx) page(0x%lx) last(0x%lx) " | |
1612 | + "mask(0x%lx)\n", mci->mc_idx, __func__, | |
1613 | + csrow->first_page, page, csrow->last_page, | |
1614 | + csrow->page_mask); | |
1622 | 1615 | |
1623 | 1616 | if ((page >= csrow->first_page) && |
1624 | 1617 | (page <= csrow->last_page) && |
... | ... | @@ -1630,9 +1623,9 @@ |
1630 | 1623 | } |
1631 | 1624 | |
1632 | 1625 | if (row == -1) |
1633 | - printk(KERN_ERR | |
1634 | - "EDAC MC%d: could not look up page error address %lx\n", | |
1635 | - mci->mc_idx, (unsigned long) page); | |
1626 | + edac_mc_printk(mci, KERN_ERR, | |
1627 | + "could not look up page error address %lx\n", | |
1628 | + (unsigned long) page); | |
1636 | 1629 | |
1637 | 1630 | return row; |
1638 | 1631 | } |
1639 | 1632 | |
1640 | 1633 | |
1641 | 1634 | |
... | ... | @@ -1650,36 +1643,35 @@ |
1650 | 1643 | { |
1651 | 1644 | unsigned long remapped_page; |
1652 | 1645 | |
1653 | - debugf3("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
1646 | + debugf3("MC%d: %s()\n", mci->mc_idx, __func__); | |
1654 | 1647 | |
1655 | 1648 | /* FIXME - maybe make panic on INTERNAL ERROR an option */ |
1656 | 1649 | if (row >= mci->nr_csrows || row < 0) { |
1657 | 1650 | /* something is wrong */ |
1658 | - printk(KERN_ERR | |
1659 | - "EDAC MC%d: INTERNAL ERROR: row out of range (%d >= %d)\n", | |
1660 | - mci->mc_idx, row, mci->nr_csrows); | |
1651 | + edac_mc_printk(mci, KERN_ERR, | |
1652 | + "INTERNAL ERROR: row out of range " | |
1653 | + "(%d >= %d)\n", row, mci->nr_csrows); | |
1661 | 1654 | edac_mc_handle_ce_no_info(mci, "INTERNAL ERROR"); |
1662 | 1655 | return; |
1663 | 1656 | } |
1664 | 1657 | if (channel >= mci->csrows[row].nr_channels || channel < 0) { |
1665 | 1658 | /* something is wrong */ |
1666 | - printk(KERN_ERR | |
1667 | - "EDAC MC%d: INTERNAL ERROR: channel out of range " | |
1668 | - "(%d >= %d)\n", | |
1669 | - mci->mc_idx, channel, mci->csrows[row].nr_channels); | |
1659 | + edac_mc_printk(mci, KERN_ERR, | |
1660 | + "INTERNAL ERROR: channel out of range " | |
1661 | + "(%d >= %d)\n", channel, | |
1662 | + mci->csrows[row].nr_channels); | |
1670 | 1663 | edac_mc_handle_ce_no_info(mci, "INTERNAL ERROR"); |
1671 | 1664 | return; |
1672 | 1665 | } |
1673 | 1666 | |
1674 | 1667 | if (log_ce) |
1675 | 1668 | /* FIXME - put in DIMM location */ |
1676 | - printk(KERN_WARNING | |
1677 | - "EDAC MC%d: CE page 0x%lx, offset 0x%lx," | |
1678 | - " grain %d, syndrome 0x%lx, row %d, channel %d," | |
1679 | - " label \"%s\": %s\n", mci->mc_idx, | |
1680 | - page_frame_number, offset_in_page, | |
1681 | - mci->csrows[row].grain, syndrome, row, channel, | |
1682 | - mci->csrows[row].channels[channel].label, msg); | |
1669 | + edac_mc_printk(mci, KERN_WARNING, | |
1670 | + "CE page 0x%lx, offset 0x%lx, grain %d, syndrome " | |
1671 | + "0x%lx, row %d, channel %d, label \"%s\": %s\n", | |
1672 | + page_frame_number, offset_in_page, | |
1673 | + mci->csrows[row].grain, syndrome, row, channel, | |
1674 | + mci->csrows[row].channels[channel].label, msg); | |
1683 | 1675 | |
1684 | 1676 | mci->ce_count++; |
1685 | 1677 | mci->csrows[row].ce_count++; |
... | ... | @@ -1711,9 +1703,8 @@ |
1711 | 1703 | const char *msg) |
1712 | 1704 | { |
1713 | 1705 | if (log_ce) |
1714 | - printk(KERN_WARNING | |
1715 | - "EDAC MC%d: CE - no information available: %s\n", | |
1716 | - mci->mc_idx, msg); | |
1706 | + edac_mc_printk(mci, KERN_WARNING, | |
1707 | + "CE - no information available: %s\n", msg); | |
1717 | 1708 | mci->ce_noinfo_count++; |
1718 | 1709 | mci->ce_count++; |
1719 | 1710 | } |
1720 | 1711 | |
... | ... | @@ -1732,14 +1723,14 @@ |
1732 | 1723 | int chan; |
1733 | 1724 | int chars; |
1734 | 1725 | |
1735 | - debugf3("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
1726 | + debugf3("MC%d: %s()\n", mci->mc_idx, __func__); | |
1736 | 1727 | |
1737 | 1728 | /* FIXME - maybe make panic on INTERNAL ERROR an option */ |
1738 | 1729 | if (row >= mci->nr_csrows || row < 0) { |
1739 | 1730 | /* something is wrong */ |
1740 | - printk(KERN_ERR | |
1741 | - "EDAC MC%d: INTERNAL ERROR: row out of range (%d >= %d)\n", | |
1742 | - mci->mc_idx, row, mci->nr_csrows); | |
1731 | + edac_mc_printk(mci, KERN_ERR, | |
1732 | + "INTERNAL ERROR: row out of range " | |
1733 | + "(%d >= %d)\n", row, mci->nr_csrows); | |
1743 | 1734 | edac_mc_handle_ue_no_info(mci, "INTERNAL ERROR"); |
1744 | 1735 | return; |
1745 | 1736 | } |
... | ... | @@ -1757,11 +1748,11 @@ |
1757 | 1748 | } |
1758 | 1749 | |
1759 | 1750 | if (log_ue) |
1760 | - printk(KERN_EMERG | |
1761 | - "EDAC MC%d: UE page 0x%lx, offset 0x%lx, grain %d, row %d," | |
1762 | - " labels \"%s\": %s\n", mci->mc_idx, | |
1763 | - page_frame_number, offset_in_page, | |
1764 | - mci->csrows[row].grain, row, labels, msg); | |
1751 | + edac_mc_printk(mci, KERN_EMERG, | |
1752 | + "UE page 0x%lx, offset 0x%lx, grain %d, row %d, " | |
1753 | + "labels \"%s\": %s\n", page_frame_number, | |
1754 | + offset_in_page, mci->csrows[row].grain, row, labels, | |
1755 | + msg); | |
1765 | 1756 | |
1766 | 1757 | if (panic_on_ue) |
1767 | 1758 | panic |
... | ... | @@ -1784,9 +1775,8 @@ |
1784 | 1775 | panic("EDAC MC%d: Uncorrected Error", mci->mc_idx); |
1785 | 1776 | |
1786 | 1777 | if (log_ue) |
1787 | - printk(KERN_WARNING | |
1788 | - "EDAC MC%d: UE - no information available: %s\n", | |
1789 | - mci->mc_idx, msg); | |
1778 | + edac_mc_printk(mci, KERN_WARNING, | |
1779 | + "UE - no information available: %s\n", msg); | |
1790 | 1780 | mci->ue_noinfo_count++; |
1791 | 1781 | mci->ue_count++; |
1792 | 1782 | } |
1793 | 1783 | |
1794 | 1784 | |
1795 | 1785 | |
1796 | 1786 | |
1797 | 1787 | |
... | ... | @@ -1856,25 +1846,22 @@ |
1856 | 1846 | /* check the status reg for errors */ |
1857 | 1847 | if (status) { |
1858 | 1848 | if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) |
1859 | - printk(KERN_CRIT | |
1860 | - "EDAC PCI- " | |
1849 | + edac_printk(KERN_CRIT, EDAC_PCI, | |
1861 | 1850 | "Signaled System Error on %s\n", |
1862 | - pci_name (dev)); | |
1851 | + pci_name(dev)); | |
1863 | 1852 | |
1864 | 1853 | if (status & (PCI_STATUS_PARITY)) { |
1865 | - printk(KERN_CRIT | |
1866 | - "EDAC PCI- " | |
1854 | + edac_printk(KERN_CRIT, EDAC_PCI, | |
1867 | 1855 | "Master Data Parity Error on %s\n", |
1868 | - pci_name (dev)); | |
1856 | + pci_name(dev)); | |
1869 | 1857 | |
1870 | 1858 | atomic_inc(&pci_parity_count); |
1871 | 1859 | } |
1872 | 1860 | |
1873 | 1861 | if (status & (PCI_STATUS_DETECTED_PARITY)) { |
1874 | - printk(KERN_CRIT | |
1875 | - "EDAC PCI- " | |
1862 | + edac_printk(KERN_CRIT, EDAC_PCI, | |
1876 | 1863 | "Detected Parity Error on %s\n", |
1877 | - pci_name (dev)); | |
1864 | + pci_name(dev)); | |
1878 | 1865 | |
1879 | 1866 | atomic_inc(&pci_parity_count); |
1880 | 1867 | } |
1881 | 1868 | |
1882 | 1869 | |
1883 | 1870 | |
1884 | 1871 | |
... | ... | @@ -1895,25 +1882,22 @@ |
1895 | 1882 | /* check the secondary status reg for errors */ |
1896 | 1883 | if (status) { |
1897 | 1884 | if (status & (PCI_STATUS_SIG_SYSTEM_ERROR)) |
1898 | - printk(KERN_CRIT | |
1899 | - "EDAC PCI-Bridge- " | |
1885 | + edac_printk(KERN_CRIT, EDAC_PCI, "Bridge " | |
1900 | 1886 | "Signaled System Error on %s\n", |
1901 | - pci_name (dev)); | |
1887 | + pci_name(dev)); | |
1902 | 1888 | |
1903 | 1889 | if (status & (PCI_STATUS_PARITY)) { |
1904 | - printk(KERN_CRIT | |
1905 | - "EDAC PCI-Bridge- " | |
1906 | - "Master Data Parity Error on %s\n", | |
1907 | - pci_name (dev)); | |
1890 | + edac_printk(KERN_CRIT, EDAC_PCI, "Bridge " | |
1891 | + "Master Data Parity Error on " | |
1892 | + "%s\n", pci_name(dev)); | |
1908 | 1893 | |
1909 | 1894 | atomic_inc(&pci_parity_count); |
1910 | 1895 | } |
1911 | 1896 | |
1912 | 1897 | if (status & (PCI_STATUS_DETECTED_PARITY)) { |
1913 | - printk(KERN_CRIT | |
1914 | - "EDAC PCI-Bridge- " | |
1898 | + edac_printk(KERN_CRIT, EDAC_PCI, "Bridge " | |
1915 | 1899 | "Detected Parity Error on %s\n", |
1916 | - pci_name (dev)); | |
1900 | + pci_name(dev)); | |
1917 | 1901 | |
1918 | 1902 | atomic_inc(&pci_parity_count); |
1919 | 1903 | } |
... | ... | @@ -1992,7 +1976,7 @@ |
1992 | 1976 | unsigned long flags; |
1993 | 1977 | int before_count; |
1994 | 1978 | |
1995 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
1979 | + debugf3("%s()\n", __func__); | |
1996 | 1980 | |
1997 | 1981 | if (!check_pci_parity) |
1998 | 1982 | return; |
... | ... | @@ -2050,7 +2034,7 @@ |
2050 | 2034 | struct list_head *item; |
2051 | 2035 | struct mem_ctl_info *mci; |
2052 | 2036 | |
2053 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
2037 | + debugf3("%s()\n", __func__); | |
2054 | 2038 | |
2055 | 2039 | /* during poll, have interrupts off */ |
2056 | 2040 | local_irq_save(flags); |
2057 | 2041 | |
... | ... | @@ -2076,10 +2060,8 @@ |
2076 | 2060 | */ |
2077 | 2061 | static void do_edac_check(void) |
2078 | 2062 | { |
2079 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
2080 | - | |
2063 | + debugf3("%s()\n", __func__); | |
2081 | 2064 | check_mc_devices(); |
2082 | - | |
2083 | 2065 | do_pci_parity_check(); |
2084 | 2066 | } |
2085 | 2067 | |
... | ... | @@ -2102,7 +2084,7 @@ |
2102 | 2084 | */ |
2103 | 2085 | static int __init edac_mc_init(void) |
2104 | 2086 | { |
2105 | - printk(KERN_INFO "MC: " __FILE__ " version " EDAC_MC_VERSION "\n"); | |
2087 | + edac_printk(KERN_INFO, EDAC_MC, EDAC_MC_VERSION "\n"); | |
2106 | 2088 | |
2107 | 2089 | /* |
2108 | 2090 | * Harvest and clear any boot/initialization PCI parity errors |
2109 | 2091 | |
... | ... | @@ -2118,14 +2100,16 @@ |
2118 | 2100 | |
2119 | 2101 | /* Create the MC sysfs entires */ |
2120 | 2102 | if (edac_sysfs_memctrl_setup()) { |
2121 | - printk(KERN_ERR "EDAC MC: Error initializing sysfs code\n"); | |
2103 | + edac_printk(KERN_ERR, EDAC_MC, | |
2104 | + "Error initializing sysfs code\n"); | |
2122 | 2105 | return -ENODEV; |
2123 | 2106 | } |
2124 | 2107 | |
2125 | 2108 | /* Create the PCI parity sysfs entries */ |
2126 | 2109 | if (edac_sysfs_pci_setup()) { |
2127 | 2110 | edac_sysfs_memctrl_teardown(); |
2128 | - printk(KERN_ERR "EDAC PCI: Error initializing sysfs code\n"); | |
2111 | + edac_printk(KERN_ERR, EDAC_MC, | |
2112 | + "EDAC PCI: Error initializing sysfs code\n"); | |
2129 | 2113 | return -ENODEV; |
2130 | 2114 | } |
2131 | 2115 | |
... | ... | @@ -2148,7 +2132,7 @@ |
2148 | 2132 | */ |
2149 | 2133 | static void __exit edac_mc_exit(void) |
2150 | 2134 | { |
2151 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
2135 | + debugf0("%s()\n", __func__); | |
2152 | 2136 | |
2153 | 2137 | kthread_stop(edac_thread); |
2154 | 2138 |
drivers/edac/edac_mc.h
... | ... | @@ -43,10 +43,29 @@ |
43 | 43 | #define PAGES_TO_MiB( pages ) ( ( pages ) << ( PAGE_SHIFT - 20 ) ) |
44 | 44 | #endif |
45 | 45 | |
46 | +#define edac_printk(level, prefix, fmt, arg...) \ | |
47 | + printk(level "EDAC " prefix ": " fmt, ##arg) | |
48 | + | |
49 | +#define edac_mc_printk(mci, level, fmt, arg...) \ | |
50 | + printk(level "EDAC MC%d: " fmt, mci->mc_idx, ##arg) | |
51 | + | |
52 | +#define edac_mc_chipset_printk(mci, level, prefix, fmt, arg...) \ | |
53 | + printk(level "EDAC " prefix " MC%d: " fmt, mci->mc_idx, ##arg) | |
54 | + | |
55 | +/* prefixes for edac_printk() and edac_mc_printk() */ | |
56 | +#define EDAC_MC "MC" | |
57 | +#define EDAC_PCI "PCI" | |
58 | +#define EDAC_DEBUG "DEBUG" | |
59 | + | |
46 | 60 | #ifdef CONFIG_EDAC_DEBUG |
47 | 61 | extern int edac_debug_level; |
48 | -#define edac_debug_printk(level, fmt, args...) \ | |
49 | -do { if (level <= edac_debug_level) printk(KERN_DEBUG fmt, ##args); } while(0) | |
62 | + | |
63 | +#define edac_debug_printk(level, fmt, arg...) \ | |
64 | + do { \ | |
65 | + if (level <= edac_debug_level) \ | |
66 | + edac_printk(KERN_DEBUG, EDAC_DEBUG, fmt, ##arg); \ | |
67 | + } while(0) | |
68 | + | |
50 | 69 | #define debugf0( ... ) edac_debug_printk(0, __VA_ARGS__ ) |
51 | 70 | #define debugf1( ... ) edac_debug_printk(1, __VA_ARGS__ ) |
52 | 71 | #define debugf2( ... ) edac_debug_printk(2, __VA_ARGS__ ) |
drivers/edac/i82860_edac.c
... | ... | @@ -19,6 +19,14 @@ |
19 | 19 | #include "edac_mc.h" |
20 | 20 | |
21 | 21 | |
22 | +#define i82860_printk(level, fmt, arg...) \ | |
23 | + edac_printk(level, "i82860", fmt, ##arg) | |
24 | + | |
25 | + | |
26 | +#define i82860_mc_printk(mci, level, fmt, arg...) \ | |
27 | + edac_mc_chipset_printk(mci, level, "i82860", fmt, ##arg) | |
28 | + | |
29 | + | |
22 | 30 | #ifndef PCI_DEVICE_ID_INTEL_82860_0 |
23 | 31 | #define PCI_DEVICE_ID_INTEL_82860_0 0x2531 |
24 | 32 | #endif /* PCI_DEVICE_ID_INTEL_82860_0 */ |
... | ... | @@ -117,7 +125,7 @@ |
117 | 125 | { |
118 | 126 | struct i82860_error_info info; |
119 | 127 | |
120 | - debugf1("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
128 | + debugf1("MC%d: %s()\n", mci->mc_idx, __func__); | |
121 | 129 | i82860_get_error_info(mci, &info); |
122 | 130 | i82860_process_error_info(mci, &info, 1); |
123 | 131 | } |
... | ... | @@ -143,7 +151,7 @@ |
143 | 151 | if (!mci) |
144 | 152 | return -ENOMEM; |
145 | 153 | |
146 | - debugf3("MC: " __FILE__ ": %s(): init mci\n", __func__); | |
154 | + debugf3("%s(): init mci\n", __func__); | |
147 | 155 | |
148 | 156 | mci->pdev = pdev; |
149 | 157 | mci->mtype_cap = MEM_FLAG_DDR; |
... | ... | @@ -179,8 +187,8 @@ |
179 | 187 | |
180 | 188 | cumul_size = (value & I82860_GBA_MASK) << |
181 | 189 | (I82860_GBA_SHIFT - PAGE_SHIFT); |
182 | - debugf3("MC: " __FILE__ ": %s(): (%d) cumul_size 0x%x\n", | |
183 | - __func__, index, cumul_size); | |
190 | + debugf3("%s(): (%d) cumul_size 0x%x\n", __func__, index, | |
191 | + cumul_size); | |
184 | 192 | if (cumul_size == last_cumul_size) |
185 | 193 | continue; /* not populated */ |
186 | 194 | |
187 | 195 | |
... | ... | @@ -198,13 +206,11 @@ |
198 | 206 | pci_write_bits16(mci->pdev, I82860_ERRSTS, 0x0003, 0x0003); |
199 | 207 | |
200 | 208 | if (edac_mc_add_mc(mci)) { |
201 | - debugf3("MC: " __FILE__ | |
202 | - ": %s(): failed edac_mc_add_mc()\n", | |
203 | - __func__); | |
209 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
204 | 210 | edac_mc_free(mci); |
205 | 211 | } else { |
206 | 212 | /* get this far and it's successful */ |
207 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
213 | + debugf3("%s(): success\n", __func__); | |
208 | 214 | rc = 0; |
209 | 215 | } |
210 | 216 | return rc; |
211 | 217 | |
... | ... | @@ -216,9 +222,9 @@ |
216 | 222 | { |
217 | 223 | int rc; |
218 | 224 | |
219 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
225 | + debugf0("%s()\n", __func__); | |
220 | 226 | |
221 | - printk(KERN_INFO "i82860 init one\n"); | |
227 | + i82860_printk(KERN_INFO, "i82860 init one\n"); | |
222 | 228 | if(pci_enable_device(pdev) < 0) |
223 | 229 | return -EIO; |
224 | 230 | rc = i82860_probe1(pdev, ent->driver_data); |
... | ... | @@ -231,7 +237,7 @@ |
231 | 237 | { |
232 | 238 | struct mem_ctl_info *mci; |
233 | 239 | |
234 | - debugf0(__FILE__ ": %s()\n", __func__); | |
240 | + debugf0("%s()\n", __func__); | |
235 | 241 | |
236 | 242 | mci = edac_mc_find_mci_by_pdev(pdev); |
237 | 243 | if ((mci != NULL) && (edac_mc_del_mc(mci) == 0)) |
... | ... | @@ -257,7 +263,7 @@ |
257 | 263 | { |
258 | 264 | int pci_rc; |
259 | 265 | |
260 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
266 | + debugf3("%s()\n", __func__); | |
261 | 267 | if ((pci_rc = pci_register_driver(&i82860_driver)) < 0) |
262 | 268 | return pci_rc; |
263 | 269 | |
... | ... | @@ -281,7 +287,7 @@ |
281 | 287 | |
282 | 288 | static void __exit i82860_exit(void) |
283 | 289 | { |
284 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
290 | + debugf3("%s()\n", __func__); | |
285 | 291 | |
286 | 292 | pci_unregister_driver(&i82860_driver); |
287 | 293 | if (!i82860_registered) { |
drivers/edac/i82875p_edac.c
... | ... | @@ -26,6 +26,14 @@ |
26 | 26 | #include "edac_mc.h" |
27 | 27 | |
28 | 28 | |
29 | +#define i82875p_printk(level, fmt, arg...) \ | |
30 | + edac_printk(level, "i82875p", fmt, ##arg) | |
31 | + | |
32 | + | |
33 | +#define i82875p_mc_printk(mci, level, fmt, arg...) \ | |
34 | + edac_mc_chipset_printk(mci, level, "i82875p", fmt, ##arg) | |
35 | + | |
36 | + | |
29 | 37 | #ifndef PCI_DEVICE_ID_INTEL_82875_0 |
30 | 38 | #define PCI_DEVICE_ID_INTEL_82875_0 0x2578 |
31 | 39 | #endif /* PCI_DEVICE_ID_INTEL_82875_0 */ |
... | ... | @@ -254,7 +262,7 @@ |
254 | 262 | { |
255 | 263 | struct i82875p_error_info info; |
256 | 264 | |
257 | - debugf1("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
265 | + debugf1("MC%d: %s()\n", mci->mc_idx, __func__); | |
258 | 266 | i82875p_get_error_info(mci, &info); |
259 | 267 | i82875p_process_error_info(mci, &info, 1); |
260 | 268 | } |
... | ... | @@ -279,7 +287,7 @@ |
279 | 287 | u32 nr_chans; |
280 | 288 | u32 drc_ddim; /* DRAM Data Integrity Mode 0=none,2=edac */ |
281 | 289 | |
282 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
290 | + debugf0("%s()\n", __func__); | |
283 | 291 | |
284 | 292 | ovrfl_pdev = pci_find_device(PCI_VEND_DEV(INTEL, 82875_6), NULL); |
285 | 293 | |
286 | 294 | |
... | ... | @@ -298,16 +306,16 @@ |
298 | 306 | } |
299 | 307 | #ifdef CONFIG_PROC_FS |
300 | 308 | if (!ovrfl_pdev->procent && pci_proc_attach_device(ovrfl_pdev)) { |
301 | - printk(KERN_ERR "MC: " __FILE__ | |
302 | - ": %s(): Failed to attach overflow device\n", | |
303 | - __func__); | |
309 | + i82875p_printk(KERN_ERR, | |
310 | + "%s(): Failed to attach overflow device\n", | |
311 | + __func__); | |
304 | 312 | goto fail; |
305 | 313 | } |
306 | 314 | #endif /* CONFIG_PROC_FS */ |
307 | 315 | if (pci_enable_device(ovrfl_pdev)) { |
308 | - printk(KERN_ERR "MC: " __FILE__ | |
309 | - ": %s(): Failed to enable overflow device\n", | |
310 | - __func__); | |
316 | + i82875p_printk(KERN_ERR, | |
317 | + "%s(): Failed to enable overflow device\n", | |
318 | + __func__); | |
311 | 319 | goto fail; |
312 | 320 | } |
313 | 321 | |
... | ... | @@ -321,8 +329,8 @@ |
321 | 329 | pci_resource_len(ovrfl_pdev, 0)); |
322 | 330 | |
323 | 331 | if (!ovrfl_window) { |
324 | - printk(KERN_ERR "MC: " __FILE__ | |
325 | - ": %s(): Failed to ioremap bar6\n", __func__); | |
332 | + i82875p_printk(KERN_ERR, "%s(): Failed to ioremap bar6\n", | |
333 | + __func__); | |
326 | 334 | goto fail; |
327 | 335 | } |
328 | 336 | |
... | ... | @@ -340,7 +348,7 @@ |
340 | 348 | goto fail; |
341 | 349 | } |
342 | 350 | |
343 | - debugf3("MC: " __FILE__ ": %s(): init mci\n", __func__); | |
351 | + debugf3("%s(): init mci\n", __func__); | |
344 | 352 | |
345 | 353 | mci->pdev = pdev; |
346 | 354 | mci->mtype_cap = MEM_FLAG_DDR; |
... | ... | @@ -355,7 +363,7 @@ |
355 | 363 | mci->edac_check = i82875p_check; |
356 | 364 | mci->ctl_page_to_phys = NULL; |
357 | 365 | |
358 | - debugf3("MC: " __FILE__ ": %s(): init pvt\n", __func__); | |
366 | + debugf3("%s(): init pvt\n", __func__); | |
359 | 367 | |
360 | 368 | pvt = (struct i82875p_pvt *) mci->pvt_info; |
361 | 369 | pvt->ovrfl_pdev = ovrfl_pdev; |
... | ... | @@ -374,8 +382,8 @@ |
374 | 382 | |
375 | 383 | value = readb(ovrfl_window + I82875P_DRB + index); |
376 | 384 | cumul_size = value << (I82875P_DRB_SHIFT - PAGE_SHIFT); |
377 | - debugf3("MC: " __FILE__ ": %s(): (%d) cumul_size 0x%x\n", | |
378 | - __func__, index, cumul_size); | |
385 | + debugf3("%s(): (%d) cumul_size 0x%x\n", __func__, index, | |
386 | + cumul_size); | |
379 | 387 | if (cumul_size == last_cumul_size) |
380 | 388 | continue; /* not populated */ |
381 | 389 | |
382 | 390 | |
... | ... | @@ -393,13 +401,12 @@ |
393 | 401 | pci_write_bits16(mci->pdev, I82875P_ERRSTS, 0x0081, 0x0081); |
394 | 402 | |
395 | 403 | if (edac_mc_add_mc(mci)) { |
396 | - debugf3("MC: " __FILE__ | |
397 | - ": %s(): failed edac_mc_add_mc()\n", __func__); | |
404 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
398 | 405 | goto fail; |
399 | 406 | } |
400 | 407 | |
401 | 408 | /* get this far and it's successful */ |
402 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
409 | + debugf3("%s(): success\n", __func__); | |
403 | 410 | return 0; |
404 | 411 | |
405 | 412 | fail: |
406 | 413 | |
... | ... | @@ -425,9 +432,9 @@ |
425 | 432 | { |
426 | 433 | int rc; |
427 | 434 | |
428 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
435 | + debugf0("%s()\n", __func__); | |
429 | 436 | |
430 | - printk(KERN_INFO "i82875p init one\n"); | |
437 | + i82875p_printk(KERN_INFO, "i82875p init one\n"); | |
431 | 438 | if(pci_enable_device(pdev) < 0) |
432 | 439 | return -EIO; |
433 | 440 | rc = i82875p_probe1(pdev, ent->driver_data); |
... | ... | @@ -442,7 +449,7 @@ |
442 | 449 | struct mem_ctl_info *mci; |
443 | 450 | struct i82875p_pvt *pvt = NULL; |
444 | 451 | |
445 | - debugf0(__FILE__ ": %s()\n", __func__); | |
452 | + debugf0("%s()\n", __func__); | |
446 | 453 | |
447 | 454 | if ((mci = edac_mc_find_mci_by_pdev(pdev)) == NULL) |
448 | 455 | return; |
... | ... | @@ -487,7 +494,7 @@ |
487 | 494 | { |
488 | 495 | int pci_rc; |
489 | 496 | |
490 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
497 | + debugf3("%s()\n", __func__); | |
491 | 498 | pci_rc = pci_register_driver(&i82875p_driver); |
492 | 499 | if (pci_rc < 0) |
493 | 500 | return pci_rc; |
... | ... | @@ -513,7 +520,7 @@ |
513 | 520 | |
514 | 521 | static void __exit i82875p_exit(void) |
515 | 522 | { |
516 | - debugf3("MC: " __FILE__ ": %s()\n", __func__); | |
523 | + debugf3("%s()\n", __func__); | |
517 | 524 | |
518 | 525 | pci_unregister_driver(&i82875p_driver); |
519 | 526 | if (!i82875p_registered) { |
drivers/edac/r82600_edac.c
... | ... | @@ -26,6 +26,12 @@ |
26 | 26 | |
27 | 27 | #include "edac_mc.h" |
28 | 28 | |
29 | +#define r82600_printk(level, fmt, arg...) \ | |
30 | + edac_printk(level, "r82600", fmt, ##arg) | |
31 | + | |
32 | +#define r82600_mc_printk(mci, level, fmt, arg...) \ | |
33 | + edac_mc_chipset_printk(mci, level, "r82600", fmt, ##arg) | |
34 | + | |
29 | 35 | /* Radisys say "The 82600 integrates a main memory SDRAM controller that |
30 | 36 | * supports up to four banks of memory. The four banks can support a mix of |
31 | 37 | * sizes of 64 bit wide (72 bits with ECC) Synchronous DRAM (SDRAM) DIMMs, |
... | ... | @@ -196,7 +202,7 @@ |
196 | 202 | { |
197 | 203 | struct r82600_error_info info; |
198 | 204 | |
199 | - debugf1("MC%d: " __FILE__ ": %s()\n", mci->mc_idx, __func__); | |
205 | + debugf1("MC%d: %s()\n", mci->mc_idx, __func__); | |
200 | 206 | r82600_get_error_info(mci, &info); |
201 | 207 | r82600_process_error_info(mci, &info, 1); |
202 | 208 | } |
... | ... | @@ -215,7 +221,7 @@ |
215 | 221 | u32 row_high_limit_last = 0; |
216 | 222 | u32 eap_init_bits; |
217 | 223 | |
218 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
224 | + debugf0("%s()\n", __func__); | |
219 | 225 | |
220 | 226 | |
221 | 227 | pci_read_config_byte(pdev, R82600_DRAMC, &dramcr); |
222 | 228 | |
... | ... | @@ -226,11 +232,10 @@ |
226 | 232 | scrub_disabled = eapr & BIT(31); |
227 | 233 | sdram_refresh_rate = dramcr & (BIT(0) | BIT(1)); |
228 | 234 | |
229 | - debugf2("MC: " __FILE__ ": %s(): sdram refresh rate = %#0x\n", | |
230 | - __func__, sdram_refresh_rate); | |
235 | + debugf2("%s(): sdram refresh rate = %#0x\n", __func__, | |
236 | + sdram_refresh_rate); | |
231 | 237 | |
232 | - debugf2("MC: " __FILE__ ": %s(): DRAMC register = %#0x\n", __func__, | |
233 | - dramcr); | |
238 | + debugf2("%s(): DRAMC register = %#0x\n", __func__, dramcr); | |
234 | 239 | |
235 | 240 | mci = edac_mc_alloc(0, R82600_NR_CSROWS, R82600_NR_CHANS); |
236 | 241 | |
... | ... | @@ -239,7 +244,7 @@ |
239 | 244 | goto fail; |
240 | 245 | } |
241 | 246 | |
242 | - debugf0("MC: " __FILE__ ": %s(): mci = %p\n", __func__, mci); | |
247 | + debugf0("%s(): mci = %p\n", __func__, mci); | |
243 | 248 | |
244 | 249 | mci->pdev = pdev; |
245 | 250 | mci->mtype_cap = MEM_FLAG_RDDR | MEM_FLAG_DDR; |
... | ... | @@ -255,9 +260,8 @@ |
255 | 260 | mci->edac_cap = EDAC_FLAG_NONE | EDAC_FLAG_EC | EDAC_FLAG_SECDED; |
256 | 261 | if (ecc_on) { |
257 | 262 | if (scrub_disabled) |
258 | - debugf3("MC: " __FILE__ ": %s(): mci = %p - " | |
259 | - "Scrubbing disabled! EAP: %#0x\n", __func__, | |
260 | - mci, eapr); | |
263 | + debugf3("%s(): mci = %p - Scrubbing disabled! EAP: " | |
264 | + "%#0x\n", __func__, mci, eapr); | |
261 | 265 | } else |
262 | 266 | mci->edac_cap = EDAC_FLAG_NONE; |
263 | 267 | |
264 | 268 | |
... | ... | @@ -276,16 +280,15 @@ |
276 | 280 | /* find the DRAM Chip Select Base address and mask */ |
277 | 281 | pci_read_config_byte(mci->pdev, R82600_DRBA + index, &drbar); |
278 | 282 | |
279 | - debugf1("MC%d: " __FILE__ ": %s() Row=%d DRBA = %#0x\n", | |
280 | - mci->mc_idx, __func__, index, drbar); | |
283 | + debugf1("MC%d: %s() Row=%d DRBA = %#0x\n", mci->mc_idx, | |
284 | + __func__, index, drbar); | |
281 | 285 | |
282 | 286 | row_high_limit = ((u32) drbar << 24); |
283 | 287 | /* row_high_limit = ((u32)drbar << 24) | 0xffffffUL; */ |
284 | 288 | |
285 | - debugf1("MC%d: " __FILE__ ": %s() Row=%d, " | |
286 | - "Boundry Address=%#0x, Last = %#0x \n", | |
287 | - mci->mc_idx, __func__, index, row_high_limit, | |
288 | - row_high_limit_last); | |
289 | + debugf1("MC%d: %s() Row=%d, Boundry Address=%#0x, Last = " | |
290 | + "%#0x \n", mci->mc_idx, __func__, index, | |
291 | + row_high_limit, row_high_limit_last); | |
289 | 292 | |
290 | 293 | /* Empty row [p.57] */ |
291 | 294 | if (row_high_limit == row_high_limit_last) |
... | ... | @@ -312,8 +315,7 @@ |
312 | 315 | /* FIXME should we? */ |
313 | 316 | |
314 | 317 | if (edac_mc_add_mc(mci)) { |
315 | - debugf3("MC: " __FILE__ | |
316 | - ": %s(): failed edac_mc_add_mc()\n", __func__); | |
318 | + debugf3("%s(): failed edac_mc_add_mc()\n", __func__); | |
317 | 319 | goto fail; |
318 | 320 | } |
319 | 321 | |
320 | 322 | |
... | ... | @@ -325,14 +327,14 @@ |
325 | 327 | eap_init_bits = BIT(0) & BIT(1); |
326 | 328 | if (disable_hardware_scrub) { |
327 | 329 | eap_init_bits |= BIT(31); |
328 | - debugf3("MC: " __FILE__ ": %s(): Disabling Hardware Scrub " | |
329 | - "(scrub on error)\n", __func__); | |
330 | + debugf3("%s(): Disabling Hardware Scrub (scrub on error)\n", | |
331 | + __func__); | |
330 | 332 | } |
331 | 333 | |
332 | 334 | pci_write_bits32(mci->pdev, R82600_EAP, eap_init_bits, |
333 | 335 | eap_init_bits); |
334 | 336 | |
335 | - debugf3("MC: " __FILE__ ": %s(): success\n", __func__); | |
337 | + debugf3("%s(): success\n", __func__); | |
336 | 338 | return 0; |
337 | 339 | |
338 | 340 | fail: |
... | ... | @@ -346,7 +348,7 @@ |
346 | 348 | static int __devinit r82600_init_one(struct pci_dev *pdev, |
347 | 349 | const struct pci_device_id *ent) |
348 | 350 | { |
349 | - debugf0("MC: " __FILE__ ": %s()\n", __func__); | |
351 | + debugf0("%s()\n", __func__); | |
350 | 352 | |
351 | 353 | /* don't need to call pci_device_enable() */ |
352 | 354 | return r82600_probe1(pdev, ent->driver_data); |
... | ... | @@ -357,7 +359,7 @@ |
357 | 359 | { |
358 | 360 | struct mem_ctl_info *mci; |
359 | 361 | |
360 | - debugf0(__FILE__ ": %s()\n", __func__); | |
362 | + debugf0("%s()\n", __func__); | |
361 | 363 | |
362 | 364 | if (((mci = edac_mc_find_mci_by_pdev(pdev)) != NULL) && |
363 | 365 | !edac_mc_del_mc(mci)) |