On Fri, Nov 01, 2024 at 04:22:57PM +0000, Suravee Suthikulpanit wrote: > include/asm-generic/rwonce.h | 2 +- > include/linux/compiler_types.h | 8 +++++++- > 2 files changed, 8 insertions(+), 2 deletions(-) This patch needs Cc: Arnd Bergmann <arnd@xxxxxxxx> linux-arch@xxxxxxxxxxxxxxx > > diff --git a/include/asm-generic/rwonce.h b/include/asm-generic/rwonce.h > index 8d0a6280e982..8bf942ad5ef3 100644 > --- a/include/asm-generic/rwonce.h > +++ b/include/asm-generic/rwonce.h > @@ -33,7 +33,7 @@ > * (e.g. a virtual address) and a strong prevailing wind. > */ > #define compiletime_assert_rwonce_type(t) \ > - compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ > + compiletime_assert(__native_word(t) || sizeof(t) == sizeof(__dword_type), \ > "Unsupported access size for {READ,WRITE}_ONCE().") > > /* > diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h > index 1a957ea2f4fe..54b56ae25db7 100644 > --- a/include/linux/compiler_types.h > +++ b/include/linux/compiler_types.h > @@ -469,6 +469,12 @@ struct ftrace_likely_data { > unsigned type: (unsigned type)0, \ > signed type: (signed type)0 > > +#ifdef __SIZEOF_INT128__ > +#define __dword_type __int128 > +#else > +#define __dword_type long long > +#endif > + > #define __unqual_scalar_typeof(x) typeof( \ > _Generic((x), \ > char: (char)0, \ > @@ -476,7 +482,7 @@ struct ftrace_likely_data { > __scalar_type_to_expr_cases(short), \ > __scalar_type_to_expr_cases(int), \ > __scalar_type_to_expr_cases(long), \ > - __scalar_type_to_expr_cases(long long), \ > + __scalar_type_to_expr_cases(__dword_type), \ > default: (x))) > > /* Is this type a native word size -- useful for atomic operations */ > -- > 2.34.1 >