Re: [PATCH v4 2/3] treewide: Remove dev_err() usage after platform_get_irq()

From: Stephen Boyd
Date: Tue Jul 23 2019 - 18:25:01 EST


Quoting Rob Herring (2019-07-23 12:30:48)
> On Tue, Jul 23, 2019 at 12:16 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
> >
> > We don't need dev_err() messages when platform_get_irq() fails now that
> > platform_get_irq() prints an error message itself when something goes
> > wrong. Let's remove these prints with a simple semantic patch.
>
> Nice. Would be nice to see this for other commonly called functions in
> probe though we have deal with cases of failure being okay.
>
> >
> > // <smpl>
> > @@
> > expression ret;
> > struct platform_device *E;
> > @@
> >
> > ret =
> > (
> > platform_get_irq(E, ...)
> > |
> > platform_get_irq_byname(E, ...)
> > );
> >
> > if ( \( ret < 0 \| ret <= 0 \) )
> > {
> > (
> > -if (ret != -EPROBE_DEFER)
> > -{ ...
> > -dev_err(...);
> > -... }
> > |
> > ...
> > -dev_err(...);
>
> What about cases of pr_err, pr_warn, etc.? And the subsystem specific
> prints like edac_printk and DRM_ERROR/DRM_DEV_ERROR.

I can add more variants to the script and maybe catch some more prints.
Is that what you're asking for?

>
> There's also some cases that the irq seems to be optional. They use
> dev_info, but will now have an error level print. That's fine with me,
> but some may complain...

Yeah I wonder if there should be a platform_get_irq_optional() API that
more explicitly indicates this and then doesn't print a warning when the
irq isn't there.