[U-Boot] [PATCH v3 05/16] include: kernel.h: include printk.h
AKASHI Takahiro
takahiro.akashi at linaro.org
Wed Nov 27 01:02:05 UTC 2019
Heinrich,
On Tue, Nov 26, 2019 at 04:35:00AM +0100, Heinrich Schuchardt wrote:
> On 11/13/19 1:44 AM, AKASHI Takahiro wrote:
> >Adding "printk.h" will help improve portability from linux kernel
> >code (in my case, lib/asn1_decoder.c and others) where printf and
>
> nits:
>
> %s/printf/printk/g
Okay.
> You anyway change the includes in lib/crypto/public_key.c in patch 12/16
> and lib/asn1_decoder in patch 09/16. So why not add linux/printk.h there?
I would rather disagree here as I have good reasons.
First, adding "printk.h" to "linux/kernel.h" makes sense simply as
Linux's original "linux/kernel.h" also has it. So when you will import
any files from linux in the future, you will probably get *less* bothered
with missing include files in .c file.
Second, I would like to change linux code at the very minimum if possible.
In lib/crypto/public_key.c, for example, I simply deleted not-used and
non-existing include files or just replaced any with its counterpart
in U-Boot (module.h -> compat.h).
> Otherwise I would expect this patch to remove #include <linux/printk.h>
> in all files where it becomes obsolete due to this patch, e.g.
>
> board/synopsys/hsdk/hsdk.c
> arch/arm/mach-uniphier/fdt-fixup.c
> arch/arm/mach-uniphier/dram_init.c
> arch/arm/mach-uniphier/arm32/psci.c
> arch/arm/mach-uniphier/dram/ddrphy-training.c
I don't fully understand that why those files include "linux/kernel.h".
Different source files may include "linux/kernel.h" for different reasons.
Take board/synopsys/hsdk/hsdk.c, for example.
It uses ARRAY_SIZE macro for its convenience, *not* for printk.
I believe that including any include files *directly & explicitly* for
its own use of any definitions or functions is a good practice
even if such include files may be included *indirectly* via another include
file.
So I want to keep this patch unchanged.
-Takahiro Akashi
> Best regards
>
> Heinrich
>
> >pr_* variant functions are used.
> >
> >Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
> >---
> > include/linux/kernel.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> >index 5c7e5f635b1a..564819a1c0a7 100644
> >--- a/include/linux/kernel.h
> >+++ b/include/linux/kernel.h
> >@@ -1,8 +1,8 @@
> > #ifndef _LINUX_KERNEL_H
> > #define _LINUX_KERNEL_H
> >
> >-
> > #include <linux/types.h>
> >+#include <linux/printk.h> /* for printf/pr_* utilities */
> >
> > #define USHRT_MAX ((u16)(~0U))
> > #define SHRT_MAX ((s16)(USHRT_MAX>>1))
> >
>
More information about the U-Boot
mailing list