From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: Matti Vaittinen <mazziesaccount@gmail.com>,
Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>,
Cosmin Tanislav <cosmin.tanislav@analog.com>,
Jagath Jog J <jagathjog1996@gmail.com>,
Sean Nyekjaer <sean@geanix.com>,
Dmitry Rokosov <DDRokosov@sberdevices.ru>,
Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Michael Hennerich <michael.hennerich@analog.com>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Martyn Welch <martyn.welch@collabora.com>,
Gwendal Grignou <gwendal@chromium.org>,
Stephen Boyd <swboyd@chromium.org>,
Tomasz Duszynski <tduszyns@gmail.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: [PATCH 13/14] iio: pressure: ms5611: Use devm_regulator_get_enable()
Date: Sun, 16 Oct 2022 17:34:08 +0100 [thread overview]
Message-ID: <20221016163409.320197-14-jic23@kernel.org> (raw)
In-Reply-To: <20221016163409.320197-1-jic23@kernel.org>
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This driver only turns the power on at probe and off via a custom
devm_add_action_or_reset() callback. The new devm_regulator_get_enable()
replaces this boilerplate code. Some additional refactoring to drop
now unnecessary unwinding after this change.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Tomasz Duszynski <tduszyns@gmail.com>
---
drivers/iio/pressure/ms5611.h | 3 ---
drivers/iio/pressure/ms5611_core.c | 32 +++++-------------------------
2 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/drivers/iio/pressure/ms5611.h b/drivers/iio/pressure/ms5611.h
index cbc9349c342a..816e83befd23 100644
--- a/drivers/iio/pressure/ms5611.h
+++ b/drivers/iio/pressure/ms5611.h
@@ -13,8 +13,6 @@
#include <linux/iio/iio.h>
#include <linux/mutex.h>
-struct regulator;
-
#define MS5611_RESET 0x1e
#define MS5611_READ_ADC 0x00
#define MS5611_READ_PROM_WORD 0xA0
@@ -56,7 +54,6 @@ struct ms5611_state {
s32 *temp, s32 *pressure);
struct ms5611_chip_info *chip_info;
- struct regulator *vdd;
};
int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index 717521de66c4..b95ee6034548 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -390,40 +390,21 @@ static const struct iio_info ms5611_info = {
static int ms5611_init(struct iio_dev *indio_dev)
{
int ret;
- struct ms5611_state *st = iio_priv(indio_dev);
/* Enable attached regulator if any. */
- st->vdd = devm_regulator_get(indio_dev->dev.parent, "vdd");
- if (IS_ERR(st->vdd))
- return PTR_ERR(st->vdd);
-
- ret = regulator_enable(st->vdd);
- if (ret) {
- dev_err(indio_dev->dev.parent,
- "failed to enable Vdd supply: %d\n", ret);
+ ret = devm_regulator_get_enable(indio_dev->dev.parent, "vdd");
+ if (ret)
return ret;
- }
ret = ms5611_reset(indio_dev);
if (ret < 0)
- goto err_regulator_disable;
+ return ret;
ret = ms5611_read_prom(indio_dev);
if (ret < 0)
- goto err_regulator_disable;
+ return ret;
return 0;
-
-err_regulator_disable:
- regulator_disable(st->vdd);
- return ret;
-}
-
-static void ms5611_fini(const struct iio_dev *indio_dev)
-{
- const struct ms5611_state *st = iio_priv(indio_dev);
-
- regulator_disable(st->vdd);
}
int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
@@ -454,7 +435,7 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
ms5611_trigger_handler, NULL);
if (ret < 0) {
dev_err(dev, "iio triggered buffer setup failed\n");
- goto err_fini;
+ return ret;
}
ret = iio_device_register(indio_dev);
@@ -467,8 +448,6 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
err_buffer_cleanup:
iio_triggered_buffer_cleanup(indio_dev);
-err_fini:
- ms5611_fini(indio_dev);
return ret;
}
EXPORT_SYMBOL_NS(ms5611_probe, IIO_MS5611);
@@ -477,7 +456,6 @@ void ms5611_remove(struct iio_dev *indio_dev)
{
iio_device_unregister(indio_dev);
iio_triggered_buffer_cleanup(indio_dev);
- ms5611_fini(indio_dev);
}
EXPORT_SYMBOL_NS(ms5611_remove, IIO_MS5611);
--
2.37.2
next prev parent reply other threads:[~2022-10-16 16:34 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-16 16:33 [PATCH 00/14] IIO: More devm_regulator[_bulk]_get_enable() users Jonathan Cameron
2022-10-16 16:33 ` [PATCH 01/14] iio: accel: adxl367: Use devm_regulator_bulk_get_enable() Jonathan Cameron
2022-10-17 5:26 ` Matti Vaittinen
2022-10-16 16:33 ` [PATCH 02/14] iio: accel: bma400: " Jonathan Cameron
2022-10-17 5:27 ` Matti Vaittinen
2022-12-04 18:15 ` Jonathan Cameron
2022-10-16 16:33 ` [PATCH 03/14] iio: accel: fxls8962af: Use devm_regulator_get_enable() Jonathan Cameron
2022-10-17 5:27 ` Matti Vaittinen
2022-10-17 9:23 ` Sean Nyekjaer
2022-10-16 16:33 ` [PATCH 04/14] iio: accel: kxcjk-1013: Use devm_regulator_bulk_get_enable() Jonathan Cameron
2022-10-17 5:28 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 05/14] iio: accel: msa311: Use devm_regulator_get_enable() Jonathan Cameron
2022-10-18 15:14 ` Dmitry Rokosov
2022-10-16 16:34 ` [PATCH 06/14] iio: cdc: ad7150: " Jonathan Cameron
2022-10-17 5:27 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 07/14] iio: st_sensors: core and lsm9ds0 switch to devm_regulator_bulk_get_enable() Jonathan Cameron
2022-10-17 5:44 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 08/14] iio: frequency: ad9523: Use devm_regulator_get_enable() Jonathan Cameron
2022-10-17 5:48 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 09/14] iio: humidity: hts211: " Jonathan Cameron
2022-10-17 5:53 ` Matti Vaittinen
2022-10-17 7:11 ` Lorenzo Bianconi
2022-10-16 16:34 ` [PATCH 10/14] iio: light: ltr501: Use devm_regulator_bulk_get_enable() Jonathan Cameron
2022-10-17 5:56 ` Matti Vaittinen
2022-10-17 6:03 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 11/14] iio: light: noa1305: Use devm_regulator_get_enable() Jonathan Cameron
2022-10-17 6:06 ` Matti Vaittinen
2022-10-16 16:34 ` [PATCH 12/14] iio: proximity: sx_common: Use devm_regulator_bulk_get_enable() Jonathan Cameron
2022-10-17 6:09 ` Matti Vaittinen
2022-10-18 22:21 ` Stephen Boyd
2022-10-16 16:34 ` Jonathan Cameron [this message]
2022-10-17 6:26 ` [PATCH 13/14] iio: pressure: ms5611: Use devm_regulator_get_enable() Matti Vaittinen
2022-10-17 6:26 ` Matti Vaittinen
2022-12-04 18:19 ` Jonathan Cameron
2022-10-16 16:34 ` [PATCH 14/14] iio: pressure: ms5611: Switch to fully devm_ managed registration Jonathan Cameron
2022-10-17 6:30 ` Matti Vaittinen
2022-12-04 18:22 ` Jonathan Cameron
2022-10-17 11:27 ` [PATCH 00/14] IIO: More devm_regulator[_bulk]_get_enable() users Sa, Nuno
2022-10-23 13:03 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221016163409.320197-14-jic23@kernel.org \
--to=jic23@kernel.org \
--cc=DDRokosov@sberdevices.ru \
--cc=Jonathan.Cameron@huawei.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=cosmin.tanislav@analog.com \
--cc=gwendal@chromium.org \
--cc=jagathjog1996@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-iio@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=martyn.welch@collabora.com \
--cc=matti.vaittinen@fi.rohmeurope.com \
--cc=mazziesaccount@gmail.com \
--cc=michael.hennerich@analog.com \
--cc=sean@geanix.com \
--cc=swboyd@chromium.org \
--cc=tduszyns@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.