Message ID | 20230313115356.334937-1-frank@crawford.emu.id.au (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [v1] hwmon (it87): Add scaling macro for recent ADC voltages | expand |
On Mon, Mar 13, 2023 at 10:53:56PM +1100, Frank Crawford wrote: > Generalise scaling to include all recent ADC values and match the labels > for internal voltage sensors. > > This includes correction of an existing error for voltage scaling for > chips that have 10.9mV ADCs, where scaling was not performed. > This is again two logical changes in a single patch, one of which is a bug fix. Guenter > Signed-off-by: Frank Crawford <frank@crawford.emu.id.au> > --- > drivers/hwmon/it87.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c > index 66f7ceaa7c3f..f774a0732a7c 100644 > --- a/drivers/hwmon/it87.c > +++ b/drivers/hwmon/it87.c > @@ -515,6 +515,8 @@ static const struct it87_devices it87_devices[] = { > #define has_six_temp(data) ((data)->features & FEAT_SIX_TEMP) > #define has_vin3_5v(data) ((data)->features & FEAT_VIN3_5V) > #define has_conf_noexit(data) ((data)->features & FEAT_CONF_NOEXIT) > +#define has_scaling(data) ((data)->features & (FEAT_12MV_ADC | \ > + FEAT_10_9MV_ADC)) > > struct it87_sio_data { > int sioaddr; > @@ -2002,7 +2004,7 @@ static ssize_t show_label(struct device *dev, struct device_attribute *attr, > > if (has_vin3_5v(data) && nr == 0) > label = labels[0]; > - else if (has_12mv_adc(data) || has_10_9mv_adc(data)) > + else if (has_scaling(data)) > label = labels_it8721[nr]; > else > label = labels[nr]; > @@ -3134,7 +3136,7 @@ static int it87_probe(struct platform_device *pdev) > "Detected broken BIOS defaults, disabling PWM interface\n"); > > /* Starting with IT8721F, we handle scaling of internal voltages */ > - if (has_12mv_adc(data)) { > + if (has_scaling(data)) { > if (sio_data->internal & BIT(0)) > data->in_scaled |= BIT(3); /* in3 is AVCC */ > if (sio_data->internal & BIT(1))
diff --git a/drivers/hwmon/it87.c b/drivers/hwmon/it87.c index 66f7ceaa7c3f..f774a0732a7c 100644 --- a/drivers/hwmon/it87.c +++ b/drivers/hwmon/it87.c @@ -515,6 +515,8 @@ static const struct it87_devices it87_devices[] = { #define has_six_temp(data) ((data)->features & FEAT_SIX_TEMP) #define has_vin3_5v(data) ((data)->features & FEAT_VIN3_5V) #define has_conf_noexit(data) ((data)->features & FEAT_CONF_NOEXIT) +#define has_scaling(data) ((data)->features & (FEAT_12MV_ADC | \ + FEAT_10_9MV_ADC)) struct it87_sio_data { int sioaddr; @@ -2002,7 +2004,7 @@ static ssize_t show_label(struct device *dev, struct device_attribute *attr, if (has_vin3_5v(data) && nr == 0) label = labels[0]; - else if (has_12mv_adc(data) || has_10_9mv_adc(data)) + else if (has_scaling(data)) label = labels_it8721[nr]; else label = labels[nr]; @@ -3134,7 +3136,7 @@ static int it87_probe(struct platform_device *pdev) "Detected broken BIOS defaults, disabling PWM interface\n"); /* Starting with IT8721F, we handle scaling of internal voltages */ - if (has_12mv_adc(data)) { + if (has_scaling(data)) { if (sio_data->internal & BIT(0)) data->in_scaled |= BIT(3); /* in3 is AVCC */ if (sio_data->internal & BIT(1))
Generalise scaling to include all recent ADC values and match the labels for internal voltage sensors. This includes correction of an existing error for voltage scaling for chips that have 10.9mV ADCs, where scaling was not performed. Signed-off-by: Frank Crawford <frank@crawford.emu.id.au> --- drivers/hwmon/it87.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)