[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5d41ab2c.1c69fb81.6129.661f@mx.google.com>
Date: Wed, 31 Jul 2019 07:52:27 -0700
From: Stephen Boyd <swboyd@...omium.org>
To: Wolfram Sang <wsa@...-dreams.de>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh@...nel.org>,
Michal Marek <michal.lkml@...kovi.net>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Nicolas Palix <nicolas.palix@...g.fr>,
linux-kernel@...r.kernel.org,
Javier Martinez Canillas <javierm@...hat.com>,
Andrzej Hajda <a.hajda@...sung.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Mark Brown <broonie@...nel.org>,
Russell King - ARM Linux <linux@...linux.org.uk>,
cocci@...teme.lip6.fr, Marek Szyprowski <m.szyprowski@...sung.com>
Subject: Re: [Cocci] [PATCH v5 0/3] Add error message to platform_get_irq*()
Quoting Wolfram Sang (2019-07-31 07:26:46)
> Hi Stephen,
>
> > There were some comments about adding an 'optional' platform_get_irq()
> > API in v4. This series doesn't include that, but I can add such an API
> > if it's required. I started to look into how it might work and got hung
> > up on what an optional IRQ means. I suppose it means that in DT there
> > isn't an 'interrupts' property in the device node, but in ACPI based
> > firmware I'm not sure what that would correspond to. Furthermore, the
> > return value is hard to comprehend. Do we return an error when an
> > optional irq can't be found? It doesn't seem safe to return 0 because
> > sometimes 0 is a valid IRQ. Do other errors in parsing the IRQ
> > constitute a failure when the IRQ is optional?
>
> Some time ago, I tried a series like yours and got stuck at this very
> point. I found drivers where using an interrupt was optional and
> platform_get_irq() returning a failure wasn't fatal. The drivers used
> PIO then or dropped some additional functionality. Some of them were
> very old.
>
> I didn't like the idea that platform_get_irq() will spit out errors for
> those drivers, yet I couldn't create a suitable cocci-script to convert
> drivers to use the *_optional callback where possible. So, I neither
> created the optional callback.
>
> I still have doubts of unneeded error messages popping up. Has this been
> discussed already? (Sorry, I missed the first iterations of this series)
Not heavily discussed, but it was mentioned in an earlier round. If
these drivers pop up, I think we can have another function like
platform_get_irq_probe() or platform_get_irq_nowarn() that doesn't print
an error message. Then we can convert the drivers that are poking around
for interrupts to use this new function instead. It isn't the same as a
platform_get_optional_irq() API because it returns an error when the irq
isn't there or we fail to parse something, but at least the error
message is gone.
Powered by blists - more mailing lists