Re: [PATCH] iio: light: veml3328: remove redundant cast in read_avail
From: David Lechner
Date: Mon Jul 27 2026 - 09:27:58 EST
On 7/27/26 6:27 AM, Giorgi Tchankvetadze wrote:
> From: Giorgi Tchankvetadze <giorgi@xxxxxxxxxxxxxxxxx>
>
> veml3328_scale_vals is declared as a const int array, so
> veml3328_scale_vals[it_inx] already decays to const int *,
> matching the type of *vals. The explicit (const int *) cast
> is therefore redundant and can be dropped.
>
> No functional change.
>
> Signed-off-by: Giorgi Tchankvetadze <giorgi@xxxxxxxxxxxxxxxxx>
> ---
> drivers/iio/light/veml3328.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/light/veml3328.c b/drivers/iio/light/veml3328.c
> index 7ff1753925c4..a3c49beee93a 100644
> --- a/drivers/iio/light/veml3328.c
> +++ b/drivers/iio/light/veml3328.c
> @@ -228,7 +228,7 @@ static int veml3328_read_avail(struct iio_dev *indio_dev,
> return -EINVAL;
>
> *length = 8;
> - *vals = (const int *)veml3328_scale_vals[it_inx];
> + *vals = veml3328_scale_vals[it_inx];
> *type = IIO_VAL_INT_PLUS_MICRO;
> return IIO_AVAIL_LIST;
> }
We'll see if there are other opinions (before sending a v2)...
Usually, we would declare the array like:
static const int veml3328_scale_vals[4][4][2] ...
in which case this cast would be needed.
Currently, it is `static const int veml3328_scale_vals[4][8]` and
accessed like:
/* Stride by 2 through the flattened array to match (val, val2) */
*val = veml3328_scale_vals[it_inx][gain_inx * 2];
*val2 = veml3328_scale_vals[it_inx][gain_inx * 2 + 1];
Normally, we would do that like:
*val = veml3328_scale_vals[it_inx][gain_inx][0];
*val2 = veml3328_scale_vals[it_inx][gain_inx][1];