Re: [PATCH v2] driver core: platform: Add an error message to platform_get_irq*()
From: Stephen Boyd
Date: Wed Jan 02 2019 - 13:18:03 EST
Quoting Andy Shevchenko (2018-12-30 02:42:39)
> On Fri, Dec 28, 2018 at 11:56 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
> >
> > A grep of the kernel shows that many drivers print an error message if
> > they fail to get the irq they're looking for. Furthermore, those drivers
> > all decide to print the device name, or not, and the irq they were
> > requesting, or not, etc. Let's consolidate all these error messages into
> > the API itself, allowing us to get rid of the error messages in each
> > driver.
>
> > +static int __platform_get_irq(struct platform_device *dev, unsigned int num, bool warn)
> > {
>
> > +error:
> > + if (warn)
> > + dev_err(&dev->dev, "IRQ index %u not found\n", num);
> > +
> > + return ret;
> > +}
> > +
> > +/**
> > + * platform_get_irq - get an IRQ for a device
> > + * @dev: platform device
> > + * @num: IRQ number index
> > + */
> > +int platform_get_irq(struct platform_device *dev, unsigned int num)
> > +{
> > + return __platform_get_irq(dev, num, true);
>
> Hmm... Why not just do
> int ret = __plaform_get_irq();
> if (ret)
> dev_err();
> return ret;
>
> instead of big refactoring of platform_get_irq()?
Sure. Thanks for the suggestion. But we need to check for ret < 0 I
suppose so that we don't print an error message for all the irq numbers.
I'll send the updated patch as a v3.