This series adds a configuration option to selectively compile out
printk message strings based on a verbosity level.
This works by wrapping printk with a macro which evaluates to a
constant if condition which the compiler will be able to optimize
out.
However because printk might be wrapped by a macro it no longer has
a return value. This means that constructs like the following ones
don't work:
((void)(SOME_RANDOM_DEBUG_FLAG && printk(...));
some_random_variable = printk(...);
Therefore printk_unfiltered is introduced which is just an alias
to the standard printk function but not wrapped by a macro.
Patches 4-6 make existing kernel code aware of this fact.
The series was compile tested with make allyesconfig for x86 and
arm (with a cross compiler) but I might have missed something.
All kinds of comments are welcome.
Marc Andre Tanner (7):
printk: introduce CONFIG_PRINTK_VERBOSITY
printk: move printk to the end of the file
printk: introduce printk_unfiltered as an alias to printk
drivers: replace printk with printk_unfiltered
drivers: make macro independent of printk's return value
video/stk-webcam: change use of STK_ERROR
printk: provide a filtering macro for printk
drivers/char/mem.c | 2 +-
drivers/md/md.c | 2 +-
drivers/md/raid5.c | 2 +-
drivers/media/video/stk-webcam.c | 16 +++---
drivers/net/e100.c | 2 +-
drivers/net/ixgb/ixgb.h | 2 +-
drivers/net/ixgbe/ixgbe.h | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.h | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 +-
include/linux/kernel.h | 29 +++++++++++
include/net/sctp/sctp.h | 2 +-
init/Kconfig | 28 ++++++++++
kernel/lockdep.c | 4 +-
kernel/printk.c | 96 +++++++++++++++++++++++-------------
14 files changed, 137 insertions(+), 54 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html