From: Masahiro Yamada <yamada.masahiro@socionext.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: "H . Peter Anvin" <hpa@zytor.com>, Arnd Bergmann <arnd@arndb.de>, David Howells <dhowells@redhat.com>, x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>, Russell King <linux@armlinux.org.uk>, Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>, Ingo Molnar <mingo@redhat.com>, Will Deacon <will.deacon@arm.com>, Mark Rutland <mark.rutland@arm.com>, Olof Johansson <olof@lixom.net>, Catalin Marinas <catalin.marinas@arm.com>, linux-arm-kernel@lists.infradead.org, Masahiro Yamada <yamada.masahiro@socionext.com>, Guoqing Jiang <gqjiang@suse.com>, linux-kernel@vger.kernel.org, zijun_hu <zijun_hu@htc.com>, Guan Xuetao <gxt@mprc.pku.edu.cn>, Shaohua Li <shli@fb.com> Subject: [PATCH v2 4/4] linux/const.h: move BIT(_ULL) to linux/const.h for use in assembly Date: Thu, 5 Jan 2017 11:20:09 +0900 [thread overview] Message-ID: <1483582810-7046-5-git-send-email-yamada.masahiro@socionext.com> (raw) In-Reply-To: <1483582810-7046-1-git-send-email-yamada.masahiro@socionext.com> Commit 2fc016c5bd8a ("linux/const.h: Add _BITUL() and _BITULL()") introduced _BITUL() and _BITULL(). Its git-log says the difference from the already existing BIT() are: 1. The namespace is such that they can be used in uapi definitions. 2. The type is set with the _AC() macro to allow it to be used in assembly. 3. The type is explicitly specified to be UL or ULL. However, I found _BITUL() is often used for "2. use in assembly", while "1. use in uapi" is unneeded. If we address only "2.", we can improve the existing BIT() for that. It will allow us to replace many _BITUL() instances with BIT(), i.e. avoid needless use of underscore-prefixed macros, in the end, for better de-couple of userspace/kernel headers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Changes in v2: None include/linux/bitops.h | 3 +-- include/linux/const.h | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index a83c822..5f45fa5 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -1,10 +1,9 @@ #ifndef _LINUX_BITOPS_H #define _LINUX_BITOPS_H +#include <linux/const.h> #include <asm/types.h> #ifdef __KERNEL__ -#define BIT(nr) (1UL << (nr)) -#define BIT_ULL(nr) (1ULL << (nr)) #define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG)) #define BIT_WORD(nr) ((nr) / BITS_PER_LONG) #define BIT_ULL_MASK(nr) (1ULL << ((nr) % BITS_PER_LONG_LONG)) diff --git a/include/linux/const.h b/include/linux/const.h index 7b55a55..200892d 100644 --- a/include/linux/const.h +++ b/include/linux/const.h @@ -6,4 +6,7 @@ #define UL(x) (_UL(x)) #define ULL(x) (_ULL(x)) +#define BIT(x) (_BITUL(x)) +#define BIT_ULL(x) (_BITULL(x)) + #endif /* _LINUX_CONST_H */ -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: yamada.masahiro@socionext.com (Masahiro Yamada) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 4/4] linux/const.h: move BIT(_ULL) to linux/const.h for use in assembly Date: Thu, 5 Jan 2017 11:20:09 +0900 [thread overview] Message-ID: <1483582810-7046-5-git-send-email-yamada.masahiro@socionext.com> (raw) In-Reply-To: <1483582810-7046-1-git-send-email-yamada.masahiro@socionext.com> Commit 2fc016c5bd8a ("linux/const.h: Add _BITUL() and _BITULL()") introduced _BITUL() and _BITULL(). Its git-log says the difference from the already existing BIT() are: 1. The namespace is such that they can be used in uapi definitions. 2. The type is set with the _AC() macro to allow it to be used in assembly. 3. The type is explicitly specified to be UL or ULL. However, I found _BITUL() is often used for "2. use in assembly", while "1. use in uapi" is unneeded. If we address only "2.", we can improve the existing BIT() for that. It will allow us to replace many _BITUL() instances with BIT(), i.e. avoid needless use of underscore-prefixed macros, in the end, for better de-couple of userspace/kernel headers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Changes in v2: None include/linux/bitops.h | 3 +-- include/linux/const.h | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index a83c822..5f45fa5 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -1,10 +1,9 @@ #ifndef _LINUX_BITOPS_H #define _LINUX_BITOPS_H +#include <linux/const.h> #include <asm/types.h> #ifdef __KERNEL__ -#define BIT(nr) (1UL << (nr)) -#define BIT_ULL(nr) (1ULL << (nr)) #define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG)) #define BIT_WORD(nr) ((nr) / BITS_PER_LONG) #define BIT_ULL_MASK(nr) (1ULL << ((nr) % BITS_PER_LONG_LONG)) diff --git a/include/linux/const.h b/include/linux/const.h index 7b55a55..200892d 100644 --- a/include/linux/const.h +++ b/include/linux/const.h @@ -6,4 +6,7 @@ #define UL(x) (_UL(x)) #define ULL(x) (_ULL(x)) +#define BIT(x) (_BITUL(x)) +#define BIT_ULL(x) (_BITULL(x)) + #endif /* _LINUX_CONST_H */ -- 2.7.4
next prev parent reply other threads:[~2017-01-05 2:24 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-05 2:20 [PATCH v2 0/4] linux/const.h: cleanups of macros such as UL(), _BITUL(), BIT() etc Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada 2017-01-05 2:20 ` [PATCH v2 1/4] m68k: rename UL() to TO_UL() Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada 2017-01-05 2:20 ` [PATCH v2 2/4] linux/const.h: move UL() macro to include/linux/const.h Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada 2017-01-05 11:18 ` Catalin Marinas 2017-01-05 11:18 ` Catalin Marinas 2017-01-05 11:24 ` Russell King - ARM Linux 2017-01-05 11:24 ` Russell King - ARM Linux 2017-01-05 2:20 ` [PATCH v2 3/4] linux/const.h: refactor _BITUL and _BITULL a bit Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada 2017-01-05 2:20 ` Masahiro Yamada [this message] 2017-01-05 2:20 ` [PATCH v2 4/4] linux/const.h: move BIT(_ULL) to linux/const.h for use in assembly Masahiro Yamada 2017-01-06 10:45 ` [PATCH v2 2/4] linux/const.h: move UL() macro to include/linux/const.h David Howells 2017-01-06 10:45 ` David Howells 2017-01-08 6:27 ` Masahiro Yamada 2017-01-08 6:27 ` Masahiro Yamada
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1483582810-7046-5-git-send-email-yamada.masahiro@socionext.com \ --to=yamada.masahiro@socionext.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=catalin.marinas@arm.com \ --cc=dhowells@redhat.com \ --cc=gqjiang@suse.com \ --cc=gxt@mprc.pku.edu.cn \ --cc=hpa@zytor.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mark.rutland@arm.com \ --cc=mingo@redhat.com \ --cc=olof@lixom.net \ --cc=shli@fb.com \ --cc=srinivas.pandruvada@linux.intel.com \ --cc=tglx@linutronix.de \ --cc=will.deacon@arm.com \ --cc=x86@kernel.org \ --cc=zijun_hu@htc.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.