Thread (4 messages) 4 messages, 2 authors, 2016-06-10

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help