Message ID | 20240323122030.21800-6-l.rubusch@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: accel: adxl345: Add spi-3wire feature | expand |
On Sat, 23 Mar 2024 12:20:29 +0000 Lothar Rubusch <l.rubusch@gmail.com> 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@gmail.com> > --- > 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)
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 + * + * 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)
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. Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com> --- drivers/iio/accel/adxl345_core.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)