At Tue, 7 Oct 2014 18:23:37 +0100, Mark Brown wrote:
On Tue, Oct 07, 2014 at 07:17:08PM +0200, Takashi Iwai wrote:
Mark Brown wrote:
On Tue, Oct 07, 2014 at 06:19:51PM +0200, Takashi Iwai wrote:
- struct device_node *np;
- struct device_node *np = NULL;
No, unconditional initialisations like this are worse than the problem they're trying to fix.
Which problem they're trying to fix...?
Shutting up warnings - because they just brute forcing they mean that if there's anything else we've missed the compiler won't be able to tell us about it.
Initializing with NULL for the of_node_put() at error path is a standard idiom. An alternative fix would be to add "if (!pdata)" before of_node_put(np). But this isn't really intuitive, either (and even more error-prone, IMO).
Well, in this case I'd just move the of_node_put() into the existing check for pdata since we don't ever reference np outside of that anyway.
Yeah, that's an option, too, but it'd make the code less readable. So I chose the straightforward way.
Takashi