Re: [PATCH v4] mtd: ubi: Extend UBI layer debug/messaging capabilities

Ezequiel Garcia
2014-10-14T14:40:51Z

On 14 Oct 05:13 PM, Tanya Brokhman wrote:
> diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c
> index 8876c7d..3532f8a 100644
> --- a/drivers/mtd/ubi/block.c
> +++ b/drivers/mtd/ubi/block.c
> @@ -111,12 +111,12 @@ static int __init ubiblock_set_param(const char *val,
>
> len = strnlen(val, UBIBLOCK_PARAM_LEN);
> if (len == 0) {
> - ubi_warn("block: empty 'block=' parameter - ignored\n");
> + pr_warn("block: empty 'block=' parameter - ignored\n");

No, this is wrong. The message should say something like "UBI: block", or
otherwise the user will think this comes from the block subsystem.

Please use some pr_fmt for this. Something like this before the headers
should be enough:

#define pr_fmt(fmt) "UBI: block:" fmt

You can then use pr_{info,warn,err} without the prefix like this:

pr_info("whatever");

Which prints "UBI: block: whatever".

See arch/arm/kernel/perf_event.c for an example of how this works.

Also:

> if (len == UBIBLOCK_PARAM_LEN) {
> - ubi_err("block: parameter \"%s\" is too long, max. is %d\n",
> + pr_warn("block: parameter \"%s\" is too long, max. is %d\n",
> val, UBIBLOCK_PARAM_LEN);
> return -EINVAL;
> }

Please replace the level properly ubi_err -> pr_err, ubi_warn -> pr_warn, etc.
--
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering