Re: [PATCH 3/3] ia64: remove generated/nr-irqs.h generation to fix build warning

From: Randy Dunlap
Date: Sat Aug 29 2020 - 14:22:42 EST


On 8/28/20 10:15 PM, Masahiro Yamada wrote:
> Randy reports the following warning when building ARCH=ia64 with
> CONFIG_IA64_PALINFO=m:
>
> ../scripts/Makefile.build:68: 'arch/ia64/kernel/palinfo.ko' will not be built even though obj-m is specified.
> ../scripts/Makefile.build:69: You cannot use subdir-y/m to visit a module Makefile. Use obj-y/m instead.
>
> This message is actually false-positive, and you can get palinfo.ko
> correctly built. It is emitted in the archprepare stage, where Kbuild
> descends into arch/ia64/kernel to generate include/generated/nr-irqs.h
> instead of any kind of kernel objects.
>
> arch/ia64/kernel/nr-irqs.c was introduced by commit 213060a4d699
> ("[IA64] pvops: paravirtualize NR_IRQS") to pre-calculate:
>
> NR_IRQS = max(IA64_NATIVE_NR_IRQS, XEN_NR_IRQS, FOO_NR_IRQS...)
>
> Since commit d52eefb47d4e ("ia64/xen: Remove Xen support for ia64"), this
> union contains just one field, making NR_IRQS and IA64_NATIVE_NR_IRQS
> always match.
>
> So, the following hard-coding now works:
>
> #define NR_IRQS IA64_NATIVE_NR_IRQS
>
> If you need to re-introduce NR_IRQS = max(...) gimmick in the future,
> please try to implement it in asm-offsets.c instead of a separate file.
> It will be possible because the header inclusion has been consolidated
> to make asm-offsets.c independent of <asm/irqs.h>.
>
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

> ---
>
> arch/ia64/Makefile | 6 ------
> arch/ia64/include/asm/irq.h | 4 +++-
> arch/ia64/kernel/Makefile | 5 -----
> arch/ia64/kernel/nr-irqs.c | 22 ----------------------
> 4 files changed, 3 insertions(+), 34 deletions(-)
> delete mode 100644 arch/ia64/kernel/nr-irqs.c
>


thanks.
--
~Randy