On May 7, 2020 12:44:44 AM PDT, David Laight <David.Laight@xxxxxxxxxx> wrote: >From: Brian Gerst >> Sent: 07 May 2020 07:18 >... >> > --- a/arch/x86/include/asm/bitops.h >> > +++ b/arch/x86/include/asm/bitops.h >> > @@ -54,7 +54,7 @@ arch_set_bit(long nr, volatile unsigned long >*addr) >> > if (__builtin_constant_p(nr)) { >> > asm volatile(LOCK_PREFIX "orb %1,%0" >> > : CONST_MASK_ADDR(nr, addr) >> > - : "iq" (CONST_MASK(nr) & 0xff) >> > + : "iq" ((u8)(CONST_MASK(nr) & 0xff)) >> >> I think a better fix would be to make CONST_MASK() return a u8 value >> rather than have to cast on every use. > >Or assign to a local variable - then it doesn't matter how >the value is actually calculated. So: > u8 mask = CONST_MASK(nr); > asm volatile(LOCK_PREFIX "orb %1,%0" > : CONST_MASK_ADDR(nr, addr) > : "iq" mask > > David > >- >Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, >MK1 1PT, UK >Registration No: 1397386 (Wales) "const u8" please... -- Sent from my Android device with K-9 Mail. Please excuse my brevity.