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 |
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,
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, >
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 --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,
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(-)