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