Message ID | 20200713110513.10651-1-geert@linux-m68k.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | e0484010ec05191a8edf980413fc92f28050c1cc |
Headers | show |
Series | usb: hso: Fix debug compile warning on sparc32 | expand |
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.
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);
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(-)