From: Alexander Lobakin <aleksander.lobakin@intel.com>
To: Yury Norov <yury.norov@gmail.com>
Cc: Alexander Lobakin <aleksander.lobakin@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Alexander Potapenko <glider@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
netdev@vger.kernel.org, linux-btrfs@vger.kernel.org,
dm-devel@redhat.com, ntfs3@lists.linux.dev,
linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v3 08/11] tools: move alignment-related macros to new <linux/align.h>
Date: Mon, 13 Nov 2023 18:37:14 +0100 [thread overview]
Message-ID: <20231113173717.927056-9-aleksander.lobakin@intel.com> (raw)
In-Reply-To: <20231113173717.927056-1-aleksander.lobakin@intel.com>
Currently, tools have *ALIGN*() macros scattered across the unrelated
headers, as there are only 3 of them and they were added separately
each time on an as-needed basis.
Anyway, let's make it more consistent with the kernel headers and allow
using those macros outside of the mentioned headers. Create
<linux/align.h> inside the tools/ folder and include it where needed.
Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
---
tools/include/linux/align.h | 11 +++++++++++
tools/include/linux/bitmap.h | 2 +-
tools/include/linux/mm.h | 5 +----
3 files changed, 13 insertions(+), 5 deletions(-)
create mode 100644 tools/include/linux/align.h
diff --git a/tools/include/linux/align.h b/tools/include/linux/align.h
new file mode 100644
index 000000000000..62e5582bbb1f
--- /dev/null
+++ b/tools/include/linux/align.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _TOOLS_LINUX_ALIGN_H
+#define _TOOLS_LINUX_ALIGN_H
+
+#include <uapi/linux/const.h>
+
+#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
+#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
+#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
+
+#endif /* _TOOLS_LINUX_ALIGN_H */
diff --git a/tools/include/linux/bitmap.h b/tools/include/linux/bitmap.h
index f3566ea0f932..8c6852dba04f 100644
--- a/tools/include/linux/bitmap.h
+++ b/tools/include/linux/bitmap.h
@@ -3,6 +3,7 @@
#define _TOOLS_LINUX_BITMAP_H
#include <string.h>
+#include <linux/align.h>
#include <linux/bitops.h>
#include <linux/find.h>
#include <stdlib.h>
@@ -126,7 +127,6 @@ static inline bool bitmap_and(unsigned long *dst, const unsigned long *src1,
#define BITMAP_MEM_ALIGNMENT (8 * sizeof(unsigned long))
#endif
#define BITMAP_MEM_MASK (BITMAP_MEM_ALIGNMENT - 1)
-#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
static inline bool bitmap_equal(const unsigned long *src1,
const unsigned long *src2, unsigned int nbits)
diff --git a/tools/include/linux/mm.h b/tools/include/linux/mm.h
index f3c82ab5b14c..7a6b98f4e579 100644
--- a/tools/include/linux/mm.h
+++ b/tools/include/linux/mm.h
@@ -2,8 +2,8 @@
#ifndef _TOOLS_LINUX_MM_H
#define _TOOLS_LINUX_MM_H
+#include <linux/align.h>
#include <linux/mmzone.h>
-#include <uapi/linux/const.h>
#define PAGE_SHIFT 12
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
@@ -11,9 +11,6 @@
#define PHYS_ADDR_MAX (~(phys_addr_t)0)
-#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
-#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
-
#define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
#define __va(x) ((void *)((unsigned long)(x)))
--
2.41.0
next prev parent reply other threads:[~2023-11-13 17:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-13 17:37 [PATCH v3 00/11] bitmap: prereqs for ip_tunnel flags conversion Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 01/11] bitops: add missing prototype check Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 02/11] bitops: make BYTES_TO_BITS() treewide-available Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 03/11] bitops: let the compiler optimize {__,}assign_bit() Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 04/11] linkmode: convert linkmode_{test,set,clear,mod}_bit() to macros Alexander Lobakin
2023-11-13 19:08 ` Andrew Lunn
2023-11-13 17:37 ` [PATCH v3 05/11] s390/cio: rename bitmap_size() -> idset_bitmap_size() Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 06/11] fs/ntfs3: add prefix to bitmap_size() and use BITS_TO_U64() Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 07/11] btrfs: rename bitmap_set_bits() -> btrfs_bitmap_set_bits() Alexander Lobakin
2023-11-14 0:48 ` Anand Jain
2023-11-13 17:37 ` Alexander Lobakin [this message]
2023-11-13 17:37 ` [PATCH v3 09/11] bitmap: introduce generic optimized bitmap_size() Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 10/11] bitmap: make bitmap_{get,set}_value8() use bitmap_{read,write}() Alexander Lobakin
2023-11-13 17:37 ` [PATCH v3 11/11] lib/bitmap: add compile-time test for __assign_bit() optimization Alexander Lobakin
2023-11-20 11:04 ` [PATCH v3 00/11] bitmap: prereqs for ip_tunnel flags conversion Alexander Lobakin
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=20231113173717.927056-9-aleksander.lobakin@intel.com \
--to=aleksander.lobakin@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dm-devel@redhat.com \
--cc=glider@google.com \
--cc=kuba@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=netdev@vger.kernel.org \
--cc=ntfs3@lists.linux.dev \
--cc=przemyslaw.kitszel@intel.com \
--cc=yury.norov@gmail.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®