Re: [PATCH] iio: adc: ad4000: don't use shift_right()

From: Nuno Sá
Date: Wed Jul 02 2025 - 10:10:28 EST


On Wed, 2025-07-02 at 08:23 -0500, David Lechner wrote:
> Drop use of shift_right() macro for unsigned value. The shift_right()
> macro is intended for signed values and is not needed for unsigned
> values.
>
> This was found by a static analysis tool [1].
>
> Link:
> https://github.com/analogdevicesinc/linux/pull/2831/files#diff-c14a34a6492576d22e7192cc0f61ad0083190aeb627191596fe12462f0c6f21aR557
>  [1]
> Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
> ---

Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx>

>  drivers/iio/adc/ad4000.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/adc/ad4000.c b/drivers/iio/adc/ad4000.c
> index
> 5609a7845b6f50b5818613170df6b234f8f0c496..fd3d79fca78581e51bb904d0bcfeda3d3663
> ea25 100644
> --- a/drivers/iio/adc/ad4000.c
> +++ b/drivers/iio/adc/ad4000.c
> @@ -554,7 +554,7 @@ static void ad4000_fill_scale_tbl(struct ad4000_state *st,
>   val = mult_frac(st->vref_mv, MICRO, st->gain_milli);
>  
>   /* Would multiply by NANO here but we multiplied by extra MILLI */
> - tmp2 = shift_right((u64)val * MICRO, scale_bits);
> + tmp2 = (u64)val * MICRO >> scale_bits;
>   tmp0 = div_s64_rem(tmp2, NANO, &tmp1);
>  
>   /* Store scale for when span compression is disabled */
>
> ---
> base-commit: 6742eff60460e77158d4f1b233f17e0345c9e66a
> change-id: 20250702-iio-adc-ad4000-don-t-use-shift_right-bda6e41152b6
>
> Best regards,