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)