diff mbox series

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

Message ID 20210915155908.476767-28-miquel.raynal@bootlin.com (mailing list archive)
State Not Applicable
Headers show
Series TI AM437X ADC1 | expand

Commit Message

Miquel Raynal Sept. 15, 2021, 3:58 p.m. UTC
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.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/iio/adc/ti_am335x_adc.c      | 18 +++++++++---------
 include/linux/mfd/ti_am335x_tscadc.h |  2 ++
 2 files changed, 11 insertions(+), 9 deletions(-)

Comments

Jonathan Cameron Sept. 18, 2021, 4:22 p.m. UTC | #1
On Wed, 15 Sep 2021 17:58:48 +0200
Miquel Raynal <miquel.raynal@bootlin.com> 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@bootlin.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

> ---
>  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)
diff mbox series

Patch

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)