Re: [PATCH 2/2] arch/powerpc/platforms/powermac/setup.c: add missing of_node_put

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>>  arch/powerpc/platforms/powermac/setup.c |    8 ++++++--
>>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/powerpc/platforms/powermac/setup.c b/arch/powerpc/platforms/powermac/setup.c
>>> index 96580b1..970ea1d 100644
>>> --- a/arch/powerpc/platforms/powermac/setup.c
>>> +++ b/arch/powerpc/platforms/powermac/setup.c
>>> @@ -494,11 +494,15 @@ static int __init pmac_declare_of_platform_devices(void)
>>>  		return -1;
>>>  
>>>  	np = of_find_node_by_name(NULL, "valkyrie");
>>> -	if (np)
>>> +	if (np) {
>>>  		of_platform_device_create(np, "valkyrie", NULL);
>>> +		of_node_put(np);
>>> +	}
>>>  	np = of_find_node_by_name(NULL, "platinum");
>>> -	if (np)
>>> +	if (np) {
>>>  		of_platform_device_create(np, "platinum", NULL);
>>> +		of_node_put(np);
>>> +	}
>>>          np = of_find_node_by_type(NULL, "smu");
>>>          if (np) {
>>>  		of_platform_device_create(np, "smu", NULL);
>>>
>>
>>
>> hi,
>> it seems save to call of_node_put(np) with np==NULL, i assume the same is true
>> for of_platform_device_create().
>>
>> so the code collapses to:
>>
>> _test_node(char *name)
>> {
>>  struct device_node *np;
>>  np = of_find_node_by_name(NULL, name);
>>  of_platform_device_create(np, name, NULL);
> 
> of_platform_device_create seems to do a lot of work if np is NULL.  It 
> returns NULL in the end, as far as I can see, but a lot of function calls 
> are required.
> 

Yes but it is called only once at init.
but the whole code makes me burp, even if something is found he continues
to search.
How do the other driver handle this ?

re,
 wh



> julia
> 
>>  of_node_put(np);
>>  return NULL?:0:1;
>> }
>>
>> maybe there is already something like find_node() ?
>>
>> re,
>>  wh
>>

> 
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux