From: Tilman Schmidt <tilman@imap.cc>
To: kernel-janitors@vger.kernel.org
Subject: [KJ] [PATCH] usb.h: reduce syslog clutter
Date: Sat, 18 Mar 2006 19:53:26 +0000 [thread overview]
Message-ID: <441C6536.2060800@imap.cc> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2430 bytes --]
The current versions of the err() / info() / warn() message macros in
include/linux/usb.h insert __FILE__ at the beginning of the message.
When those macros where introduced, back in 2.2 times, that expanded
to the name of the source file, which was fine.
However, with the build process changes in 2.5, __FILE__ now expands
to the complete path name of the source file within the kernel tree.
Consequently, that part of the kernel message now takes up about half
of an 80 character screen line.
The following patch modifies these macros so that, when used in a
module, they'll insert the module name instead, which is significantly
shorter and also tends to be more useful to users (as opposed to kernel
developers) trying to make sense of a particular message.
It also adds a macro for the "notice" message level which was missing
so far.
The triple checks for defined(CONFIG_MODULES), defined(THIS_MODULE)
and THIS_MODULE are necessary to catch all possible combinations of
- kernel being built with or without module support
- source file #including linux/usb.h or not
- source file actually being built as a module or not
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
---
usb.h | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
--- linux-2.6.16-rc6/include/linux/usb.h 2006-02-27 06:09:35.000000000 +0100
+++ linux-2.6.16-rc6-patch-unclutter/include/linux/usb.h 2006-03-18 20:29:38.000000000 +0100
@@ -1199,12 +1199,20 @@
#define dbg(format, arg...) do {} while (0)
#endif
+#if defined(CONFIG_MODULES) && defined(THIS_MODULE)
+#define KMSG_LOCATION_PREFIX THIS_MODULE ? THIS_MODULE->name : __FILE__
+#else
+#define KMSG_LOCATION_PREFIX __FILE__
+#endif
+
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n" , \
- __FILE__ , ## arg)
+ KMSG_LOCATION_PREFIX , ## arg)
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n" , \
- __FILE__ , ## arg)
+ KMSG_LOCATION_PREFIX , ## arg)
#define warn(format, arg...) printk(KERN_WARNING "%s: " format "\n" , \
- __FILE__ , ## arg)
+ KMSG_LOCATION_PREFIX , ## arg)
+#define notice(format, arg...) printk(KERN_NOTICE "%s: " format "\n" , \
+ KMSG_LOCATION_PREFIX , ## arg)
#endif /* __KERNEL__ */
--
Tilman Schmidt E-Mail: tilman@imap.cc
Bonn, Germany
Help a man when he is in trouble and he will remember you when he is
in trouble again.
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 253 bytes --]
[-- Attachment #2: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
next reply other threads:[~2006-03-18 19:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-18 19:53 Tilman Schmidt [this message]
2006-03-20 9:54 ` [KJ] [PATCH] usb.h: reduce syslog clutter Arnd Bergmann
2006-03-20 19:40 ` Tilman Schmidt
2006-03-20 19:44 ` Tilman Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=441C6536.2060800@imap.cc \
--to=tilman@imap.cc \
--cc=kernel-janitors@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.