Re: [PATCH v1] treewide, serdev: change receive_buf() return type to size_t

Francesco Dolcini
2023-12-14T17:39:55Z

On Thu, Dec 14, 2023 at 06:01:46PM +0100, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
>
> 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.
>
> 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>
> ---
> hello,
> patch is based on current linux next.
>
> It has an obvious problem, it touches files from multiple subsystem in a single
> patch that is complicated to review and eventually merge, just splitting this
> would however not work, it will break bisectability and the build.
>
> I am looking for advise on the best way to move forward.
>
> I see the following options:
> - keep it as it is
> - break it down with a patch with each subsystem, and squash before applying
> from a single (tty?) subsystem
> - go for a multi stage approach, defining a new callback, move to it and in
> the end remove the original one, likewise it was done for i2c lately

whoops. I just noticed Greg applied commit 475fc6e2de6f ("tty: serdev:
convert to u8 and size_t") that touch the exact same files without much
of an issue.

Probably the "keep it as it is" is just the way to go.

>
> ---
> drivers/bluetooth/btmtkuart.c | 4 ++--
> drivers/bluetooth/btnxpuart.c | 4 ++--
> drivers/bluetooth/hci_serdev.c | 4 ++--
> drivers/gnss/core.c | 6 +++---
> drivers/gnss/serial.c | 4 ++--
> drivers/gnss/sirf.c | 6 +++---
> drivers/greybus/gb-beagleplay.c | 6 +++---
> drivers/iio/chemical/pms7003.c | 4 ++--
> drivers/iio/chemical/scd30_serial.c | 4 ++--
> drivers/iio/chemical/sps30_serial.c | 4 ++--
> drivers/iio/imu/bno055/bno055_ser_core.c | 4 ++--
> drivers/mfd/rave-sp.c | 4 ++--
> drivers/net/ethernet/qualcomm/qca_uart.c | 2 +-
> drivers/nfc/pn533/uart.c | 4 ++--
> drivers/nfc/s3fwrn5/uart.c | 4 ++--
> drivers/platform/chrome/cros_ec_uart.c | 4 ++--
> drivers/platform/surface/aggregator/core.c | 4 ++--
> drivers/tty/serdev/serdev-ttyport.c | 10 ++++------
> include/linux/gnss.h | 4 ++--
> include/linux/serdev.h | 8 ++++----
> sound/drivers/serial-generic.c | 4 ++--
> 21 files changed, 48 insertions(+), 50 deletions(-)