Thread (2 messages) 2 messages, 2 authors, 2012-01-06

Re: [PATCH] irqdomain: Initialize number of IRQs for simple domains

From: Thierry Reding <hidden>
Date: 2012-01-06 16:20:16
Also in: linux-arm-kernel, linux-arm-msm, linux-omap

* Grant Likely wrote:
Hi Thierry,

On Fri, Jan 6, 2012 at 7:28 AM, Thierry Reding
[off-list ref] wrote:
quoted
The irq_domain_add() function needs the number of interrupts in the
domain to properly initialize them. In addition the allocated domain
is now returned by the irq_domain_{add,generate}_simple() helpers.
The commit text should also include the justification for renaming
irq_domain_create_simple() -> irq_domain_add_simple()
Actually the commit only fixes up the comment. The function has always been
called irq_domain_add_simple().

For reference, this was introduced in commit 7e71330.
quoted
       domain = kzalloc(sizeof(*domain), GFP_KERNEL);
-       if (!domain) {
-               WARN_ON(1);
-               return;
-       }
+       if (!domain)
+               return ERR_PTR(-ENOMEM);
Don't use the ERR_PTR() pattern (it's a horrible pattern IMHO).
Returning NULL here is probably okay. Can the ERR_PTR stay in
irq_domain_generate_simple(), though? It has two error conditions and
handling both by returning NULL may not be what we want.
Return NULL on failure and keep the WARN_ON() in this function.
Otherwise looks good.  Thanks for writing this patch.
I thought it would be better to pull the WARN_ON out of the function because
we now actually have a way to determine if the call succeeded in the caller.
In most cases I assume the caller will be much better suited to handle the
situation gracefully such that the WARN_ON is not required.

Thierry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help