Re: [PATCH] of: irq: don't return 0 from of_irq_get()
From: Rob Herring <robh@kernel.org>
Date: 2016-06-10 12:55:44
Also in:
lkml
From: Rob Herring <robh@kernel.org>
Date: 2016-06-10 12:55:44
Also in:
lkml
On Fri, Jun 10, 2016 at 7:14 AM, Sergei Shtylyov [off-list ref] wrote:
On 6/3/2016 3:14 PM, Rob Herring wrote:quoted
quoted
of_irq_get() returns 0 iff irq_create_of_mapping() call fails. Returning both error code and 0 on failure is a sign of a misdesigned API. Return -ENXIO instead like one of the callers, platform_get_irq(), does; fix up the kernel-doc as well... Signed-off-by: Sergei Shtylyov <redacted>So I think this is done this way because of the variation in NO_IRQ definition across architectures.I remember that NO_IRQ is "considered harmful" by Linus. Actually, I'm nit sure what you mean, could you elaborate on that?
Calling locations could handle 0 vs. negative differently. The return value propagates as well, so you can't easily audit how it is handled. I'm being paranoid, but we need a better reason than "misdesigned API". I'm pretty sure we misdesigned it on purpose. Rob