Commit fed99212 authored by Francesco Dolcini's avatar Francesco Dolcini Committed by Greg Kroah-Hartman
Browse files

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 94d05394 ("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: default avatarJiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/all/087be419-ec6b-47ad-851a-5e1e3ea5cfcc@kernel.org/


Signed-off-by: default avatarFrancesco Dolcini <francesco.dolcini@toradex.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio
Reviewed-by: default avatarJohan Hovold <johan@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
Acked-by: Maximilian Luz <luzmaximilian@gmail.com>  # for platform/surface
Acked-by: default avatarLee Jones <lee@kernel.org>
Acked-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240122180551.34429-1-francesco@dolcini.it


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cf066f93
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -383,7 +383,7 @@ static void btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
	}
}

static ssize_t btmtkuart_receive_buf(struct serdev_device *serdev,
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);
+2 −2
Original line number Diff line number Diff line
@@ -1264,7 +1264,7 @@ 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,
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);
+2 −2
Original line number Diff line number Diff line
@@ -271,7 +271,7 @@ 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,
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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
Loading