/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_WORDPART_H #define _LINUX_WORDPART_H /** * upper_32_bits - return bits 32-63 of a number * @n: the number we're accessing * * A basic shift-right of a 64- or 32-bit quantity. Use this to suppress * the "right shift count >= width of type" warning when that quantity is * 32-bits. */ #define upper_32_bits(n) … /** * lower_32_bits - return bits 0-31 of a number * @n: the number we're accessing */ #define lower_32_bits(n) … /** * upper_16_bits - return bits 16-31 of a number * @n: the number we're accessing */ #define upper_16_bits(n) … /** * lower_16_bits - return bits 0-15 of a number * @n: the number we're accessing */ #define lower_16_bits(n) … /** * REPEAT_BYTE - repeat the value @x multiple times as an unsigned long value * @x: value to repeat * * NOTE: @x is not checked for > 0xff; larger values produce odd results. */ #define REPEAT_BYTE(x) … /** * REPEAT_BYTE_U32 - repeat the value @x multiple times as a u32 value * @x: value to repeat * * NOTE: @x is not checked for > 0xff; larger values produce odd results. */ #define REPEAT_BYTE_U32(x) … /* Set bits in the first 'n' bytes when loaded from memory */ #ifdef __LITTLE_ENDIAN #define aligned_byte_mask(n) … #else #define aligned_byte_mask … #endif #endif // _LINUX_WORDPART_H