On Sat, 23 Mar 2024 12:20:29 +0000 Lothar Rubusch <l.rubusch@xxxxxxxxx> wrote: > In the probe function group bus configuration and the > indio_dev initialization to improve readability. Add a > comment to the probe function to explain function arguments. Doing 2 unrelated things. 2 Patches. > > Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx> > --- > drivers/iio/accel/adxl345_core.c | 23 +++++++++++++++++------ > 1 file changed, 17 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_core.c > index e3718d0dd..662628cdf 100644 > --- a/drivers/iio/accel/adxl345_core.c > +++ b/drivers/iio/accel/adxl345_core.c > @@ -209,6 +209,16 @@ static void adxl345_powerdown(void *regmap) > regmap_write(regmap, ADXL345_REG_POWER_CTL, ADXL345_POWER_CTL_STANDBY); > } > > +/** > + * adxl345_core_probe() - probe and setup for the adxl345 accelerometer, > + * also covers the adlx375 accelerometer > + * @dev: Driver model representation of the device > + * @regmap: Regmap instance for the device > + * @setup: Setup routine to be executed right before the standard device > + * setup, can also be set to NULL if not required * @setup: Optional setup routine to be executed right before standard * device setup. For a function pointer, optional implies NULL if you don't want it. > + * > + * Return: 0 on success, negative errno on error > + */ > int adxl345_core_probe(struct device *dev, struct regmap *regmap, > int (*setup)(struct device*, struct regmap*)) > { > @@ -238,22 +248,23 @@ int adxl345_core_probe(struct device *dev, struct regmap *regmap, > > data = iio_priv(indio_dev); > data->regmap = regmap; > - /* Enable full-resolution mode */ > + > data->info = device_get_match_data(dev); > if (!data->info) > return -ENODEV; > > - ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, > - ADXL345_DATA_FORMAT_MSK, ADXL345_DATA_FORMAT_FULL_RES); > - if (ret) > - return dev_err_probe(dev, ret, "Failed to set data range\n"); > - > indio_dev->name = data->info->name; > indio_dev->info = &adxl345_info; > indio_dev->modes = INDIO_DIRECT_MODE; > indio_dev->channels = adxl345_channels; > indio_dev->num_channels = ARRAY_SIZE(adxl345_channels); > > + /* Enable full-resolution mode */ > + ret = regmap_update_bits(regmap, ADXL345_REG_DATA_FORMAT, > + ADXL345_DATA_FORMAT_MSK, ADXL345_DATA_FORMAT_FULL_RES); > + if (ret) > + return dev_err_probe(dev, ret, "Failed to set data range\n"); > + > /* Enable measurement mode */ > ret = adxl345_powerup(data->regmap); > if (ret < 0)