[v3 1/2] iio: adc: aspeed: Remove the trim valid dts property.

Jonathan Cameron jic23 at kernel.org
Tue Nov 15 07:21:43 AEDT 2022


On Mon, 14 Nov 2022 10:50:56 +0800
Billy Tsai <billy_tsai at aspeedtech.com> 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 at aspeedtech.com>
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)) {



More information about the Linux-aspeed mailing list