Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab50ff68 authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBI: switch to dynamic printks



Remove custom dynamic prints and the module parameter to toggle them and use
the generic kernel dynamic printk infrastructure.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent ebfce01a
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -30,15 +30,12 @@
#include <linux/module.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/moduleparam.h>


unsigned int ubi_msg_flags;
unsigned int ubi_chk_flags;
unsigned int ubi_chk_flags;
unsigned int ubi_tst_flags;
unsigned int ubi_tst_flags;


module_param_named(debug_msgs, ubi_msg_flags, uint, S_IRUGO | S_IWUSR);
module_param_named(debug_chks, ubi_chk_flags, uint, S_IRUGO | S_IWUSR);
module_param_named(debug_chks, ubi_chk_flags, uint, S_IRUGO | S_IWUSR);
module_param_named(debug_tsts, ubi_chk_flags, uint, S_IRUGO | S_IWUSR);
module_param_named(debug_tsts, ubi_chk_flags, uint, S_IRUGO | S_IWUSR);


MODULE_PARM_DESC(debug_msgs, "Debug message type flags");
MODULE_PARM_DESC(debug_chks, "Debug check flags");
MODULE_PARM_DESC(debug_chks, "Debug check flags");
MODULE_PARM_DESC(debug_tsts, "Debug special test flags");
MODULE_PARM_DESC(debug_tsts, "Debug special test flags");


+28 −55
Original line number Original line Diff line number Diff line
@@ -32,8 +32,6 @@ struct ubi_mkvol_req;
#ifdef CONFIG_MTD_UBI_DEBUG
#ifdef CONFIG_MTD_UBI_DEBUG
#include <linux/random.h>
#include <linux/random.h>


#define dbg_err(fmt, ...) ubi_err(fmt, ##__VA_ARGS__)

#define ubi_assert(expr)  do {                                               \
#define ubi_assert(expr)  do {                                               \
	if (unlikely(!(expr))) {                                             \
	if (unlikely(!(expr))) {                                             \
		printk(KERN_CRIT "UBI assert failed in %s at %u (pid %d)\n", \
		printk(KERN_CRIT "UBI assert failed in %s at %u (pid %d)\n", \
@@ -42,62 +40,37 @@ struct ubi_mkvol_req;
	}                                                                    \
	}                                                                    \
} while (0)
} while (0)


#define dbg_msg(fmt, ...)                                    \
#define dbg_err(fmt, ...) ubi_err(fmt, ##__VA_ARGS__)
	printk(KERN_DEBUG "UBI DBG (pid %d): %s: " fmt "\n", \
	       current->pid, __func__, ##__VA_ARGS__)

#define dbg_do_msg(typ, fmt, ...) do {                       \
	if (ubi_msg_flags & typ)                             \
		dbg_msg(fmt, ##__VA_ARGS__);                 \
} while (0)


#define ubi_dbg_dump_stack() dump_stack()
#define ubi_dbg_dump_stack() dump_stack()


void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr);
void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr);
void ubi_dbg_dump_vol_info(const struct ubi_volume *vol);
void ubi_dbg_dump_vtbl_record(const struct ubi_vtbl_record *r, int idx);
void ubi_dbg_dump_sv(const struct ubi_scan_volume *sv);
void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type);
void ubi_dbg_dump_mkvol_req(const struct ubi_mkvol_req *req);
void ubi_dbg_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len);

extern unsigned int ubi_msg_flags;

/*
 * Debugging message type flags (must match msg_type_names in debug.c).
 *
 * UBI_MSG_GEN: general messages
 * UBI_MSG_EBA: journal messages
 * UBI_MSG_WL: mount messages
 * UBI_MSG_IO: commit messages
 * UBI_MSG_BLD: LEB find messages
 */
enum {
	UBI_MSG_GEN  = 0x1,
	UBI_MSG_EBA  = 0x2,
	UBI_MSG_WL   = 0x4,
	UBI_MSG_IO   = 0x8,
	UBI_MSG_BLD  = 0x10,
};

#define ubi_dbg_print_hex_dump(l, ps, pt, r, g, b, len, a)  \
#define ubi_dbg_print_hex_dump(l, ps, pt, r, g, b, len, a)  \
		print_hex_dump(l, ps, pt, r, g, b, len, a)
		print_hex_dump(l, ps, pt, r, g, b, len, a)


