OSDN Git Service

ARM: 8584/1: floppy: avoid gcc-6 warning
authorArnd Bergmann <arnd@arndb.de>
Fri, 1 Jul 2016 17:02:22 +0000 (18:02 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Sat, 2 Jul 2016 10:02:13 +0000 (11:02 +0100)
gcc-6.0 warns about comparisons between two identical expressions,
which is what we get in the floppy driver when writing to the FD_DOR
register:

drivers/block/floppy.c: In function 'set_dor':
drivers/block/floppy.c:810:44: error: self-comparison always evaluates to true [-Werror=tautological-compare]
   fd_outb(newdor, FD_DOR);

It would be nice to use a static inline function instead of the
macro, to avoid the warning, but we cannot do that because the
FD_DOR definition is incomplete at this point.

Adding a cast to (u32) is a harmless way to shut up the warning,
just not very nice.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/floppy.h

index f488255..85a34cc 100644 (file)
@@ -17,7 +17,7 @@
 
 #define fd_outb(val,port)                      \
        do {                                    \
-               if ((port) == FD_DOR)           \
+               if ((port) == (u32)FD_DOR)      \
                        fd_setdor((val));       \
                else                            \
                        outb((val),(port));     \