> -----Original Message----- > From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel-owner@xxxxxxxxxxxxxxx] On Behalf Of Arnd > Bergmann > Sent: Wednesday, March 13, 2019 4:11 PM > To: Jiri Kosina <jikos@xxxxxxxxxx>; Jens Axboe <axboe@xxxxxxxxx> > Cc: Arnd Bergmann <arnd@xxxxxxxx>; Omar Sandoval <osandov@xxxxxx>; Hannes Reinecke <hare@xxxxxxx>; > linux-block@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [PATCH] floppy: fix harmless clang build warning > > clang warns about unusual code in floppy.c that looks like it > was intended to be a bit mask operation, checking for a specific > bit in the UDP->cmos variable (FLOPPY1_TYPE expands to '4' on > ARM): > > drivers/block/floppy.c:3902:17: error: use of logical '&&' with constant operand [-Werror,-Wconstant- > logical-operand] > if (!UDP->cmos && FLOPPY1_TYPE) > ^ ~~~~~~~~~~~~ > drivers/block/floppy.c:3902:17: note: use '&' for a bitwise operation > if (!UDP->cmos && FLOPPY1_TYPE) > > The check here is redundant anyway, if FLOPPY1_TYPE is zero, then > assigning it to a zero UDP->cmos field does not change anything, > so removing the extra check here has no effect other than shutting > up the warning. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > drivers/block/floppy.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c > index 95f608d1a098..56815446ed85 100644 > --- a/drivers/block/floppy.c > +++ b/drivers/block/floppy.c > @@ -3899,7 +3899,7 @@ static void __init config_types(void) > if (!UDP->cmos) > UDP->cmos = FLOPPY0_TYPE; > drive = 1; > - if (!UDP->cmos && FLOPPY1_TYPE) > + if (!UDP->cmos) > UDP->cmos = FLOPPY1_TYPE; > > /* FIXME: additional physical CMOS drive detection should go here */ > -- > 2.20.0 On x86 it expands to a hardware read, so this would change the control flow. #define FLOPPY1_TYPE \ ({ \ unsigned long flags; \ unsigned char val; \ spin_lock_irqsave(&rtc_lock, flags); \ val = CMOS_READ(0x10) & 15; \ spin_unlock_irqrestore(&rtc_lock, flags); \ val; \ })