USB: serial: make usb_serial_driver::write_room return uint
authorJiri Slaby <jslaby@suse.cz>
Wed, 5 May 2021 09:19:16 +0000 (11:19 +0200)
committerJohan Hovold <johan@kernel.org>
Wed, 19 May 2021 08:56:40 +0000 (10:56 +0200)
Line disciplines expect a positive value or zero returned from
tty->ops->write_room (invoked by tty_write_room). Both of them are being
updated to return an unsigned int. Switch also
usb_serial_driver::write_room and all its users.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
[ johan: amend commit message, drop unrelated comment change ]
Signed-off-by: Johan Hovold <johan@kernel.org>
20 files changed:
drivers/usb/serial/cyberjack.c
drivers/usb/serial/cypress_m8.c
drivers/usb/serial/digi_acceleport.c
drivers/usb/serial/garmin_gps.c
drivers/usb/serial/generic.c
drivers/usb/serial/io_edgeport.c
drivers/usb/serial/io_ti.c
drivers/usb/serial/ir-usb.c
drivers/usb/serial/keyspan.c
drivers/usb/serial/kobil_sct.c
drivers/usb/serial/mos7720.c
drivers/usb/serial/mos7840.c
drivers/usb/serial/opticon.c
drivers/usb/serial/oti6858.c
drivers/usb/serial/quatech2.c
drivers/usb/serial/sierra.c
drivers/usb/serial/ti_usb_3410_5052.c
drivers/usb/serial/usb-wwan.h
drivers/usb/serial/usb_wwan.c
include/linux/usb/serial.h

index cf38922..51e5aac 100644 (file)
@@ -53,7 +53,7 @@ static int  cyberjack_open(struct tty_struct *tty,
 static void cyberjack_close(struct usb_serial_port *port);
 static int cyberjack_write(struct tty_struct *tty,
        struct usb_serial_port *port, const unsigned char *buf, int count);
-static int cyberjack_write_room(struct tty_struct *tty);
+static unsigned int cyberjack_write_room(struct tty_struct *tty);
 static void cyberjack_read_int_callback(struct urb *urb);
 static void cyberjack_read_bulk_callback(struct urb *urb);
 static void cyberjack_write_bulk_callback(struct urb *urb);
@@ -240,7 +240,7 @@ static int cyberjack_write(struct tty_struct *tty,
        return count;
 }
 
-static int cyberjack_write_room(struct tty_struct *tty)
+static unsigned int cyberjack_write_room(struct tty_struct *tty)
 {
        /* FIXME: .... */
        return CYBERJACK_LOCAL_BUF_SIZE;
index 166ee22..5e7d2f9 100644 (file)
@@ -122,7 +122,7 @@ static void cypress_dtr_rts(struct usb_serial_port *port, int on);
 static int  cypress_write(struct tty_struct *tty, struct usb_serial_port *port,
                        const unsigned char *buf, int count);
 static void cypress_send(struct usb_serial_port *port);
-static int  cypress_write_room(struct tty_struct *tty);
+static unsigned int cypress_write_room(struct tty_struct *tty);
 static void cypress_earthmate_init_termios(struct tty_struct *tty);
 static void cypress_set_termios(struct tty_struct *tty,
                        struct usb_serial_port *port, struct ktermios *old);
@@ -789,18 +789,18 @@ send:
 
 
 /* returns how much space is available in the soft buffer */
-static int cypress_write_room(struct tty_struct *tty)
+static unsigned int cypress_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct cypress_private *priv = usb_get_serial_port_data(port);
-       int room = 0;
+       unsigned int room;
        unsigned long flags;
 
        spin_lock_irqsave(&priv->lock, flags);
        room = kfifo_avail(&priv->write_fifo);
        spin_unlock_irqrestore(&priv->lock, flags);
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index 8b2f065..5deb900 100644 (file)
@@ -223,7 +223,7 @@ static int digi_tiocmset(struct tty_struct *tty, unsigned int set,
 static int digi_write(struct tty_struct *tty, struct usb_serial_port *port,
                const unsigned char *buf, int count);
 static void digi_write_bulk_callback(struct urb *urb);
-static int digi_write_room(struct tty_struct *tty);
+static unsigned int digi_write_room(struct tty_struct *tty);
 static int digi_chars_in_buffer(struct tty_struct *tty);
 static int digi_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void digi_close(struct usb_serial_port *port);
@@ -1020,11 +1020,11 @@ static void digi_write_bulk_callback(struct urb *urb)
                tty_port_tty_wakeup(&port->port);
 }
 
-static int digi_write_room(struct tty_struct *tty)
+static unsigned int digi_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct digi_port *priv = usb_get_serial_port_data(port);
-       int room;
+       unsigned int room;
        unsigned long flags = 0;
 
        spin_lock_irqsave(&priv->dp_port_lock, flags);
@@ -1035,7 +1035,7 @@ static int digi_write_room(struct tty_struct *tty)
                room = port->bulk_out_size - 2 - priv->dp_out_buf_len;
 
        spin_unlock_irqrestore(&priv->dp_port_lock, flags);
-       dev_dbg(&port->dev, "digi_write_room: port=%d, room=%d\n", priv->dp_port_num, room);
+       dev_dbg(&port->dev, "digi_write_room: port=%d, room=%u\n", priv->dp_port_num, room);
        return room;
 
 }
index 50e8bdc..756d1ac 100644 (file)
@@ -1113,7 +1113,7 @@ static int garmin_write(struct tty_struct *tty, struct usb_serial_port *port,
 }
 
 
-static int garmin_write_room(struct tty_struct *tty)
+static unsigned int garmin_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        /*
index d10aa3d..bc3cf66 100644 (file)
@@ -230,11 +230,11 @@ int usb_serial_generic_write(struct tty_struct *tty,
 }
 EXPORT_SYMBOL_GPL(usb_serial_generic_write);
 
-int usb_serial_generic_write_room(struct tty_struct *tty)
+unsigned int usb_serial_generic_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        unsigned long flags;
-       int room;
+       unsigned int room;
 
        if (!port->bulk_out_size)
                return 0;
@@ -243,7 +243,7 @@ int usb_serial_generic_write_room(struct tty_struct *tty)
        room = kfifo_avail(&port->write_fifo);
        spin_unlock_irqrestore(&port->lock, flags);
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index e6fe388..f6cedc8 100644 (file)
@@ -1355,11 +1355,11 @@ exit_send:
  *     we return the amount of room that we have for this port (the txCredits)
  *     otherwise we return a negative error number.
  *****************************************************************************/
-static int edge_write_room(struct tty_struct *tty)
+static unsigned int edge_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct edgeport_port *edge_port = usb_get_serial_port_data(port);
-       int room;
+       unsigned int room;
        unsigned long flags;
 
        if (edge_port == NULL)
@@ -1377,7 +1377,7 @@ static int edge_write_room(struct tty_struct *tty)
        room = edge_port->txCredits - edge_port->txfifo.count;
        spin_unlock_irqrestore(&edge_port->ep_lock, flags);
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index 39503fd..94c82c3 100644 (file)
@@ -2067,11 +2067,11 @@ static void edge_send(struct usb_serial_port *port, struct tty_struct *tty)
                tty_wakeup(tty);
 }
 
-static int edge_write_room(struct tty_struct *tty)
+static unsigned int edge_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct edgeport_port *edge_port = usb_get_serial_port_data(port);
-       int room = 0;
+       unsigned int room;
        unsigned long flags;
 
        if (edge_port == NULL)
@@ -2083,7 +2083,7 @@ static int edge_write_room(struct tty_struct *tty)
        room = kfifo_avail(&port->write_fifo);
        spin_unlock_irqrestore(&edge_port->ep_lock, flags);
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index 172261a..7b44dbe 100644 (file)
@@ -47,7 +47,7 @@ static int xbof = -1;
 static int  ir_startup (struct usb_serial *serial);
 static int ir_write(struct tty_struct *tty, struct usb_serial_port *port,
                const unsigned char *buf, int count);
-static int ir_write_room(struct tty_struct *tty);
+static unsigned int ir_write_room(struct tty_struct *tty);
 static void ir_write_bulk_callback(struct urb *urb);
 static void ir_process_read_urb(struct urb *urb);
 static void ir_set_termios(struct tty_struct *tty,
@@ -339,10 +339,10 @@ static void ir_write_bulk_callback(struct urb *urb)
        usb_serial_port_softint(port);
 }
 
-static int ir_write_room(struct tty_struct *tty)
+static unsigned int ir_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
-       int count = 0;
+       unsigned int count = 0;
 
        if (port->bulk_out_size == 0)
                return 0;
index b04a029..87b89c9 100644 (file)
@@ -1453,13 +1453,13 @@ static void usa67_glocont_callback(struct urb *urb)
        }
 }
 
-static int keyspan_write_room(struct tty_struct *tty)
+static unsigned int keyspan_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct keyspan_port_private     *p_priv;
        const struct keyspan_device_details     *d_details;
        int                             flip;
