mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err
Using logging functions instead of macros can reduce overall object size. $ size drivers/mtd/ubi/built-in.o* text data bss dec hex filename 271620 163364 73696 508680 7c308 drivers/mtd/ubi/built-in.o.allyesconfig.new 287638 165380 73504 526522 808ba drivers/mtd/ubi/built-in.o.allyesconfig.old 87728 3780 504 92012 1676c drivers/mtd/ubi/built-in.o.defconfig.new 97084 3780 504 101368 18bf8 drivers/mtd/ubi/built-in.o.defconfig.old Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
Родитель
3e7f2c5104
Коммит
58d303def2
|
@ -153,3 +153,52 @@ int ubi_check_pattern(const void *buf, uint8_t patt, int size)
|
|||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Normal UBI messages */
|
||||
void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...)
|
||||
{
|
||||
struct va_format vaf;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
vaf.fmt = fmt;
|
||||
vaf.va = &args;
|
||||
|
||||
pr_notice(UBI_NAME_STR "%d: %pV\n", ubi->ubi_num, &vaf);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* UBI warning messages */
|
||||
void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...)
|
||||
{
|
||||
struct va_format vaf;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
vaf.fmt = fmt;
|
||||
vaf.va = &args;
|
||||
|
||||
pr_warn(UBI_NAME_STR "%d warning: %ps: %pV\n",
|
||||
ubi->ubi_num, __builtin_return_address(0), &vaf);
|
||||
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
/* UBI error messages */
|
||||
void ubi_err(const struct ubi_device *ubi, const char *fmt, ...)
|
||||
{
|
||||
struct va_format vaf;
|
||||
va_list args;
|
||||
|
||||
va_start(args, fmt);
|
||||
|
||||
vaf.fmt = fmt;
|
||||
vaf.va = &args;
|
||||
|
||||
pr_err(UBI_NAME_STR "%d error: %ps: %pV\n",
|
||||
ubi->ubi_num, __builtin_return_address(0), &vaf);
|
||||
va_end(args);
|
||||
}
|
||||
|
|
|
@ -49,15 +49,19 @@
|
|||
/* UBI name used for character devices, sysfs, etc */
|
||||
#define UBI_NAME_STR "ubi"
|
||||
|
||||
struct ubi_device;
|
||||
|
||||
/* Normal UBI messages */
|
||||
#define ubi_msg(ubi, fmt, ...) pr_notice(UBI_NAME_STR "%d: " fmt "\n", \
|
||||
ubi->ubi_num, ##__VA_ARGS__)
|
||||
__printf(2, 3)
|
||||
void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...);
|
||||
|
||||
/* UBI warning messages */
|
||||
#define ubi_warn(ubi, fmt, ...) pr_warn(UBI_NAME_STR "%d warning: %s: " fmt "\n", \
|
||||
ubi->ubi_num, __func__, ##__VA_ARGS__)
|
||||
__printf(2, 3)
|
||||
void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...);
|
||||
|
||||
/* UBI error messages */
|
||||
#define ubi_err(ubi, fmt, ...) pr_err(UBI_NAME_STR "%d error: %s: " fmt "\n", \
|
||||
ubi->ubi_num, __func__, ##__VA_ARGS__)
|
||||
__printf(2, 3)
|
||||
void ubi_err(const struct ubi_device *ubi, const char *fmt, ...);
|
||||
|
||||
/* Background thread name pattern */
|
||||
#define UBI_BGT_NAME_PATTERN "ubi_bgt%dd"
|
||||
|
|
Загрузка…
Ссылка в новой задаче