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
State Accepted
Commit e967b60eb51116d2347093655e555aa036dd40d8
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)