-       int                             data_len;
+       unsigned int                    data_len;
        struct urb                      *this_urb;
 
        p_priv = usb_get_serial_port_data(port);
index a9bc546..4ed8b8b 100644 (file)
@@ -53,7 +53,7 @@ static int  kobil_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void kobil_close(struct usb_serial_port *port);
 static int  kobil_write(struct tty_struct *tty, struct usb_serial_port *port,
                         const unsigned char *buf, int count);
-static int  kobil_write_room(struct tty_struct *tty);
+static unsigned int kobil_write_room(struct tty_struct *tty);
 static int  kobil_ioctl(struct tty_struct *tty,
                        unsigned int cmd, unsigned long arg);
 static int  kobil_tiocmget(struct tty_struct *tty);
@@ -358,7 +358,7 @@ static int kobil_write(struct tty_struct *tty, struct usb_serial_port *port,
 }
 
 
-static int kobil_write_room(struct tty_struct *tty)
+static unsigned int kobil_write_room(struct tty_struct *tty)
 {
        /* FIXME */
        return 8;
index 6ee8388..d9cc7f8 100644 (file)
@@ -1033,11 +1033,11 @@ static void mos7720_break(struct tty_struct *tty, int break_state)
  *     If successful, we return the amount of room that we have for this port
  *     Otherwise we return a negative error number.
  */
-static int mos7720_write_room(struct tty_struct *tty)
+static unsigned int mos7720_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct moschip_port *mos7720_port;
-       int room = 0;
+       unsigned int room = 0;
        int i;
 
        mos7720_port = usb_get_serial_port_data(port);
@@ -1051,7 +1051,7 @@ static int mos7720_write_room(struct tty_struct *tty)
                        room += URB_TRANSFER_BUFFER_SIZE;
        }
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index 28e4093..609799a 100644 (file)
@@ -818,12 +818,12 @@ static void mos7840_break(struct tty_struct *tty, int break_state)
  *     Otherwise we return a negative error number.
  *****************************************************************************/
 
-static int mos7840_write_room(struct tty_struct *tty)
+static unsigned int mos7840_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct moschip_port *mos7840_port = usb_get_serial_port_data(port);
        int i;
-       int room = 0;
+       unsigned int room = 0;
        unsigned long flags;
 
        spin_lock_irqsave(&mos7840_port->pool_lock, flags);
@@ -834,7 +834,7 @@ static int mos7840_write_room(struct tty_struct *tty)
        spin_unlock_irqrestore(&mos7840_port->pool_lock, flags);
 
        room = (room == 0) ? 0 : room - URB_TRANSFER_BUFFER_SIZE + 1;
-       dev_dbg(&mos7840_port->port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&mos7840_port->port->dev, "%s - returns %u\n", __func__, room);
        return room;
 
 }
index 40c713f..37b5194 100644 (file)
@@ -267,7 +267,7 @@ error_no_buffer:
        return ret;
 }
 
-static int opticon_write_room(struct tty_struct *tty)
+static unsigned int opticon_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct opticon_private *priv = usb_get_serial_port_data(port);
index 65cd034..4ab9f33 100644 (file)
@@ -126,7 +126,7 @@ static void oti6858_read_bulk_callback(struct urb *urb);
 static void oti6858_write_bulk_callback(struct urb *urb);
 static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port,
                        const unsigned char *buf, int count);
-static int oti6858_write_room(struct tty_struct *tty);
+static unsigned int oti6858_write_room(struct tty_struct *tty);
 static int oti6858_chars_in_buffer(struct tty_struct *tty);
 static int oti6858_tiocmget(struct tty_struct *tty);
 static int oti6858_tiocmset(struct tty_struct *tty,
@@ -363,10 +363,10 @@ static int oti6858_write(struct tty_struct *tty, struct usb_serial_port *port,
        return count;
 }
 
-static int oti6858_write_room(struct tty_struct *tty)
+static unsigned int oti6858_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
-       int room = 0;
+       unsigned int room;
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
index 5f2e7f6..3b5f203 100644 (file)
@@ -870,12 +870,12 @@ static void qt2_update_lsr(struct usb_serial_port *port, unsigned char *ch)
 
 }
 
-static int qt2_write_room(struct tty_struct *tty)
+static unsigned int qt2_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct qt2_port_private *port_priv;
        unsigned long flags = 0;
-       int r;
+       unsigned int r;
 
        port_priv = usb_get_serial_port_data(port);
 
index 54e16ff..753cee5 100644 (file)
@@ -613,7 +613,7 @@ static void sierra_instat_callback(struct urb *urb)
        }
 }
 
