diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2024-05-07 23:01:31 +0300 |
---|---|---|
committer | Yury Norov <yury.norov@gmail.com> | 2024-05-20 02:12:38 +0300 |
commit | 9f2c2d6ba13da08643c65b948ce5e3d616864c47 (patch) | |
tree | ed722d46a1e9847db51651fff6aac385a9ba0e73 /include/linux/wordpart.h | |
parent | fe708f915541b0b7b9ba066f73007fde69a0d2ea (diff) | |
download | linux-9f2c2d6ba13da08643c65b948ce5e3d616864c47.tar.xz |
bitops: Move aligned_byte_mask() to wordpart.h
The bitops.h is for bit related operations. The aligned_byte_mask()
is about byte (or part of the machine word) operations, for which
we have a separate header, move the mentioned macro to wordpart.h
to consolidate similar operations.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Diffstat (limited to 'include/linux/wordpart.h')
-rw-r--r-- | include/linux/wordpart.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/wordpart.h b/include/linux/wordpart.h index f6f8f83b15b0..4ca1ba66d2f0 100644 --- a/include/linux/wordpart.h +++ b/include/linux/wordpart.h @@ -39,4 +39,11 @@ */ #define REPEAT_BYTE(x) ((~0ul / 0xff) * (x)) +/* Set bits in the first 'n' bytes when loaded from memory */ +#ifdef __LITTLE_ENDIAN +# define aligned_byte_mask(n) ((1UL << 8*(n))-1) +#else +# define aligned_byte_mask(n) (~0xffUL << (BITS_PER_LONG - 8 - 8*(n))) +#endif + #endif // _LINUX_WORDPART_H |