diff mbox series

[v2] iio: magnetometer: ak8974: Silence deferred-probe error

Message ID 20200417162204.14463-1-digetx@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] iio: magnetometer: ak8974: Silence deferred-probe error | expand

Commit Message

Dmitry Osipenko April 17, 2020, 4:22 p.m. UTC
It's not uncommon that voltage regulator becomes available later during
kernel's boot process. This patch adds info message about unavailable
regulators in a case of the deferred-probe error and also amends the
error message with a error code.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---

Changelog:

v2: - Replaced dev_printk() with dev_info() for the deferred-probe error,
      as was requested by Linus Walleij in a review comment to v1.

 drivers/iio/magnetometer/ak8974.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Andy Shevchenko April 17, 2020, 8:49 p.m. UTC | #1
On Fri, Apr 17, 2020 at 7:24 PM Dmitry Osipenko <digetx@gmail.com> wrote:
>
> It's not uncommon that voltage regulator becomes available later during
> kernel's boot process. This patch adds info message about unavailable
> regulators in a case of the deferred-probe error and also amends the
> error message with a error code.


> +               if (ret == -EPROBE_DEFER)

> +                       dev_info(&i2c->dev,
> +                                "regulators unavailable, deferring probe\n");

I dunno why you think it is worth to spam log with this?
This message will be printed as many times as driver got deferred
probe cycle (maybe dozens in worst case).

> +               else
> +                       dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
> +
>                 return ret;
>         }
>
> --
> 2.26.0
>
Andy Shevchenko April 17, 2020, 8:50 p.m. UTC | #2
On Fri, Apr 17, 2020 at 11:49 PM Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Fri, Apr 17, 2020 at 7:24 PM Dmitry Osipenko <digetx@gmail.com> wrote:
> >
> > It's not uncommon that voltage regulator becomes available later during
> > kernel's boot process. This patch adds info message about unavailable
> > regulators in a case of the deferred-probe error and also amends the
> > error message with a error code.
>
>
> > +               if (ret == -EPROBE_DEFER)
>
> > +                       dev_info(&i2c->dev,
> > +                                "regulators unavailable, deferring probe\n");
>
> I dunno why you think it is worth to spam log with this?
> This message will be printed as many times as driver got deferred
> probe cycle (maybe dozens in worst case).

As you may see in other drivers we usually have the opposite check and
print error message in case of != EPROBE_DEFER.


>
> > +               else
> > +                       dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
Jonathan Cameron April 18, 2020, 2:26 p.m. UTC | #3
On Fri, 17 Apr 2020 23:50:37 +0300
Andy Shevchenko <andy.shevchenko@gmail.com> wrote:

> On Fri, Apr 17, 2020 at 11:49 PM Andy Shevchenko
> <andy.shevchenko@gmail.com> wrote:
> > On Fri, Apr 17, 2020 at 7:24 PM Dmitry Osipenko <digetx@gmail.com> wrote:  
> > >
> > > It's not uncommon that voltage regulator becomes available later during
> > > kernel's boot process. This patch adds info message about unavailable
> > > regulators in a case of the deferred-probe error and also amends the
> > > error message with a error code.  
> >
> >  
> > > +               if (ret == -EPROBE_DEFER)  
> >  
> > > +                       dev_info(&i2c->dev,
> > > +                                "regulators unavailable, deferring probe\n");  
> >
> > I dunno why you think it is worth to spam log with this?
> > This message will be printed as many times as driver got deferred
> > probe cycle (maybe dozens in worst case).  
> 
> As you may see in other drivers we usually have the opposite check and
> print error message in case of != EPROBE_DEFER.

Definitely is not a good idea to print an info message for deferred.
A debug message maybe but probably not even that.

Jonathan

> 
> 
> >  
> > > +               else
> > > +                       dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);  
>
diff mbox series

Patch

diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/ak8974.c
index d32996702110..ae1dc478fc02 100644
--- a/drivers/iio/magnetometer/ak8974.c
+++ b/drivers/iio/magnetometer/ak8974.c
@@ -746,7 +746,12 @@  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)
+			dev_info(&i2c->dev,
+				 "regulators unavailable, deferring probe\n");
+		else
+			dev_err(&i2c->dev, "cannot get regulators: %d\n", ret);
+
 		return ret;
 	}