From 77c0d0eb67350594e728da1f039e14ecf7d75ee5 Mon Sep 17 00:00:00 2001 From: Hitoshi Mitake Date: Thu, 2 Apr 2009 16:58:43 -0700 Subject: [PATCH] --- yaml --- r: 139714 b: refs/heads/master c: cc18e3cd5345715544e4d61b32a7442360817195 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/edac/Kconfig | 8 ++++++++ trunk/drivers/edac/edac_core.h | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 35b0a89ea182..06be0adedeeb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 15746fcaa3a00753bbab2326088b85b10c1ba36a +refs/heads/master: cc18e3cd5345715544e4d61b32a7442360817195 diff --git a/trunk/drivers/edac/Kconfig b/trunk/drivers/edac/Kconfig index eee47fd16d79..56021f64ee22 100644 --- a/trunk/drivers/edac/Kconfig +++ b/trunk/drivers/edac/Kconfig @@ -40,6 +40,14 @@ config EDAC_DEBUG there're four debug levels (x=0,1,2,3 from low to high). Usually you should select 'N'. +config EDAC_DEBUG_VERBOSE + bool "More verbose debugging" + depends on EDAC_DEBUG + help + This option makes debugging information more verbose. + Source file name and line number where debugging message + printed will be added to debugging message. + config EDAC_MM_EDAC tristate "Main Memory EDAC (Error Detection And Correction) reporting" default y diff --git a/trunk/drivers/edac/edac_core.h b/trunk/drivers/edac/edac_core.h index 4b55ec607a88..3189c76fe62e 100644 --- a/trunk/drivers/edac/edac_core.h +++ b/trunk/drivers/edac/edac_core.h @@ -49,6 +49,10 @@ #define edac_printk(level, prefix, fmt, arg...) \ printk(level "EDAC " prefix ": " fmt, ##arg) +#define edac_printk_verbose(level, prefix, fmt, arg...) \ + printk(level "EDAC " prefix ": " "in %s, line at %d: " fmt, \ + __FILE__, __LINE__, ##arg) + #define edac_mc_printk(mci, level, fmt, arg...) \ printk(level "EDAC MC%d: " fmt, mci->mc_idx, ##arg) @@ -71,11 +75,20 @@ #ifdef CONFIG_EDAC_DEBUG extern int edac_debug_level; +#ifndef CONFIG_EDAC_DEBUG_VERBOSE #define edac_debug_printk(level, fmt, arg...) \ do { \ if (level <= edac_debug_level) \ edac_printk(KERN_DEBUG, EDAC_DEBUG, fmt, ##arg); \ - } while(0) + } while (0) +#else /* CONFIG_EDAC_DEBUG_VERBOSE */ +#define edac_debug_printk(level, fmt, arg...) \ + do { \ + if (level <= edac_debug_level) \ + edac_printk_verbose(KERN_DEBUG, EDAC_DEBUG, fmt, \ + ##arg); \ + } while (0) +#endif #define debugf0( ... ) edac_debug_printk(0, __VA_ARGS__ ) #define debugf1( ... ) edac_debug_printk(1, __VA_ARGS__ )