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

David Lechner posted 1 patch 3 months, 1 week ago
drivers/iio/adc/ad4000.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] iio: adc: ad4000: don't use shift_right()
Posted by David Lechner 3 months, 1 week ago
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@baylibre.com>
---
 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..fd3d79fca78581e51bb904d0bcfeda3d3663ea25 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,
-- 
David Lechner <dlechner@baylibre.com>
Re: [PATCH] iio: adc: ad4000: don't use shift_right()
Posted by Marcelo Schmitt 3 months, 1 week ago
On 07/02, 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@baylibre.com>
> ---
Reviewed-by: Marcelo Schmitt <marcelo.schmitt@analog.com>

>  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..fd3d79fca78581e51bb904d0bcfeda3d3663ea25 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,
> -- 
> David Lechner <dlechner@baylibre.com>
> 
>
Re: [PATCH] iio: adc: ad4000: don't use shift_right()
Posted by Nuno Sá 3 months, 1 week ago
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@baylibre.com>
> ---

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

>  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,
Re: [PATCH] iio: adc: ad4000: don't use shift_right()
Posted by Jonathan Cameron 3 months ago
On Wed, 02 Jul 2025 15:09:19 +0100
Nuno Sá <noname.nuno@gmail.com> wrote:

> 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@baylibre.com>
> > ---  
> 
> Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Applied.
> 
> >  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,  
>