usb: hso: Fix debug compile warning on sparc32
diff mbox series

Message ID 20200713110513.10651-1-geert@linux-m68k.org
State In Next
Commit e0484010ec05191a8edf980413fc92f28050c1cc
Headers show
Series
  • usb: hso: Fix debug compile warning on sparc32
Related show

Commit Message

Geert Uytterhoeven July 13, 2020, 11:05 a.m. UTC
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>
---
 drivers/net/usb/hso.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

David Miller July 14, 2020, 12:03 a.m. UTC | #1
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Mon, 13 Jul 2020 13:05:13 +0200

> 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>

Applied, thanks.

Patch
diff mbox series

diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index bb8c34d746ab33a8..5f123a8cf68ed920 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -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);