-static int sierra_write_room(struct tty_struct *tty)
+static unsigned int sierra_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct sierra_port_private *portdata = usb_get_serial_port_data(port);
index caa46ac..2c543c1 100644 (file)
@@ -307,7 +307,7 @@ static int ti_open(struct tty_struct *tty, struct usb_serial_port *port);
 static void ti_close(struct usb_serial_port *port);
 static int ti_write(struct tty_struct *tty, struct usb_serial_port *port,
                const unsigned char *data, int count);
-static int ti_write_room(struct tty_struct *tty);
+static unsigned int ti_write_room(struct tty_struct *tty);
 static int ti_chars_in_buffer(struct tty_struct *tty);
 static bool ti_tx_empty(struct usb_serial_port *port);
 static void ti_throttle(struct tty_struct *tty);
@@ -810,18 +810,18 @@ static int ti_write(struct tty_struct *tty, struct usb_serial_port *port,
 }
 
 
-static int ti_write_room(struct tty_struct *tty)
+static unsigned int ti_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct ti_port *tport = usb_get_serial_port_data(port);
-       int room = 0;
+       unsigned int room;
        unsigned long flags;
 
        spin_lock_irqsave(&tport->tp_lock, flags);
        room = kfifo_avail(&port->write_fifo);
        spin_unlock_irqrestore(&tport->tp_lock, flags);
 
-       dev_dbg(&port->dev, "%s - returns %d\n", __func__, room);
+       dev_dbg(&port->dev, "%s - returns %u\n", __func__, room);
        return room;
 }
 
index b5331d0..6c7c9f3 100644 (file)
@@ -11,7 +11,7 @@ extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port);
 extern void usb_wwan_close(struct usb_serial_port *port);
 extern int usb_wwan_port_probe(struct usb_serial_port *port);
 extern void usb_wwan_port_remove(struct usb_serial_port *port);
-extern int usb_wwan_write_room(struct tty_struct *tty);
+extern unsigned int usb_wwan_write_room(struct tty_struct *tty);
 extern int usb_wwan_tiocmget(struct tty_struct *tty);
 extern int usb_wwan_tiocmset(struct tty_struct *tty,
                             unsigned int set, unsigned int clear);
index 3eb72c5..06212f0 100644 (file)
@@ -278,12 +278,12 @@ static void usb_wwan_outdat_callback(struct urb *urb)
        }
 }
 
-int usb_wwan_write_room(struct tty_struct *tty)
+unsigned int usb_wwan_write_room(struct tty_struct *tty)
 {
        struct usb_serial_port *port = tty->driver_data;
        struct usb_wwan_port_private *portdata;
        int i;
-       int data_len = 0;
+       unsigned int data_len = 0;
        struct urb *this_urb;
 
        portdata = usb_get_serial_port_data(port);
@@ -294,7 +294,7 @@ int usb_wwan_write_room(struct tty_struct *tty)
                        data_len += OUT_BUFLEN;
        }
 
-       dev_dbg(&port->dev, "%s: %d\n", __func__, data_len);
+       dev_dbg(&port->dev, "%s: %u\n", __func__, data_len);
        return data_len;
 }
 EXPORT_SYMBOL(usb_wwan_write_room);
index 8c63fa9..6472d1f 100644 (file)
@@ -276,7 +276,7 @@ struct usb_serial_driver {
        int  (*write)(struct tty_struct *tty, struct usb_serial_port *port,
                        const unsigned char *buf, int count);
        /* Called only by the tty layer */
-       int  (*write_room)(struct tty_struct *tty);
+       unsigned int (*write_room)(struct tty_struct *tty);
        int  (*ioctl)(struct tty_struct *tty,
                      unsigned int cmd, unsigned long arg);
        void (*get_serial)(struct tty_struct *tty, struct serial_struct *ss);
@@ -347,7 +347,7 @@ int usb_serial_generic_write(struct tty_struct *tty, struct usb_serial_port *por
                const unsigned char *buf, int count);
 void usb_serial_generic_close(struct usb_serial_port *port);
 int usb_serial_generic_resume(struct usb_serial *serial);
-int usb_serial_generic_write_room(struct tty_struct *tty);
+unsigned int usb_serial_generic_write_room(struct tty_struct *tty);
 int usb_serial_generic_chars_in_buffer(struct tty_struct *tty);
 void usb_serial_generic_wait_until_sent(struct tty_struct *tty, long timeout);
 void usb_serial_generic_read_bulk_callback(struct urb *urb);