[PATCH v2 4/5] iio: humidity: hts221: use dev_err_probe() in probe paths
From: Adi Nata
Date: Thu Aug 13 2026 - 11:45:39 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 | 26 ++++++++------------------
drivers/iio/humidity/hts221_i2c.c | 11 ++++-------
drivers/iio/humidity/hts221_spi.c | 11 ++++-------
3 files changed, 16 insertions(+), 32 deletions(-)
diff --git a/drivers/iio/humidity/hts221_core.c b/drivers/iio/humidity/hts221_core.c
index b73c26aae9ec..fda38dfc6742 100644
--- a/drivers/iio/humidity/hts221_core.c
+++ b/drivers/iio/humidity/hts221_core.c
@@ -578,33 +578,23 @@ 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(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(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(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(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..e6dc9532cfbd 100644
--- a/drivers/iio/humidity/hts221_i2c.c
+++ b/drivers/iio/humidity/hts221_i2c.c
@@ -26,17 +26,14 @@ static const struct regmap_config hts221_i2c_regmap_config = {
static int hts221_i2c_probe(struct i2c_client *client)
{
+ struct device *dev = &client->dev;
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(dev, PTR_ERR(regmap), "Failed to register i2c regmap\n");
- return hts221_probe(&client->dev, client->irq,
- client->name, regmap);
+ return hts221_probe(dev, client->irq, client->name, regmap);
}
static const struct acpi_device_id hts221_acpi_match[] = {
diff --git a/drivers/iio/humidity/hts221_spi.c b/drivers/iio/humidity/hts221_spi.c
index e6fef2acd523..8bcc1b5d150e 100644
--- a/drivers/iio/humidity/hts221_spi.c
+++ b/drivers/iio/humidity/hts221_spi.c
@@ -27,17 +27,14 @@ static const struct regmap_config hts221_spi_regmap_config = {
static int hts221_spi_probe(struct spi_device *spi)
{
+ struct device *dev = &spi->dev;
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(dev, PTR_ERR(regmap), "Failed to register spi regmap\n");
- return hts221_probe(&spi->dev, spi->irq,
- spi->modalias, regmap);
+ return hts221_probe(dev, spi->irq, spi->modalias, regmap);
}
static const struct of_device_id hts221_spi_of_match[] = {
--
2.47.3