Re: [PATCH v2] local64.h: make <asm/local64.h> mandatory

From: Geert Uytterhoeven
Date: Sun Dec 27 2020 - 08:05:58 EST


CC Arnd

On Sun, Dec 27, 2020 at 3:48 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> Make <asm-generic/local64.h> mandatory in include/asm-generic/Kbuild
> and remove all arch/*/include/asm/local64.h arch-specific files since
> they only #include <asm-generic/local64.h>.
>
> This fixes build errors on arch/c6x/ and arch/nios2/ for
> block/blk-iocost.c.
>
> Build-tested on 21 of 25 arch-es. (tools problems on the others)
>
> Yes, we could even rename <asm-generic/local64.h> to
> <linux/local64.h> and change all #includes to use
> <linux/local64.h> instead.
>
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Suggested-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> Cc: Jens Axboe <axboe@xxxxxxxxx>
> Cc: linux-block@xxxxxxxxxxxxxxx
> Cc: Ley Foon Tan <ley.foon.tan@xxxxxxxxx>
> Cc: Mark Salter <msalter@xxxxxxxxxx>
> Cc: Aurelien Jacquiot <jacquiot.aurelien@xxxxxxxxx>
> Cc: linux-c6x-dev@xxxxxxxxxxxxx
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
> Would some $maintainer please plan to apply/merge this.
>
> v2: instead of making local64.h a generic-y header file and adding it
> to the missing arch/ header locations, make it a mandotory-y header file
> and remove it from most arch/ header locations. (Christoph)
>
> arch/alpha/include/asm/local64.h | 1 -
> arch/arc/include/asm/Kbuild | 1 -
> arch/arm/include/asm/Kbuild | 1 -
> arch/arm64/include/asm/Kbuild | 1 -
> arch/csky/include/asm/Kbuild | 1 -
> arch/h8300/include/asm/Kbuild | 1 -
> arch/hexagon/include/asm/Kbuild | 1 -
> arch/ia64/include/asm/local64.h | 1 -
> arch/m68k/include/asm/Kbuild | 1 -
> arch/microblaze/include/asm/Kbuild | 1 -
> arch/mips/include/asm/Kbuild | 1 -
> arch/nds32/include/asm/Kbuild | 1 -
> arch/openrisc/include/asm/Kbuild | 1 -
> arch/parisc/include/asm/Kbuild | 1 -
> arch/powerpc/include/asm/Kbuild | 1 -
> arch/riscv/include/asm/Kbuild | 1 -
> arch/s390/include/asm/Kbuild | 1 -
> arch/sh/include/asm/Kbuild | 1 -
> arch/sparc/include/asm/Kbuild | 1 -
> arch/x86/include/asm/local64.h | 1 -
> arch/xtensa/include/asm/Kbuild | 1 -
> include/asm-generic/Kbuild | 1 +
> 22 files changed, 1 insertion(+), 21 deletions(-)
>
> --- linux-next-20201209.orig/include/asm-generic/Kbuild
> +++ linux-next-20201209/include/asm-generic/Kbuild
> @@ -34,6 +34,7 @@ mandatory-y += kmap_size.h
> mandatory-y += kprobes.h
> mandatory-y += linkage.h
> mandatory-y += local.h
> +mandatory-y += local64.h
> mandatory-y += mm-arch-hooks.h
> mandatory-y += mmiowb.h
> mandatory-y += mmu.h
> --- linux-next-20201209.orig/arch/arc/include/asm/Kbuild
> +++ linux-next-20201209/arch/arc/include/asm/Kbuild
> @@ -1,7 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += parport.h
> generic-y += user.h
> --- linux-next-20201209.orig/arch/arm64/include/asm/Kbuild
> +++ linux-next-20201209/arch/arm64/include/asm/Kbuild
> @@ -1,6 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> generic-y += early_ioremap.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += qrwlock.h
> generic-y += qspinlock.h
> --- linux-next-20201209.orig/arch/arm/include/asm/Kbuild
> +++ linux-next-20201209/arch/arm/include/asm/Kbuild
> @@ -2,7 +2,6 @@
> generic-y += early_ioremap.h
> generic-y += extable.h
> generic-y += flat.h
> -generic-y += local64.h
> generic-y += parport.h
>
> generated-y += mach-types.h
> --- linux-next-20201209.orig/arch/csky/include/asm/Kbuild
> +++ linux-next-20201209/arch/csky/include/asm/Kbuild
> @@ -2,7 +2,6 @@
> generic-y += asm-offsets.h
> generic-y += gpio.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += qrwlock.h
> generic-y += qspinlock.h
> --- linux-next-20201209.orig/arch/h8300/include/asm/Kbuild
> +++ linux-next-20201209/arch/h8300/include/asm/Kbuild
> @@ -2,7 +2,6 @@
> generic-y += asm-offsets.h
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += parport.h
> generic-y += spinlock.h
> --- linux-next-20201209.orig/arch/hexagon/include/asm/Kbuild
> +++ linux-next-20201209/arch/hexagon/include/asm/Kbuild
> @@ -2,5 +2,4 @@
> generic-y += extable.h
> generic-y += iomap.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> --- linux-next-20201209.orig/arch/m68k/include/asm/Kbuild
> +++ linux-next-20201209/arch/m68k/include/asm/Kbuild
> @@ -2,6 +2,5 @@
> generated-y += syscall_table.h
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += spinlock.h
> --- linux-next-20201209.orig/arch/microblaze/include/asm/Kbuild
> +++ linux-next-20201209/arch/microblaze/include/asm/Kbuild
> @@ -2,7 +2,6 @@
> generated-y += syscall_table.h
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += parport.h
> generic-y += syscalls.h
> --- linux-next-20201209.orig/arch/mips/include/asm/Kbuild
> +++ linux-next-20201209/arch/mips/include/asm/Kbuild
> @@ -6,7 +6,6 @@ generated-y += syscall_table_64_n64.h
> generated-y += syscall_table_64_o32.h
> generic-y += export.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += parport.h
> generic-y += qrwlock.h
> --- linux-next-20201209.orig/arch/nds32/include/asm/Kbuild
> +++ linux-next-20201209/arch/nds32/include/asm/Kbuild
> @@ -4,6 +4,5 @@ generic-y += cmpxchg.h
> generic-y += export.h
> generic-y += gpio.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += parport.h
> generic-y += user.h
> --- linux-next-20201209.orig/arch/openrisc/include/asm/Kbuild
> +++ linux-next-20201209/arch/openrisc/include/asm/Kbuild
> @@ -1,7 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += qspinlock_types.h
> generic-y += qspinlock.h
> --- linux-next-20201209.orig/arch/parisc/include/asm/Kbuild
> +++ linux-next-20201209/arch/parisc/include/asm/Kbuild
> @@ -3,6 +3,5 @@ generated-y += syscall_table_32.h
> generated-y += syscall_table_64.h
> generated-y += syscall_table_c32.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += user.h
> --- linux-next-20201209.orig/arch/powerpc/include/asm/Kbuild
> +++ linux-next-20201209/arch/powerpc/include/asm/Kbuild
> @@ -5,7 +5,6 @@ generated-y += syscall_table_c32.h
> generated-y += syscall_table_spu.h
> generic-y += export.h
> generic-y += kvm_types.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += qrwlock.h
> generic-y += vtime.h
> --- linux-next-20201209.orig/arch/riscv/include/asm/Kbuild
> +++ linux-next-20201209/arch/riscv/include/asm/Kbuild
> @@ -3,6 +3,5 @@ generic-y += early_ioremap.h
> generic-y += extable.h
> generic-y += flat.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += user.h
> generic-y += vmlinux.lds.h
> --- linux-next-20201209.orig/arch/s390/include/asm/Kbuild
> +++ linux-next-20201209/arch/s390/include/asm/Kbuild
> @@ -7,5 +7,4 @@ generated-y += unistd_nr.h
> generic-y += asm-offsets.h
> generic-y += export.h
> generic-y += kvm_types.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> --- linux-next-20201209.orig/arch/sh/include/asm/Kbuild
> +++ linux-next-20201209/arch/sh/include/asm/Kbuild
> @@ -1,6 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> generated-y += syscall_table.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += parport.h
> --- linux-next-20201209.orig/arch/sparc/include/asm/Kbuild
> +++ linux-next-20201209/arch/sparc/include/asm/Kbuild
> @@ -6,5 +6,4 @@ generated-y += syscall_table_64.h
> generated-y += syscall_table_c32.h
> generic-y += export.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> --- linux-next-20201209.orig/arch/xtensa/include/asm/Kbuild
> +++ linux-next-20201209/arch/xtensa/include/asm/Kbuild
> @@ -2,7 +2,6 @@
> generated-y += syscall_table.h
> generic-y += extable.h
> generic-y += kvm_para.h
> -generic-y += local64.h
> generic-y += mcs_spinlock.h
> generic-y += param.h
> generic-y += qrwlock.h
> --- linux-next-20201209.orig/arch/alpha/include/asm/local64.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include <asm-generic/local64.h>
> --- linux-next-20201209.orig/arch/ia64/include/asm/local64.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include <asm-generic/local64.h>
> --- linux-next-20201209.orig/arch/x86/include/asm/local64.h
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include <asm-generic/local64.h>