Re: [RFC] New kernel-message logging API (take 2)

From: Vegard Nossum
Date: Fri Sep 28 2007 - 08:11:21 EST

On 9/27/07, Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:


> 2.1.5. Subsystem/driver tags
> Many parts of the kernel already prefix their log messages with a
> subsystem and/or driver tag to identify the source of a particular
> message. With the kprint interface, these tags are redundant. Instead,
> the macros SUBSYSTEM and KBUILD_MODNAME are used and recorded along
> with each log message. Therefore, each source file should define the
> macro SUBSYSTEM before any of the kprint functions are used. If this
> macro is not defined, the recorded subsystem will be an empty string.
> [6][7]

This changes to KPRINT_SUBSYSTEM and KPRINT_DRIVER. The KPRINT_ prefix
is to clearly say that this is something related to logging. The
reason we can't use KBUILD_MODNAME is that this is defined on the
command line. The declaration inside the header would thus be horribly
wrong. We can, however, use KBUILD_MODNAME as a default value for
static const char *KPRINT_DRIVER = KBUILD_MODNAME;
which would pre-process to something like:
static const char *KPRINT_DRIVER = "bcm43xx";

This value can still be overridden using #define KPRINT_DRIVER "new
name". In this case, it is possible that the original KPRINT_DRIVER
symbol can cause an "unused variable"-warning. I guess this is fixable
with the gcc "unused" variable attribute.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at