The counts in tty_port_client_operations hooks' are currently
represented by all 'int', 'unsigned int', and 'size_t'. Unify them all
to unsigned 'size_t' for clarity. Note that size_t is used already in
tty_buffer.c. So, eventually, it is spread for counts everywhere and
this is the beginning.
So the two changes namely:
* ::receive_buf() is called from tty_ldisc_receive_buf(). And that
expects values ">= 0" from ::receive_buf(), so switch its rettype to
size_t is fine. tty_ldisc_receive_buf() types will be changed
separately.
* ::lookahead_buf()'s count comes from lookahead_bufs() and is already
'unsigned int'.
Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230810091510.13006-11-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Callback functions from the tty port.
*/
-static int ttyport_receive_buf(struct tty_port *port, const u8 *cp,
- const u8 *fp, size_t count)
+static size_t ttyport_receive_buf(struct tty_port *port, const u8 *cp,
+ const u8 *fp, size_t count)
{
struct serdev_controller *ctrl = port->client_data;
struct serport *serport = serdev_controller_get_drvdata(ctrl);
#include <linux/serdev.h>
#include "tty.h"
-static int tty_port_default_receive_buf(struct tty_port *port, const u8 *p,
- const u8 *f, size_t count)
+static size_t tty_port_default_receive_buf(struct tty_port *port, const u8 *p,
+ const u8 *f, size_t count)
{
- int ret;
struct tty_struct *tty;
struct tty_ldisc *ld;
if (!ld)
return 0;
- ret = tty_ldisc_receive_buf(ld, p, (char *)f, count);
+ count = tty_ldisc_receive_buf(ld, p, (char *)f, count);
tty_ldisc_deref(ld);
- return ret;
+ return count;
}
static void tty_port_default_lookahead_buf(struct tty_port *port, const u8 *p,
- const u8 *f, unsigned int count)
+ const u8 *f, size_t count)
{
struct tty_struct *tty;
struct tty_ldisc *ld;
};
struct tty_port_client_operations {
- int (*receive_buf)(struct tty_port *port, const u8 *cp, const u8 *fp,
- size_t count);
+ size_t (*receive_buf)(struct tty_port *port, const u8 *cp, const u8 *fp,
+ size_t count);
void (*lookahead_buf)(struct tty_port *port, const u8 *cp,
- const u8 *fp, unsigned int count);
+ const u8 *fp, size_t count);
void (*write_wakeup)(struct tty_port *port);
};