diff mbox series

[v1,1/1] iio: adc: sc27xx_adc: Re-use generic struct u32_fract

Message ID 20220530180910.2533-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Headers show
Series [v1,1/1] iio: adc: sc27xx_adc: Re-use generic struct u32_fract | expand

Commit Message

Andy Shevchenko May 30, 2022, 6:09 p.m. UTC
Instead of custom data type re-use generic struct u32_fract.
No changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/adc/sc27xx_adc.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

Comments

Jonathan Cameron June 3, 2022, 5:03 p.m. UTC | #1
On Mon, 30 May 2022 21:09:10 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> Instead of custom data type re-use generic struct u32_fract.

There isn't a custom data type  - I'll reword this whilst applying
if there is no reason for a v2.

> No changes intended.

functional changes

> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Given they have been active recently I'd ideally like Cixi Geng
to take a quick glance at this before I apply it.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/sc27xx_adc.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.c
> index e9ff2d6a8a57..f8421cbba8fa 100644
> --- a/drivers/iio/adc/sc27xx_adc.c
> +++ b/drivers/iio/adc/sc27xx_adc.c
> @@ -579,15 +579,14 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
>  	return ret;
>  }
>  
> -static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data,
> -				  int channel, int scale,
> -				  u32 *div_numerator, u32 *div_denominator)
> +static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, int channel, int scale,
> +				  struct u32_fract *fract)
>  {
>  	u32 ratio;
>  
>  	ratio = data->var_data->get_ratio(channel, scale);
> -	*div_numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> -	*div_denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
> +	fract->numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> +	fract->denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
>  }
>  
>  static int adc_to_volt(struct sc27xx_adc_linear_graph *graph,
> @@ -615,7 +614,7 @@ static int sc27xx_adc_to_volt(struct sc27xx_adc_linear_graph *graph,
>  static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
>  				   int scale, int raw_adc)
>  {
> -	u32 numerator, denominator;
> +	struct u32_fract fract;
>  	u32 volt;
>  
>  	/*
> @@ -637,9 +636,9 @@ static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
>  		break;
>  	}
>  
> -	sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
> +	sc27xx_adc_volt_ratio(data, channel, scale, &fract);
>  
> -	return DIV_ROUND_CLOSEST(volt * denominator, numerator);
> +	return DIV_ROUND_CLOSEST(volt * fract.denominator, fract.numerator);
>  }
>  
>  static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,
Cixi Geng June 6, 2022, 3:12 a.m. UTC | #2
Jonathan Cameron <jic23@kernel.org> 于2022年6月4日周六 01:44写道:
>
> On Mon, 30 May 2022 21:09:10 +0300
> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> > Instead of custom data type re-use generic struct u32_fract.
>
> There isn't a custom data type  - I'll reword this whilst applying
> if there is no reason for a v2.
>
> > No changes intended.
>
> functional changes
>
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Given they have been active recently I'd ideally like Cixi Geng
> to take a quick glance at this before I apply it.
Acked-by: Cixi Geng <cixi.geng1@unisoc.com>
>
> Thanks,
>
> Jonathan
>
> > ---
> >  drivers/iio/adc/sc27xx_adc.c | 15 +++++++--------
> >  1 file changed, 7 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.c
> > index e9ff2d6a8a57..f8421cbba8fa 100644
> > --- a/drivers/iio/adc/sc27xx_adc.c
> > +++ b/drivers/iio/adc/sc27xx_adc.c
> > @@ -579,15 +579,14 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
> >       return ret;
> >  }
> >
> > -static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data,
> > -                               int channel, int scale,
> > -                               u32 *div_numerator, u32 *div_denominator)
> > +static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, int channel, int scale,
> > +                               struct u32_fract *fract)
> >  {
> >       u32 ratio;
> >
> >       ratio = data->var_data->get_ratio(channel, scale);
> > -     *div_numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> > -     *div_denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
> > +     fract->numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> > +     fract->denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
> >  }
> >
> >  static int adc_to_volt(struct sc27xx_adc_linear_graph *graph,
> > @@ -615,7 +614,7 @@ static int sc27xx_adc_to_volt(struct sc27xx_adc_linear_graph *graph,
> >  static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
> >                                  int scale, int raw_adc)
> >  {
> > -     u32 numerator, denominator;
> > +     struct u32_fract fract;
> >       u32 volt;
> >
> >       /*
> > @@ -637,9 +636,9 @@ static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
> >               break;
> >       }
> >
> > -     sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
> > +     sc27xx_adc_volt_ratio(data, channel, scale, &fract);
> >
> > -     return DIV_ROUND_CLOSEST(volt * denominator, numerator);
> > +     return DIV_ROUND_CLOSEST(volt * fract.denominator, fract.numerator);
> >  }
> >
> >  static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,
>
Jonathan Cameron June 12, 2022, 9:08 a.m. UTC | #3
On Mon, 6 Jun 2022 11:12:15 +0800
Cixi Geng <gengcixi@gmail.com> wrote:

> Jonathan Cameron <jic23@kernel.org> 于2022年6月4日周六 01:44写道:
> >
> > On Mon, 30 May 2022 21:09:10 +0300
> > Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >  
> > > Instead of custom data type re-use generic struct u32_fract.  
> >
> > There isn't a custom data type  - I'll reword this whilst applying
> > if there is no reason for a v2.
> >  
> > > No changes intended.  
> >
> > functional changes
> >  
> > >
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>  
> > Given they have been active recently I'd ideally like Cixi Geng
> > to take a quick glance at this before I apply it.  
> Acked-by: Cixi Geng <cixi.geng1@unisoc.com>

Applied to the togreg branch of iio.git and will be pushed out initially
as testing for 0-day to take a look.

Thanks,

Jonathan

> >
> > Thanks,
> >
> > Jonathan
> >  
> > > ---
> > >  drivers/iio/adc/sc27xx_adc.c | 15 +++++++--------
> > >  1 file changed, 7 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.c
> > > index e9ff2d6a8a57..f8421cbba8fa 100644
> > > --- a/drivers/iio/adc/sc27xx_adc.c
> > > +++ b/drivers/iio/adc/sc27xx_adc.c
> > > @@ -579,15 +579,14 @@ static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
> > >       return ret;
> > >  }
> > >
> > > -static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data,
> > > -                               int channel, int scale,
> > > -                               u32 *div_numerator, u32 *div_denominator)
> > > +static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, int channel, int scale,
> > > +                               struct u32_fract *fract)
> > >  {
> > >       u32 ratio;
> > >
> > >       ratio = data->var_data->get_ratio(channel, scale);
> > > -     *div_numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> > > -     *div_denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
> > > +     fract->numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
> > > +     fract->denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
> > >  }
> > >
> > >  static int adc_to_volt(struct sc27xx_adc_linear_graph *graph,
> > > @@ -615,7 +614,7 @@ static int sc27xx_adc_to_volt(struct sc27xx_adc_linear_graph *graph,
> > >  static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
> > >                                  int scale, int raw_adc)
> > >  {
> > > -     u32 numerator, denominator;
> > > +     struct u32_fract fract;
> > >       u32 volt;
> > >
> > >       /*
> > > @@ -637,9 +636,9 @@ static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
> > >               break;
> > >       }
> > >
> > > -     sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
> > > +     sc27xx_adc_volt_ratio(data, channel, scale, &fract);
> > >
> > > -     return DIV_ROUND_CLOSEST(volt * denominator, numerator);
> > > +     return DIV_ROUND_CLOSEST(volt * fract.denominator, fract.numerator);
> > >  }
> > >
> > >  static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,  
> >
diff mbox series

Patch

diff --git a/drivers/iio/adc/sc27xx_adc.c b/drivers/iio/adc/sc27xx_adc.c
index e9ff2d6a8a57..f8421cbba8fa 100644
--- a/drivers/iio/adc/sc27xx_adc.c
+++ b/drivers/iio/adc/sc27xx_adc.c
@@ -579,15 +579,14 @@  static int sc27xx_adc_read(struct sc27xx_adc_data *data, int channel,
 	return ret;
 }
 
-static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data,
-				  int channel, int scale,
-				  u32 *div_numerator, u32 *div_denominator)
+static void sc27xx_adc_volt_ratio(struct sc27xx_adc_data *data, int channel, int scale,
+				  struct u32_fract *fract)
 {
 	u32 ratio;
 
 	ratio = data->var_data->get_ratio(channel, scale);
-	*div_numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
-	*div_denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
+	fract->numerator = ratio >> SC27XX_RATIO_NUMERATOR_OFFSET;
+	fract->denominator = ratio & SC27XX_RATIO_DENOMINATOR_MASK;
 }
 
 static int adc_to_volt(struct sc27xx_adc_linear_graph *graph,
@@ -615,7 +614,7 @@  static int sc27xx_adc_to_volt(struct sc27xx_adc_linear_graph *graph,
 static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
 				   int scale, int raw_adc)
 {
-	u32 numerator, denominator;
+	struct u32_fract fract;
 	u32 volt;
 
 	/*
@@ -637,9 +636,9 @@  static int sc27xx_adc_convert_volt(struct sc27xx_adc_data *data, int channel,
 		break;
 	}
 
-	sc27xx_adc_volt_ratio(data, channel, scale, &numerator, &denominator);
+	sc27xx_adc_volt_ratio(data, channel, scale, &fract);
 
-	return DIV_ROUND_CLOSEST(volt * denominator, numerator);
+	return DIV_ROUND_CLOSEST(volt * fract.denominator, fract.numerator);
 }
 
 static int sc27xx_adc_read_processed(struct sc27xx_adc_data *data,