Re: [PATCH v4 1/4] drm/scdc-helper: Don't use ssize_t return type for scdc_read/write

From: Hans Verkuil

Date: Tue Jun 02 2026 - 01:46:55 EST


On 27/05/2026 16:03, Nicolas Frattaroli wrote:
> drm_scdc_read and drm_scdc_write, both of which are only used within
> drm_scdc_helper (although exported), use a ssize_t as their return type.
>
> This would make sense if they returned the number of bytes read/written
> on success, and negative errno otherwise. However, they return 0 on
> success.
>
> Demote them to "int" as their return type, in order to avoid needlessly
> using 64 bits when less suffices.
>
> No functional change.

Reviewed-by: Hans Verkuil <hverkuil+cisco@xxxxxxxxxx>

Regards,

Hans

>
> Reviewed-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>
> ---
> drivers/gpu/drm/display/drm_scdc_helper.c | 8 ++++----
> include/drm/display/drm_scdc_helper.h | 8 ++++----
> 2 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/display/drm_scdc_helper.c b/drivers/gpu/drm/display/drm_scdc_helper.c
> index df878aad4a36..8403f2390ab6 100644
> --- a/drivers/gpu/drm/display/drm_scdc_helper.c
> +++ b/drivers/gpu/drm/display/drm_scdc_helper.c
> @@ -67,8 +67,8 @@
> * Returns:
> * 0 on success, negative error code on failure.
> */
> -ssize_t drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
> - size_t size)
> +int drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
> + size_t size)
> {
> int ret;
> struct i2c_msg msgs[2] = {
> @@ -107,8 +107,8 @@ EXPORT_SYMBOL(drm_scdc_read);
> * Returns:
> * 0 on success, negative error code on failure.
> */
> -ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
> - const void *buffer, size_t size)
> +int drm_scdc_write(struct i2c_adapter *adapter, u8 offset, const void *buffer,
> + size_t size)
> {
> struct i2c_msg msg = {
> .addr = SCDC_I2C_SLAVE_ADDRESS,
> diff --git a/include/drm/display/drm_scdc_helper.h b/include/drm/display/drm_scdc_helper.h
> index 34600476a1b9..e9ccaeba56dd 100644
> --- a/include/drm/display/drm_scdc_helper.h
> +++ b/include/drm/display/drm_scdc_helper.h
> @@ -31,10 +31,10 @@
> struct drm_connector;
> struct i2c_adapter;
>
> -ssize_t drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
> - size_t size);
> -ssize_t drm_scdc_write(struct i2c_adapter *adapter, u8 offset,
> - const void *buffer, size_t size);
> +int drm_scdc_read(struct i2c_adapter *adapter, u8 offset, void *buffer,
> + size_t size);
> +int drm_scdc_write(struct i2c_adapter *adapter, u8 offset, const void *buffer,
> + size_t size);
>
> /**
> * drm_scdc_readb - read a single byte from SCDC
>