[PATCH v1] iio: magnetometer: ak8974: Silence deferred-probe error

From: Dmitry Osipenko
Date: Tue Apr 14 2020 - 18:27:36 EST


It's not uncommon that voltage regulator becomes available later during
kernel's boot process, in this case there is no need to print a noisy
error message. This patch moves the message about unavailable regulator
to the debug level in a case of the deferred-probe error and also amends
the message with error code.

Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
---
drivers/iio/magnetometer/ak8974.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/ak8974.c
index d32996702110..cc3861f97d42 100644
--- a/drivers/iio/magnetometer/ak8974.c
+++ b/drivers/iio/magnetometer/ak8974.c
@@ -718,6 +718,7 @@ static const struct regmap_config ak8974_regmap_config = {
static int ak8974_probe(struct i2c_client *i2c,
const struct i2c_device_id *id)
{
+ const char *level = KERN_ERR;
struct iio_dev *indio_dev;
struct ak8974 *ak8974;
unsigned long irq_trig;
@@ -746,7 +747,11 @@ static int ak8974_probe(struct i2c_client *i2c,
ARRAY_SIZE(ak8974->regs),
ak8974->regs);
if (ret < 0) {
- dev_err(&i2c->dev, "cannot get regulators\n");
+ if (ret == -EPROBE_DEFER)
+ level = KERN_DEBUG;
+
+ dev_printk(level, &i2c->dev, "cannot get regulators: %d\n",
+ ret);
return ret;
}

--
2.26.0