mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
treewide, serdev: change receive_buf() return type to size_t
receive_buf() is called from ttyport_receive_buf() that expects values
">= 0" from serdev_controller_receive_buf(), change its return type from
ssize_t to size_t.
The need for this clean-up was noticed while fixing a warning, see
commit 94d0539425
("Bluetooth: btnxpuart: fix recv_buf() return value").
Changing the callback prototype to return an unsigned seems the best way
to document the API and ensure that is properly used.
GNSS drivers implementation of serdev receive_buf() callback return
directly the return value of gnss_insert_raw(). gnss_insert_raw()
returns a signed int, however this is not an issue since the value
returned is always positive, because of the kfifo_in() implementation.
gnss_insert_raw() could be changed to return also an unsigned, however
this is not implemented here as request by the GNSS maintainer Johan
Hovold.
Suggested-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/all/087be419-ec6b-47ad-851a-5e1e3ea5cfcc@kernel.org/
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio
Reviewed-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Alex Elder <elder@linaro.org>
Acked-by: Maximilian Luz <luzmaximilian@gmail.com> # for platform/surface
Acked-by: Lee Jones <lee@kernel.org>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240122180551.34429-1-francesco@dolcini.it
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cf066f9334
commit
fed99212ac
@ -383,8 +383,8 @@ static void btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
|
||||
}
|
||||
}
|
||||
|
||||
static ssize_t btmtkuart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t btmtkuart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct btmtkuart_dev *bdev = serdev_device_get_drvdata(serdev);
|
||||
|
||||
|
@ -1264,8 +1264,8 @@ static const struct h4_recv_pkt nxp_recv_pkts[] = {
|
||||
{ NXP_RECV_FW_REQ_V3, .recv = nxp_recv_fw_req_v3 },
|
||||
};
|
||||
|
||||
static ssize_t btnxpuart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t btnxpuart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct btnxpuart_dev *nxpdev = serdev_device_get_drvdata(serdev);
|
||||
|
||||
|
@ -271,8 +271,8 @@ static void hci_uart_write_wakeup(struct serdev_device *serdev)
|
||||
*
|
||||
* Return: number of processed bytes
|
||||
*/
|
||||
static ssize_t hci_uart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t hci_uart_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct hci_uart *hu = serdev_device_get_drvdata(serdev);
|
||||
|
||||
|
@ -80,7 +80,7 @@ static const struct gnss_operations gnss_serial_gnss_ops = {
|
||||
.write_raw = gnss_serial_write_raw,
|
||||
};
|
||||
|
||||
static ssize_t gnss_serial_receive_buf(struct serdev_device *serdev,
|
||||
static size_t gnss_serial_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t count)
|
||||
{
|
||||
struct gnss_serial *gserial = serdev_device_get_drvdata(serdev);
|
||||
|
@ -160,7 +160,7 @@ static const struct gnss_operations sirf_gnss_ops = {
|
||||
.write_raw = sirf_write_raw,
|
||||
};
|
||||
|
||||
static ssize_t sirf_receive_buf(struct serdev_device *serdev,
|
||||
static size_t sirf_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t count)
|
||||
{
|
||||
struct sirf_data *data = serdev_device_get_drvdata(serdev);
|
||||
|
@ -271,7 +271,7 @@ static void hdlc_rx_frame(struct gb_beagleplay *bg)
|
||||
}
|
||||
}
|
||||
|
||||
static ssize_t hdlc_rx(struct gb_beagleplay *bg, const u8 *data, size_t count)
|
||||
static size_t hdlc_rx(struct gb_beagleplay *bg, const u8 *data, size_t count)
|
||||
{
|
||||
size_t i;
|
||||
u8 c;
|
||||
@ -331,8 +331,8 @@ static void hdlc_deinit(struct gb_beagleplay *bg)
|
||||
flush_work(&bg->tx_work);
|
||||
}
|
||||
|
||||
static ssize_t gb_tty_receive(struct serdev_device *sd, const u8 *data,
|
||||
size_t count)
|
||||
static size_t gb_tty_receive(struct serdev_device *sd, const u8 *data,
|
||||
size_t count)
|
||||
{
|
||||
struct gb_beagleplay *bg = serdev_device_get_drvdata(sd);
|
||||
|
||||
|
@ -211,8 +211,8 @@ static bool pms7003_frame_is_okay(struct pms7003_frame *frame)
|
||||
return checksum == pms7003_calc_checksum(frame);
|
||||
}
|
||||
|
||||
static ssize_t pms7003_receive_buf(struct serdev_device *serdev, const u8 *buf,
|
||||
size_t size)
|
||||
static size_t pms7003_receive_buf(struct serdev_device *serdev, const u8 *buf,
|
||||
size_t size)
|
||||
{
|
||||
struct iio_dev *indio_dev = serdev_device_get_drvdata(serdev);
|
||||
struct pms7003_state *state = iio_priv(indio_dev);
|
||||
|
@ -174,8 +174,8 @@ static int scd30_serdev_command(struct scd30_state *state, enum scd30_cmd cmd, u
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t scd30_serdev_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
static size_t scd30_serdev_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
{
|
||||
struct iio_dev *indio_dev = serdev_device_get_drvdata(serdev);
|
||||
struct scd30_serdev_priv *priv;
|
||||
|
@ -210,8 +210,8 @@ static int sps30_serial_command(struct sps30_state *state, unsigned char cmd,
|
||||
return rsp_size;
|
||||
}
|
||||
|
||||
static ssize_t sps30_serial_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
static size_t sps30_serial_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
{
|
||||
struct iio_dev *indio_dev = dev_get_drvdata(&serdev->dev);
|
||||
struct sps30_serial_priv *priv;
|
||||
|
@ -378,8 +378,8 @@ static void bno055_ser_handle_rx(struct bno055_ser_priv *priv, int status)
|
||||
* Also, we assume to RX one pkt per time (i.e. the HW doesn't send anything
|
||||
* unless we require to AND we don't queue more than one request per time).
|
||||
*/
|
||||
static ssize_t bno055_ser_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
static size_t bno055_ser_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
{
|
||||
int status;
|
||||
struct bno055_ser_priv *priv = serdev_device_get_drvdata(serdev);
|
||||
|
@ -471,8 +471,8 @@ static void rave_sp_receive_frame(struct rave_sp *sp,
|
||||
rave_sp_receive_reply(sp, data, length);
|
||||
}
|
||||
|
||||
static ssize_t rave_sp_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
static size_t rave_sp_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t size)
|
||||
{
|
||||
struct device *dev = &serdev->dev;
|
||||
struct rave_sp *sp = dev_get_drvdata(dev);
|
||||
|
@ -58,7 +58,7 @@ struct qcauart {
|
||||
unsigned char *tx_buffer;
|
||||
};
|
||||
|
||||
static ssize_t
|
||||
static size_t
|
||||
qca_tty_receive(struct serdev_device *serdev, const u8 *data, size_t count)
|
||||
{
|
||||
struct qcauart *qca = serdev_device_get_drvdata(serdev);
|
||||
|
@ -203,8 +203,8 @@ static int pn532_uart_rx_is_frame(struct sk_buff *skb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t pn532_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t pn532_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct pn532_uart_phy *dev = serdev_device_get_drvdata(serdev);
|
||||
size_t i;
|
||||
|
@ -51,8 +51,8 @@ static const struct s3fwrn5_phy_ops uart_phy_ops = {
|
||||
.write = s3fwrn82_uart_write,
|
||||
};
|
||||
|
||||
static ssize_t s3fwrn82_uart_read(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t s3fwrn82_uart_read(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct s3fwrn82_uart_phy *phy = serdev_device_get_drvdata(serdev);
|
||||
size_t i;
|
||||
|
@ -81,8 +81,8 @@ struct cros_ec_uart {
|
||||
struct response_info response;
|
||||
};
|
||||
|
||||
static ssize_t cros_ec_uart_rx_bytes(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
static size_t cros_ec_uart_rx_bytes(struct serdev_device *serdev,
|
||||
const u8 *data, size_t count)
|
||||
{
|
||||
struct ec_host_response *host_response;
|
||||
struct cros_ec_device *ec_dev = serdev_device_get_drvdata(serdev);
|
||||
|
@ -227,8 +227,8 @@ EXPORT_SYMBOL_GPL(ssam_client_bind);
|
||||
|
||||
/* -- Glue layer (serdev_device -> ssam_controller). ------------------------ */
|
||||
|
||||
static ssize_t ssam_receive_buf(struct serdev_device *dev, const u8 *buf,
|
||||
size_t n)
|
||||
static size_t ssam_receive_buf(struct serdev_device *dev, const u8 *buf,
|
||||
size_t n)
|
||||
{
|
||||
struct ssam_controller *ctrl;
|
||||
int ret;
|
||||
|
@ -27,19 +27,17 @@ static size_t ttyport_receive_buf(struct tty_port *port, const u8 *cp,
|
||||
{
|
||||
struct serdev_controller *ctrl = port->client_data;
|
||||
struct serport *serport = serdev_controller_get_drvdata(ctrl);
|
||||
int ret;
|
||||
size_t ret;
|
||||
|
||||
if (!test_bit(SERPORT_ACTIVE, &serport->flags))
|
||||
return 0;
|
||||
|
||||
ret = serdev_controller_receive_buf(ctrl, cp, count);
|
||||
|
||||
dev_WARN_ONCE(&ctrl->dev, ret < 0 || ret > count,
|
||||
"receive_buf returns %d (count = %zu)\n",
|
||||
dev_WARN_ONCE(&ctrl->dev, ret > count,
|
||||
"receive_buf returns %zu (count = %zu)\n",
|
||||
ret, count);
|
||||
if (ret < 0)
|
||||
return 0;
|
||||
else if (ret > count)
|
||||
if (ret > count)
|
||||
return count;
|
||||
|
||||
return ret;
|
||||
|
@ -27,7 +27,7 @@ struct serdev_device;
|
||||
* not sleep.
|
||||
*/
|
||||
struct serdev_device_ops {
|
||||
ssize_t (*receive_buf)(struct serdev_device *, const u8 *, size_t);
|
||||
size_t (*receive_buf)(struct serdev_device *, const u8 *, size_t);
|
||||
void (*write_wakeup)(struct serdev_device *);
|
||||
};
|
||||
|
||||
@ -185,9 +185,9 @@ static inline void serdev_controller_write_wakeup(struct serdev_controller *ctrl
|
||||
serdev->ops->write_wakeup(serdev);
|
||||
}
|
||||
|
||||
static inline ssize_t serdev_controller_receive_buf(struct serdev_controller *ctrl,
|
||||
const u8 *data,
|
||||
size_t count)
|
||||
static inline size_t serdev_controller_receive_buf(struct serdev_controller *ctrl,
|
||||
const u8 *data,
|
||||
size_t count)
|
||||
{
|
||||
struct serdev_device *serdev = ctrl->serdev;
|
||||
|
||||
|
@ -100,8 +100,8 @@ static void snd_serial_generic_write_wakeup(struct serdev_device *serdev)
|
||||
snd_serial_generic_tx_wakeup(drvdata);
|
||||
}
|
||||
|
||||
static ssize_t snd_serial_generic_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t count)
|
||||
static size_t snd_serial_generic_receive_buf(struct serdev_device *serdev,
|
||||
const u8 *buf, size_t count)
|
||||
{
|
||||
int ret;
|
||||
struct snd_serial_generic *drvdata = serdev_device_get_drvdata(serdev);
|
||||
|
Loading…
Reference in New Issue
Block a user