Re: [PATCH v1 1/1] delay: Replace kernel.h with the necessary inclusions

From: Andy Shevchenko
Date: Thu Oct 28 2021 - 11:58:38 EST


On Thu, Oct 28, 2021 at 08:30:55AM -0700, Guenter Roeck wrote:
> On Wed, Oct 27, 2021 at 06:03:24PM +0300, Andy Shevchenko wrote:
> > When kernel.h is used in the headers it adds a lot into dependency hell,
> > especially when there are circular dependencies are involved.
> >
> > Replace kernel.h inclusion with the list of what is really being used.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>
> In next-20211028:
>
> Building riscv32:defconfig ... failed
> --------------
> Error log:
> arch/riscv/lib/delay.c: In function '__delay':
> arch/riscv/lib/delay.c:77:17: error: implicit declaration of function 'cpu_relax'
>
> Building riscv:defconfig ... failed
> --------------
> Error log:
> arch/riscv/lib/delay.c: In function '__delay':
> arch/riscv/lib/delay.c:77:17: error: implicit declaration of function 'cpu_relax'
>
> Building s390:defconfig ... failed
> --------------
> Error log:
> <stdin>:1559:2: warning: #warning syscall futex_waitv not implemented [-Wcpp]
> In file included from arch/s390/pci/pci_insn.c:12:
> arch/s390/include/asm/facility.h: In function '__stfle':
> arch/s390/include/asm/facility.h:98:22: error: implicit declaration of function 'min_t'
>
> bisect to this patch. Probably more, but it is difficult to find out
> since -next is too badly broken and has build failures all over the place.

Thanks for the report!

I have run it on x86_64 with `kcbench -m ...` and no failures.

Can you share all build errors you found so far? I believe none of them related
to x86* code.

Above just revealed the problematic places in the first place. Why the
programmers rely on delay.h to include full bloated header pile?! (Yeah, this
is rhetorical, so please share the errors, I'll try to address them)

--
With Best Regards,
Andy Shevchenko