/* General debugging messages */
#define ubi_dbg_msg(type, fmt, ...) \
#define dbg_gen(fmt, ...) dbg_do_msg(UBI_MSG_GEN, fmt, ##__VA_ARGS__)
	pr_debug("UBI DBG " type ": " fmt "\n", ##__VA_ARGS__)


/* Just a debugging messages not related to any specific UBI subsystem */
#define dbg_msg(fmt, ...) ubi_dbg_msg("msg", fmt, ##__VA_ARGS__)
/* General debugging messages */
#define dbg_gen(fmt, ...) ubi_dbg_msg("gen", fmt, ##__VA_ARGS__)
/* Messages from the eraseblock association sub-system */
/* Messages from the eraseblock association sub-system */
#define dbg_eba(fmt, ...) dbg_do_msg(UBI_MSG_EBA, fmt, ##__VA_ARGS__)
#define dbg_eba(fmt, ...) ubi_dbg_msg("eba", fmt, ##__VA_ARGS__)

/* Messages from the wear-leveling sub-system */
/* Messages from the wear-leveling sub-system */
#define dbg_wl(fmt, ...) dbg_do_msg(UBI_MSG_WL, fmt, ##__VA_ARGS__)
#define dbg_wl(fmt, ...)  ubi_dbg_msg("wl", fmt, ##__VA_ARGS__)

/* Messages from the input/output sub-system */
/* Messages from the input/output sub-system */
#define dbg_io(fmt, ...) dbg_do_msg(UBI_MSG_IO, fmt, ##__VA_ARGS__)
#define dbg_io(fmt, ...)  ubi_dbg_msg("io", fmt, ##__VA_ARGS__)

/* Initialization and build messages */
/* Initialization and build messages */
#define dbg_bld(fmt, ...) dbg_do_msg(UBI_MSG_BLD, fmt, ##__VA_ARGS__)
#define dbg_bld(fmt, ...) ubi_dbg_msg("bld", fmt, ##__VA_ARGS__)

void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr);
void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr);
void ubi_dbg_dump_vol_info(const struct ubi_volume *vol);
void ubi_dbg_dump_vtbl_record(const struct ubi_vtbl_record *r, int idx);
void ubi_dbg_dump_sv(const struct ubi_scan_volume *sv);
void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type);
void ubi_dbg_dump_mkvol_req(const struct ubi_mkvol_req *req);
void ubi_dbg_dump_flash(struct ubi_device *ubi, int pnum, int offset, int len);


extern unsigned int ubi_chk_flags;
extern unsigned int ubi_chk_flags;


@@ -197,17 +170,17 @@ static inline int ubi_dbg_is_erase_failure(void)
		ubi_err(fmt, ##__VA_ARGS__);                                 \
		ubi_err(fmt, ##__VA_ARGS__);                                 \
} while (0)
} while (0)


#define dbg_msg(fmt, ...) do {                                               \
#define ubi_dbg_msg(fmt, ...) do {                                           \
	if (0)                                                               \
	if (0)                                                               \
		printk(KERN_DEBUG "UBI DBG (pid %d): %s: " fmt "\n",         \
		pr_debug(fmt "\n", ##__VA_ARGS__);                           \
		       current->pid, __func__, ##__VA_ARGS__);               \
} while (0)
} while (0)


#define dbg_gen(fmt, ...)  dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_msg(fmt, ...)  ubi_dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_eba(fmt, ...)  dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_gen(fmt, ...)  ubi_dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_wl(fmt, ...)   dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_eba(fmt, ...)  ubi_dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_io(fmt, ...)   dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_wl(fmt, ...)   ubi_dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_bld(fmt, ...)  dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_io(fmt, ...)   ubi_dbg_msg(fmt, ##__VA_ARGS__)
#define dbg_bld(fmt, ...)  ubi_dbg_msg(fmt, ##__VA_ARGS__)


static inline void ubi_dbg_dump_stack(void)                          { return; }
static inline void ubi_dbg_dump_stack(void)                          { return; }
static inline void
static inline void