Message ID | 20210915155908.476767-28-miquel.raynal@bootlin.com |
---|---|
State | Accepted |
Commit | e967b60eb51116d2347093655e555aa036dd40d8 |
Headers | show |
Series | TI AM437X ADC1 | expand |
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 --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)
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(-)