Re: [PATCH] printk: Make printk_emit() local function.

From: Petr Mladek
Date: Fri Nov 23 2018 - 07:24:10 EST


On Thu 2018-11-22 23:59:28, Tetsuo Handa wrote:
> printk_emit() is called from only devkmsg_write() in the same file.
> Save object size by making it a local function.
>
> Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
> ---
> include/linux/printk.h | 5 -----
> kernel/printk/printk.c | 31 +++++++++++++++----------------
> 2 files changed, 15 insertions(+), 21 deletions(-)
>
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -752,6 +752,20 @@ struct devkmsg_user {
> char buf[CONSOLE_EXT_LOG_MAX];
> };
>
> +static __printf(3, 4) __cold int devkmsg_emit(int facility, int level,
> + const char *fmt, ...);

There is no need for the forward declaration. __printf(3, 4)
and __cold could be part of the function definition.
Or do I miss anything?

> +static int devkmsg_emit(int facility, int level, const char *fmt, ...)
> +{
> + va_list args;
> + int r;
> +
> + va_start(args, fmt);
> + r = vprintk_emit(facility, level, NULL, 0, fmt, args);
> + va_end(args);
> +
> + return r;
> +}
> +

Otherwise, the patch makes sense. I like that it removes one
useless EXPORT_SYMBOL().

Best Regards,
Petr