On 17/11/2020 16.42, Janosch Frank wrote: > Query/feature bits are commonly tested via MSB bit numbers on > s390. Let's add test bit functions, so we don't need to copy code to > test query bits. > > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> > --- > lib/s390x/asm/bitops.h | 16 ++++++++++++++++ > lib/s390x/asm/facility.h | 3 ++- > 2 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/lib/s390x/asm/bitops.h b/lib/s390x/asm/bitops.h > index e7cdda9..a272dd7 100644 > --- a/lib/s390x/asm/bitops.h > +++ b/lib/s390x/asm/bitops.h > @@ -7,4 +7,20 @@ > > #define BITS_PER_LONG 64 > > +static inline bool test_bit(unsigned long nr, > + const volatile unsigned long *ptr) > +{ > + const volatile unsigned char *addr; > + > + addr = ((const volatile unsigned char *)ptr); > + addr += (nr ^ (BITS_PER_LONG - 8)) >> 3; > + return (*addr >> (nr & 7)) & 1; > +} > + > +static inline bool test_bit_inv(unsigned long nr, > + const volatile unsigned long *ptr) > +{ > + return test_bit(nr ^ (BITS_PER_LONG - 1), ptr); > +} I think you should mention in the patch description that these functions match the implementations in the kernel (and thus are good for kernel developers who are used to these). Thus I think you should also now add a license statement to this file ("SPDX-License-Identifier: GPL-2.0" or so). With these modifications: Reviewed-by: Thomas Huth <thuth@xxxxxxxxxx>