| From foo@baz Tue Nov 8 09:07:39 AM CET 2022 |
| From: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Date: Tue, 10 Apr 2018 16:36:15 -0700 |
| Subject: linux/const.h: prefix include guard of uapi/linux/const.h with _UAPI |
| |
| From: Masahiro Yamada <yamada.masahiro@socionext.com> |
| |
| commit 2a6cc8a6c0cb44baf7df2f64e5090aaf726002c3 upstream. |
| |
| Patch series "linux/const.h: cleanups of macros such as UL(), _BITUL(), |
| BIT() etc", v3. |
| |
| ARM, ARM64, UniCore32 define UL() as a shorthand of _AC(..., UL). More |
| architectures may introduce it in the future. |
| |
| UL() is arch-agnostic, and useful. So let's move it to |
| include/linux/const.h |
| |
| Currently, <asm/memory.h> must be included to use UL(). It pulls in more |
| bloats just for defining some bit macros. |
| |
| I posted V2 one year ago. |
| |
| The previous posts are: |
| https://patchwork.kernel.org/patch/9498273/ |
| https://patchwork.kernel.org/patch/9498275/ |
| https://patchwork.kernel.org/patch/9498269/ |
| https://patchwork.kernel.org/patch/9498271/ |
| |
| At that time, what blocked this series was a comment from |
| David Howells: |
| You need to be very careful doing this. Some userspace stuff |
| depends on the guard macro names on the kernel header files. |
| |
| (https://patchwork.kernel.org/patch/9498275/) |
| |
| Looking at the code closer, I noticed this is not a problem. |
| |
| See the following line. |
| https://github.com/torvalds/linux/blob/v4.16-rc2/scripts/headers_install.sh#L40 |
| |
| scripts/headers_install.sh rips off _UAPI prefix from guard macro names. |
| |
| I ran "make headers_install" and confirmed the result is what I expect. |
| |
| So, we can prefix the include guard of include/uapi/linux/const.h, |
| and add a new include/linux/const.h. |
| |
| This patch (of 4): |
| |
| I am going to add include/linux/const.h for the kernel space. |
| |
| Add _UAPI to the include guard of include/uapi/linux/const.h to |
| prepare for that. |
| |
| Please notice the guard name of the exported one will be kept as-is. |
| So, this commit has no impact to the userspace even if some userspace |
| stuff depends on the guard macro names. |
| |
| scripts/headers_install.sh processes exported headers by SED, and |
| rips off "_UAPI" from guard macro names. |
| |
| #ifndef _UAPI_LINUX_CONST_H |
| #define _UAPI_LINUX_CONST_H |
| |
| will be turned into |
| |
| #ifndef _LINUX_CONST_H |
| #define _LINUX_CONST_H |
| |
| Link: http://lkml.kernel.org/r/1519301715-31798-2-git-send-email-yamada.masahiro@socionext.com |
| Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> |
| Cc: David Howells <dhowells@redhat.com> |
| Cc: Will Deacon <will.deacon@arm.com> |
| Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> |
| Cc: Geert Uytterhoeven <geert@linux-m68k.org> |
| Cc: Catalin Marinas <catalin.marinas@arm.com> |
| Cc: Russell King <rmk+kernel@armlinux.org.uk> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| [nd: resolve trivial conflict due to b732e14e6218b being backported before this] |
| Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/uapi/linux/const.h | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- a/include/uapi/linux/const.h |
| +++ b/include/uapi/linux/const.h |
| @@ -1,8 +1,8 @@ |
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| /* const.h: Macros for dealing with constants. */ |
| |
| -#ifndef _LINUX_CONST_H |
| -#define _LINUX_CONST_H |
| +#ifndef _UAPI_LINUX_CONST_H |
| +#define _UAPI_LINUX_CONST_H |
| |
| /* Some constant macros are used in both assembler and |
| * C code. Therefore we cannot annotate them always with |
| @@ -30,4 +30,4 @@ |
| |
| #define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) |
| |
| -#endif /* !(_LINUX_CONST_H) */ |
| +#endif /* _UAPI_LINUX_CONST_H */ |