[patch 0/6] [RFC] kmsg macros, take x+3.

From: Martin Schwidefsky
Date: Thu Sep 25 2008 - 12:45:54 EST


Greetings,
after a short chat with Greg on the kernel summit here is now the
hopefully final version of the kernel message catalog patches. As
version x+2 this uses automatically generated message hashes. The
new thing is that there are no more special kmsg_dev_xxx macros,
this version uses the standard dev_xxx macros. If a KMSG_COMPONENT
is defined then dev_xxx will include the message hash after the
driver name in the format:

<driver-name>.<message hash>: <device name>: <message>

The problem with finding the correct driver name in the kmsg-doc
script has been solved by requiring that the driver name and
KMSG_COMPONENT have to match. See patch #2.

To convert a driver to use the message tags you need to do:
1) Add KMSG_COMPONENT to the start of each source file of the driver:
#define KMSG_COMPONENT "driver-name"
The define should be before any of the includes.
2) Replace all normal printks with kmsg_err/kmsg_warn/kmsg_info/..
The dev_xxx printks do not need to be changed in any way.
3) Compile the driver
4) Check for missing messages by running "make D=1 <?.o>" on each of
the object files of the driver. For example if I want to check the
lcs driver I do "make D=1 drivers/s390/net/lcs.o". Alternatively you
can check all object files of your current configuration with just
"make D=1". Be prepared that this will take a while..
For each message that misses its documentation you'll get a blueprint.
5) Fill in the ksmg blueprint of the messages and copy the result to
either the source file where the respective message is located or to
a text file with the component as its name in Documentation/kmsg.
6) Create the man pages your driver with "make D=2 <?.o>".

Greg: could you please comment on patch number #2 if this is ok with
you now?

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/