On Mon, 14 Nov 2022 10:50:56 +0800 Billy Tsai <billy_tsai@xxxxxxxxxxxxxx> wrote: > The dts property "aspeed,trim-data-valid" is currently used to determine > whether to read trimming data from the OTP register. If this is set on > a device without valid trimming data in the OTP the ADC will not function > correctly. This patch drops the use of this property and instead uses the > default (unprogrammed) OTP value of 0 to detect when a fallback value of > 0x8 should be used rather then the value read from the OTP. > > Fixes: d0a4c17b4073 ("iio: adc: aspeed: Get and set trimming data.") > Signed-off-by: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx> Series applied to the fixes-togreg branch of iio.git and marked for stable. Thanks, Jonathan > --- > drivers/iio/adc/aspeed_adc.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c > index 9341e0e0eb55..998e8bcc06e1 100644 > --- a/drivers/iio/adc/aspeed_adc.c > +++ b/drivers/iio/adc/aspeed_adc.c > @@ -202,6 +202,8 @@ static int aspeed_adc_set_trim_data(struct iio_dev *indio_dev) > ((scu_otp) & > (data->model_data->trim_locate->field)) >> > __ffs(data->model_data->trim_locate->field); > + if (!trimming_val) > + trimming_val = 0x8; > } > dev_dbg(data->dev, > "trimming val = %d, offset = %08x, fields = %08x\n", > @@ -563,12 +565,9 @@ static int aspeed_adc_probe(struct platform_device *pdev) > if (ret) > return ret; > > - if (of_find_property(data->dev->of_node, "aspeed,trim-data-valid", > - NULL)) { > - ret = aspeed_adc_set_trim_data(indio_dev); > - if (ret) > - return ret; > - } > + ret = aspeed_adc_set_trim_data(indio_dev); > + if (ret) > + return ret; > > if (of_find_property(data->dev->of_node, "aspeed,battery-sensing", > NULL)) {