Re: [PATCH v3 27/47] mfd: ti_am335x_tscadc: Clarify the maximum values for DT entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 15 Sep 2021 17:58:48 +0200
Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:

> Clearly define the maximum open delay and sample delay. Use these
> definitions in place of a mask (which works because this is the first
> field in the register) and an open-coded value. While at it reword a
> little bit the error messages to make them look clearer and similar.

I wouldn't bother explaining why the old method of using the mask happened
to work.  It confused me when reading this description :)

Otherwise, lgtm
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

> ---
>  drivers/iio/adc/ti_am335x_adc.c      | 18 +++++++++---------
>  include/linux/mfd/ti_am335x_tscadc.h |  2 ++
>  2 files changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
> index 3dec115e68ee..a241e6fa3564 100644
> --- a/drivers/iio/adc/ti_am335x_adc.c
> +++ b/drivers/iio/adc/ti_am335x_adc.c
> @@ -126,7 +126,7 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
>  		chan = adc_dev->channel_line[i];
>  
>  		if (adc_dev->step_avg[i] > STEPCONFIG_AVG_16) {
> -			dev_warn(dev, "chan %d step_avg truncating to %ld\n",
> +			dev_warn(dev, "chan %d: wrong step avg, truncated to %ld\n",
>  				 chan, STEPCONFIG_AVG_16);
>  			adc_dev->step_avg[i] = STEPCONFIG_AVG_16;
>  		}
> @@ -147,16 +147,16 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
>  				STEPCONFIG_RFP_VREFP |
>  				STEPCONFIG_RFM_VREFN);
>  
> -		if (adc_dev->open_delay[i] > STEPDELAY_OPEN_MASK) {
> -			dev_warn(dev, "chan %d open delay truncating to 0x3FFFF\n",
> -				 chan);
> -			adc_dev->open_delay[i] = STEPDELAY_OPEN_MASK;
> +		if (adc_dev->open_delay[i] > STEPCONFIG_MAX_OPENDLY) {
> +			dev_warn(dev, "chan %d: wrong open delay, truncated to 0x%lX\n",
> +				 chan, STEPCONFIG_MAX_OPENDLY);
> +			adc_dev->open_delay[i] = STEPCONFIG_MAX_OPENDLY;
>  		}
>  
> -		if (adc_dev->sample_delay[i] > 0xFF) {
> -			dev_warn(dev, "chan %d sample delay truncating to 0xFF\n",
> -				 chan);
> -			adc_dev->sample_delay[i] = 0xFF;
> +		if (adc_dev->sample_delay[i] > STEPCONFIG_MAX_SAMPLE) {
> +			dev_warn(dev, "chan %d: wrong sample delay, truncated to 0x%lX\n",
> +				 chan, STEPCONFIG_MAX_SAMPLE);
> +			adc_dev->sample_delay[i] = STEPCONFIG_MAX_SAMPLE;
>  		}
>  
>  		tiadc_writel(adc_dev, REG_STEPDELAY(steps),
> diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
> index e6fe623bb1aa..babc2e36c5d0 100644
> --- a/include/linux/mfd/ti_am335x_tscadc.h
> +++ b/include/linux/mfd/ti_am335x_tscadc.h
> @@ -91,7 +91,9 @@
>  #define STEPCONFIG_OPENDLY	STEPDELAY_OPEN(0x098)
>  #define STEPDELAY_SAMPLE_MASK	GENMASK(31, 24)
>  #define STEPDELAY_SAMPLE(val)	FIELD_PREP(STEPDELAY_SAMPLE_MASK, (val))
> +#define STEPCONFIG_MAX_OPENDLY	GENMASK(17, 0)
>  #define STEPCONFIG_SAMPLEDLY	STEPDELAY_SAMPLE(0)
> +#define STEPCONFIG_MAX_SAMPLE	GENMASK(7, 0)
>  
>  /* Charge Config */
>  #define STEPCHARGE_RFP_MASK	GENMASK(14, 12)




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux