Re: [PATCH v2 1/2] modpost: rework and consolidate logging interface

From: Masahiro Yamada
Date: Tue Mar 03 2020 - 10:24:22 EST


On Wed, Feb 26, 2020 at 11:26 PM Jessica Yu <jeyu@xxxxxxxxxx> wrote:
>
> Rework modpost's logging interface by consolidating merror(), warn(),
> and fatal() to use a single function, modpost_log(). Introduce different
> logging levels (WARN, ERROR, FATAL) as well as a conditional warn
> (warn_unless()). The conditional warn is useful in determining whether
> to use merror() or warn() based on a condition. This reduces code
> duplication overall.
>
> Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>
> ---
> v2:
> - modpost_log: initialize level to ""
> - remove parens () from case labels
>
> scripts/mod/modpost.c | 69 +++++++++++++++++++++++----------------------------
> scripts/mod/modpost.h | 22 +++++++++++++---
> 2 files changed, 50 insertions(+), 41 deletions(-)
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 7edfdb2f4497..3201a2ac5cc4 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -51,41 +51,37 @@ enum export {
>
> #define MODULE_NAME_LEN (64 - sizeof(Elf_Addr))
>
> -#define PRINTF __attribute__ ((format (printf, 1, 2)))
> +#define PRINTF __attribute__ ((format (printf, 2, 3)))
>
> -PRINTF void fatal(const char *fmt, ...)
> +PRINTF void modpost_log(enum loglevel loglevel, const char *fmt, ...)
> {
> + char *level = "";
> va_list arglist;
>
> - fprintf(stderr, "FATAL: ");
> -
> - va_start(arglist, fmt);
> - vfprintf(stderr, fmt, arglist);
> - va_end(arglist);
> -
> - exit(1);
> -}
> -
> -PRINTF void warn(const char *fmt, ...)
> -{
> - va_list arglist;
> + switch(loglevel) {


One nit:

Please insert a space after 'switch'.

I see this checkpatch error:

ERROR: space required before the open parenthesis '('
#102: FILE: scripts/mod/modpost.c:61:
+ switch(loglevel) {




--
Best Regards
Masahiro Yamada