On Tue, 26 Oct 2021 21:34:34 +0530 Jishnu Prakash <quic_jprakash@xxxxxxxxxxx> wrote: > Add reverse scaling function for PMIC5 Gen2 ADC_TM, to convert > temperature to raw ADC code, for setting thresholds for > thermistor channels. > > Signed-off-by: Jishnu Prakash <quic_jprakash@xxxxxxxxxxx> This little utility function looks fine to me. Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/iio/adc/qcom-vadc-common.c | 11 +++++++++++ > include/linux/iio/adc/qcom-vadc-common.h | 2 ++ > 2 files changed, 13 insertions(+) > > diff --git a/drivers/iio/adc/qcom-vadc-common.c b/drivers/iio/adc/qcom-vadc-common.c > index 1472389..194d7c3 100644 > --- a/drivers/iio/adc/qcom-vadc-common.c > +++ b/drivers/iio/adc/qcom-vadc-common.c > @@ -677,6 +677,17 @@ u16 qcom_adc_tm5_temp_volt_scale(unsigned int prescale_ratio, > } > EXPORT_SYMBOL(qcom_adc_tm5_temp_volt_scale); > > +u16 qcom_adc_tm5_gen2_temp_res_scale(int temp) > +{ > + int64_t resistance; > + > + resistance = qcom_vadc_map_temp_voltage(adcmap7_100k, > + ARRAY_SIZE(adcmap7_100k), temp); > + > + return div64_s64(resistance * RATIO_MAX_ADC7, resistance + R_PU_100K); > +} > +EXPORT_SYMBOL(qcom_adc_tm5_gen2_temp_res_scale); > + > int qcom_adc5_hw_scale(enum vadc_scale_fn_type scaletype, > unsigned int prescale_ratio, > const struct adc5_data *data, > diff --git a/include/linux/iio/adc/qcom-vadc-common.h b/include/linux/iio/adc/qcom-vadc-common.h > index 33f60f4..598a5d2 100644 > --- a/include/linux/iio/adc/qcom-vadc-common.h > +++ b/include/linux/iio/adc/qcom-vadc-common.h > @@ -161,6 +161,8 @@ int qcom_adc5_hw_scale(enum vadc_scale_fn_type scaletype, > u16 qcom_adc_tm5_temp_volt_scale(unsigned int prescale_ratio, > u32 full_scale_code_volt, int temp); > > +u16 qcom_adc_tm5_gen2_temp_res_scale(int temp); > + > int qcom_adc5_prescaling_from_dt(u32 num, u32 den); > > int qcom_adc5_hw_settle_time_from_dt(u32 value, const unsigned int *hw_settle);