From: Sanjay Chitroda <sanjayembeddedse@gmail.com>
To: lucas.p.stankus@gmail.com, lars@metafoo.de,
Michael.Hennerich@analog.com, jic23@kernel.org,
puranjay@kernel.org, cosmin.tanislav@analog.com,
marcelo.schmitt@analog.com, antoniu.miclaus@analog.com,
ramona.gradinariu@analog.com
Cc: dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 5/8] iio: accel: adxl355: Use dev_err_probe
Date: Fri, 17 Apr 2026 18:19:21 +0530 [thread overview]
Message-ID: <20260417124924.353189-6-sanjayembedded@gmail.com> (raw)
In-Reply-To: <20260417124924.353189-1-sanjayembedded@gmail.com>
From: Sanjay Chitroda <sanjayembeddedse@gmail.com>
dev_err_probe() makes error code handling simpler and handles
deferred probe nicely (avoid spamming logs).
Signed-off-by: Sanjay Chitroda <sanjayembeddedse@gmail.com>
---
drivers/iio/accel/adxl355_core.c | 24 ++++++++----------------
drivers/iio/accel/adxl355_i2c.c | 11 ++++-------
drivers/iio/accel/adxl355_spi.c | 11 ++++-------
3 files changed, 16 insertions(+), 30 deletions(-)
diff --git a/drivers/iio/accel/adxl355_core.c b/drivers/iio/accel/adxl355_core.c
index a310f8e37e3d..03e5744d9667 100644
--- a/drivers/iio/accel/adxl355_core.c
+++ b/drivers/iio/accel/adxl355_core.c
@@ -336,10 +336,8 @@ static int adxl355_setup(struct adxl355_data *data)
return ret;
do {
- if (--retries == 0) {
- dev_err(data->dev, "Shadow registers mismatch\n");
- return -EIO;
- }
+ if (--retries == 0)
+ return dev_err_probe(data->dev, -EIO, "Shadow registers mismatch\n");
/*
* Perform a software reset to make sure the device is in a consistent
@@ -775,10 +773,8 @@ static int adxl355_probe_trigger(struct iio_dev *indio_dev, int irq)
irq);
ret = devm_iio_trigger_register(data->dev, data->dready_trig);
- if (ret) {
- dev_err(data->dev, "iio trigger register failed\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(data->dev, ret, "iio trigger register failed\n");
indio_dev->trig = iio_trigger_get(data->dready_trig);
@@ -814,18 +810,14 @@ int adxl355_core_probe(struct device *dev, struct regmap *regmap,
indio_dev->available_scan_masks = adxl355_avail_scan_masks;
ret = adxl355_setup(data);
- if (ret) {
- dev_err(dev, "ADXL355 setup failed\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "ADXL355 setup failed\n");
ret = devm_iio_triggered_buffer_setup(dev, indio_dev,
&iio_pollfunc_store_time,
&adxl355_trigger_handler, NULL);
- if (ret) {
- dev_err(dev, "iio triggered buffer setup failed\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "iio triggered buffer setup failed\n");
irq = fwnode_irq_get_byname(dev_fwnode(dev), "DRDY");
if (irq > 0) {
diff --git a/drivers/iio/accel/adxl355_i2c.c b/drivers/iio/accel/adxl355_i2c.c
index 1a512c7b792b..19490a6e1f35 100644
--- a/drivers/iio/accel/adxl355_i2c.c
+++ b/drivers/iio/accel/adxl355_i2c.c
@@ -23,6 +23,7 @@ static const struct regmap_config adxl355_i2c_regmap_config = {
static int adxl355_i2c_probe(struct i2c_client *client)
{
struct regmap *regmap;
+ struct device *dev = &client->dev;
const struct adxl355_chip_info *chip_data;
chip_data = i2c_get_match_data(client);
@@ -30,14 +31,10 @@ static int adxl355_i2c_probe(struct i2c_client *client)
return -ENODEV;
regmap = devm_regmap_init_i2c(client, &adxl355_i2c_regmap_config);
- if (IS_ERR(regmap)) {
- dev_err(&client->dev, "Error initializing i2c regmap: %ld\n",
- PTR_ERR(regmap));
+ if (IS_ERR(regmap))
+ return dev_err_probe(dev, PTR_ERR(regmap), "Error initializing i2c regmap\n");
- return PTR_ERR(regmap);
- }
-
- return adxl355_core_probe(&client->dev, regmap, chip_data);
+ return adxl355_core_probe(dev, regmap, chip_data);
}
static const struct i2c_device_id adxl355_i2c_id[] = {
diff --git a/drivers/iio/accel/adxl355_spi.c b/drivers/iio/accel/adxl355_spi.c
index 869e3e57d6f7..347ed62b6582 100644
--- a/drivers/iio/accel/adxl355_spi.c
+++ b/drivers/iio/accel/adxl355_spi.c
@@ -26,6 +26,7 @@ static const struct regmap_config adxl355_spi_regmap_config = {
static int adxl355_spi_probe(struct spi_device *spi)
{
const struct adxl355_chip_info *chip_data;
+ struct device *dev = &spi->dev;
struct regmap *regmap;
chip_data = spi_get_device_match_data(spi);
@@ -33,14 +34,10 @@ static int adxl355_spi_probe(struct spi_device *spi)
return -EINVAL;
regmap = devm_regmap_init_spi(spi, &adxl355_spi_regmap_config);
- if (IS_ERR(regmap)) {
- dev_err(&spi->dev, "Error initializing spi regmap: %ld\n",
- PTR_ERR(regmap));
+ if (IS_ERR(regmap))
+ return dev_err_probe(dev, PTR_ERR(regmap), "Error initializing spi regmap\n");
- return PTR_ERR(regmap);
- }
-
- return adxl355_core_probe(&spi->dev, regmap, chip_data);
+ return adxl355_core_probe(dev, regmap, chip_data);
}
static const struct spi_device_id adxl355_spi_id[] = {
--
2.34.1
next prev parent reply other threads:[~2026-04-17 12:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-17 12:49 [PATCH 0/2] iio: accel: small cleanups and error-handling improvements Sanjay Chitroda
2026-04-17 12:49 ` [PATCH v2 1/8] iio: accel: adxl313_core: Use devm-managed mutex initialization Sanjay Chitroda
2026-04-17 12:49 ` [PATCH v2 2/8] iio: accel: adxl313: Use dev_err_probe Sanjay Chitroda
2026-04-17 18:35 ` Andy Shevchenko
2026-04-17 18:47 ` Sanjay Chitroda
2026-04-18 0:15 ` Andy Shevchenko
2026-04-17 12:49 ` [PATCH v2 3/8] iio: accel: adxl380: Use devm-managed mutex initialization Sanjay Chitroda
2026-04-17 12:49 ` [PATCH v2 4/8] iio: accel: adxl355_core: " Sanjay Chitroda
2026-04-17 12:49 ` Sanjay Chitroda [this message]
2026-04-17 12:49 ` [PATCH v2 6/8] iio: accel: adxl367: " Sanjay Chitroda
2026-04-17 12:49 ` [PATCH v2 7/8] iio: accel: adxl372: " Sanjay Chitroda
2026-04-17 12:49 ` [PATCH v2 8/8] iio: accel: adxl372: Use dev_err_probe Sanjay Chitroda
2026-04-17 19:20 ` Sanjay Chitroda
2026-04-18 7:01 ` Cosmin Tanislav
2026-04-19 16:34 ` [PATCH 0/2] iio: accel: small cleanups and error-handling improvements Jonathan Cameron
2026-04-19 17:19 ` Sanjay Chitroda
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=20260417124924.353189-6-sanjayembedded@gmail.com \
--to=sanjayembeddedse@gmail.com \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=antoniu.miclaus@analog.com \
--cc=cosmin.tanislav@analog.com \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lucas.p.stankus@gmail.com \
--cc=marcelo.schmitt@analog.com \
--cc=nuno.sa@analog.com \
--cc=puranjay@kernel.org \
--cc=ramona.gradinariu@analog.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.