使い方のイメージは下記の通り。
#define pr_fmt(fmt) "Header: " fmt #include <linux/printk.h> ... void some_func() { pr_info("hoge.\n"); }
pr_fmt を上記の例のように定義したとき、出力は、
Header: hoge.
となる。
pr_fmt が未定義のとき、フォーマット引数は加工されないので、 出力は、
hoge.
となる。
もしどうしても linux/printk.h のインクルードを先に行いたいなら、#undef する方法もある。
#include <linux/printk.h> ... #ifdef pr_fmt #undef pr_fmt #endif #define pr_fmt(fmt) "Header: " fmt
pr_fmt() の影響を受けるマクロ達。
#ifndef pr_fmt #define pr_fmt(fmt) fmt #endif