Re: [PATCH v1 1/3] types: Complement the aligned types with signed 64-bit one

From: Jonathan Cameron
Date: Mon Aug 28 2023 - 12:11:07 EST


On Tue, 15 Aug 2023 18:40:25 +0300
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:

> Some user may want to use aligned signed 64-bit type.
> Provide it for them.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Excellent. I'll pick this up once the minor things in the first two
users are resolved (as long as no one argues we shouldn't have this
for some reason!)

Jonathan

> ---
> include/linux/types.h | 3 ++-
> include/uapi/linux/types.h | 1 +
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/types.h b/include/linux/types.h
> index 253168bb3fe1..78d87c751ff5 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -115,8 +115,9 @@ typedef u64 u_int64_t;
> typedef s64 int64_t;
> #endif
>
> -/* this is a special 64bit data type that is 8-byte aligned */
> +/* These are the special 64-bit data types that are 8-byte aligned */
> #define aligned_u64 __aligned_u64
> +#define aligned_s64 __aligned_s64
> #define aligned_be64 __aligned_be64
> #define aligned_le64 __aligned_le64
>
> diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
> index 6375a0684052..48b933938877 100644
> --- a/include/uapi/linux/types.h
> +++ b/include/uapi/linux/types.h
> @@ -53,6 +53,7 @@ typedef __u32 __bitwise __wsum;
> * No conversions are necessary between 32-bit user-space and a 64-bit kernel.
> */
> #define __aligned_u64 __u64 __attribute__((aligned(8)))
> +#define __aligned_s64 __s64 __attribute__((aligned(8)))
> #define __aligned_be64 __be64 __attribute__((aligned(8)))
> #define __aligned_le64 __le64 __attribute__((aligned(8)))
>