[PATCH 4/5] iio: humidity: hts221: use dev_err_probe() in probe paths

From: Adi Nata

Date: Sat Aug 08 2026 - 05:02:16 EST


Convert remaining probe-time error logs to dev_err_probe() so the
errno is included and deferred probe failures stay quiet.

Signed-off-by: Adi Nata <adinata.softwareengineer@xxxxxxxxx>
---
drivers/iio/humidity/hts221_core.c | 30 ++++++++++++------------------
drivers/iio/humidity/hts221_i2c.c | 8 +++-----
drivers/iio/humidity/hts221_spi.c | 8 +++-----
3 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/drivers/iio/humidity/hts221_core.c b/drivers/iio/humidity/hts221_core.c
index da773d2edc80..313c80df3f6e 100644
--- a/drivers/iio/humidity/hts221_core.c
+++ b/drivers/iio/humidity/hts221_core.c
@@ -579,33 +579,27 @@ int hts221_probe(struct device *dev, int irq, const char *name,

/* configure humidity sensor */
err = hts221_parse_rh_caldata(hw);
- if (err < 0) {
- dev_err(hw->dev, "failed to get rh calibration data\n");
- return err;
- }
+ if (err < 0)
+ return dev_err_probe(hw->dev, err,
+ "failed to get rh calibration data\n");

data = hts221_avg_list[HTS221_SENSOR_H].avg_avl[3];
err = hts221_update_avg(hw, HTS221_SENSOR_H, data);
- if (err < 0) {
- dev_err(hw->dev, "failed to set rh oversampling ratio\n");
- return err;
- }
+ if (err < 0)
+ return dev_err_probe(hw->dev, err,
+ "failed to set rh oversampling ratio\n");

/* configure temperature sensor */
err = hts221_parse_temp_caldata(hw);
- if (err < 0) {
- dev_err(hw->dev,
- "failed to get temperature calibration data\n");
- return err;
- }
+ if (err < 0)
+ return dev_err_probe(hw->dev, err,
+ "failed to get temperature calibration data\n");

data = hts221_avg_list[HTS221_SENSOR_T].avg_avl[3];
err = hts221_update_avg(hw, HTS221_SENSOR_T, data);
- if (err < 0) {
- dev_err(hw->dev,
- "failed to set temperature oversampling ratio\n");
- return err;
- }
+ if (err < 0)
+ return dev_err_probe(hw->dev, err,
+ "failed to set temperature oversampling ratio\n");

if (hw->irq > 0) {
err = hts221_allocate_buffers(iio_dev);
diff --git a/drivers/iio/humidity/hts221_i2c.c b/drivers/iio/humidity/hts221_i2c.c
index 40276abc5d2e..8f5fa7d3eaf5 100644
--- a/drivers/iio/humidity/hts221_i2c.c
+++ b/drivers/iio/humidity/hts221_i2c.c
@@ -29,11 +29,9 @@ static int hts221_i2c_probe(struct i2c_client *client)
struct regmap *regmap;

regmap = devm_regmap_init_i2c(client, &hts221_i2c_regmap_config);
- if (IS_ERR(regmap)) {
- dev_err(&client->dev, "Failed to register i2c regmap %ld\n",
- PTR_ERR(regmap));
- return PTR_ERR(regmap);
- }
+ if (IS_ERR(regmap))
+ return dev_err_probe(&client->dev, PTR_ERR(regmap),
+ "Failed to register i2c regmap\n");

return hts221_probe(&client->dev, client->irq,
client->name, regmap);
diff --git a/drivers/iio/humidity/hts221_spi.c b/drivers/iio/humidity/hts221_spi.c
index e6fef2acd523..916fe8481c4a 100644
--- a/drivers/iio/humidity/hts221_spi.c
+++ b/drivers/iio/humidity/hts221_spi.c
@@ -30,11 +30,9 @@ static int hts221_spi_probe(struct spi_device *spi)
struct regmap *regmap;

regmap = devm_regmap_init_spi(spi, &hts221_spi_regmap_config);
- if (IS_ERR(regmap)) {
- dev_err(&spi->dev, "Failed to register spi regmap %ld\n",
- PTR_ERR(regmap));
- return PTR_ERR(regmap);
- }
+ if (IS_ERR(regmap))
+ return dev_err_probe(&spi->dev, PTR_ERR(regmap),
+ "Failed to register spi regmap\n");

return hts221_probe(&spi->dev, spi->irq,
spi->modalias, regmap);
--
2.47.3