Cc: Arnd Bergmann <arnd@...>, Indan Zupancic <indan@...>, Rob Landley <rob@...>, Michael Opdenacker <michael@...>, <linux-tiny@...>, CE Linux Developers List <celinux-dev@...>, linux kernel <linux-kernel@...>
On Fri, 28 September 2007 10:39:06 +0200, Bernd Petrovitsch wrote:
#if CONFIG_PRINTK_DOICARE >= 3
#define PRINTK_DEBUG_CONTINUED "",
#else
#define PRINTK_DEBUG_CONTINUED PRINTK_DEBUG
#endif
...
#define printk(level, str, ...) \
do { \
if (sizeof(level) == 1) /* continued printk */\
actual_printk(str, __VA_ARGS__); \
else if ((level[1] - '0') < CONFIG_PRINTK_DOICARE) \
actual_printk(level str, __VA_ARGS__); \
} while(0);
Now you can mark a continued KERN_ERR call as such. And depending on
CONFIG_PRINTK_DOICARE it will either be printed as always or turned into
a stand-alone printk() that gets optimized away. Do the same for all
the other levels.
Open question remains: do we want to go down that road? I have no idea.
Jörn
--
I've never met a human being who would want to read 17,000 pages of
documentation, and if there was, I'd kill him to get him out of the
gene pool.
-- Joseph Costello
-