usb: hso: Fix debug compile warning on sparc32
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 13 Jul 2020 11:05:13 +0000 (13:05 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2020 00:03:21 +0000 (17:03 -0700)
On sparc32, tcflag_t is "unsigned long", unlike on all other
architectures, where it is "unsigned int":

    drivers/net/usb/hso.c: In function ‘hso_serial_set_termios’:
    include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘unsigned int’, but argument 4 has type ‘tcflag_t {aka long unsigned int}’ [-Wformat=]
    drivers/net/usb/hso.c:1393:3: note: in expansion of macro ‘hso_dbg’
       hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n",
       ^~~~~~~
    include/linux/kern_levels.h:5:18: warning: format ‘%d’ expects argument of type ‘unsigned int’, but argument 5 has type ‘tcflag_t {aka long unsigned int}’ [-Wformat=]
    drivers/net/usb/hso.c:1393:3: note: in expansion of macro ‘hso_dbg’
       hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n",
       ^~~~~~~

As "unsigned long" is 32-bit on sparc32, fix this by casting all tcflag_t
parameters to "unsigned int".
While at it, use "%u" to format unsigned numbers.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/hso.c

index bb8c34d..5f123a8 100644 (file)
@@ -1390,8 +1390,9 @@ static void hso_serial_set_termios(struct tty_struct *tty, struct ktermios *old)
        unsigned long flags;
 
        if (old)
-               hso_dbg(0x16, "Termios called with: cflags new[%d] - old[%d]\n",
-                       tty->termios.c_cflag, old->c_cflag);
+               hso_dbg(0x16, "Termios called with: cflags new[%u] - old[%u]\n",
+                       (unsigned int)tty->termios.c_cflag,
+                       (unsigned int)old->c_cflag);
 
        /* the actual setup */
        spin_lock_irqsave(&serial->serial_lock, flags);