Messages in this thread | | | From | Andy Shevchenko <> | Date | Wed, 5 Jan 2022 12:09:08 +0200 | Subject | Re: [PATCH] platform: finally disallow IRQ0 in platform_get_irq() and its ilk |
| |
On Wed, Jan 5, 2022 at 9:40 AM Sergey Shtylyov <s.shtylyov@omp.ru> wrote: > On 12/10/21 2:17 PM, Andy Shevchenko wrote:
> >>> Wanna help? > >> > >> No, I'm afraid you're on your own here... > > Tell me please, how far you've got with this by now? > (I've already started to add the fixups to your patch -- unfortunately, this change has to be > done atomically, not piecemeal.)
I just returned from vacation and will have another one soon, I don't think I will be doing much for the next couple of weeks.
> >>>> Fixes: a85a6c86c25b ("driver core: platform: Clarify that IRQ 0 is invalid") > >>> > >>> Not sure. > >> > >> Why? It fixes gthe IRQ0 problem, so that you don't have to check for IRQ0 in many callers > >> (for the subsytems that treat 0 as s/th special, like polling mode)... If you have something > >> to improve, you can do that atop of this patch... > > > > Because first we need to fix all users of platform_get_irq_optional(). > > I still don't understand why your issue should be fixed 1st -- but I don't really care about > the order...
See my other comments on the discussion. The rough roadmap is: 1) check which drivers are still subjects of vIRQ0 which is retrieved via IRQ resource 2) fix them accordingly (for example, by transforming to IRQ domains) 3) convert platform_get_irq() and Co (including optional variants) to follow the pattern a) non-optional APIs never return 0 b) optional APIs return negative error, or positive vIRQ or 0 when IRQ not found
Alternatively you may put a big comment in the drivers first and use platform_get_resource() for retrieving IRQ0 without WARN(). Then they will be subject to fix later on.
-- With Best Regards, Andy Shevchenko
| |