lkml.org 
[lkml]   [2011]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC][PATCH][TRIVIAL] System ACE fails in look for root devices
Date
From
Sorry for delay. I had lot of work.

> However, of_property_read_u32() can only accept a u32 value, not an
> int, so this needs to be solved with two variables to be correct:
>
> int id;
> u32 tmp;
> id = dev->id;
> if (of_property_read_u32(dev->dev.of_node, "port-number", &tmp)
> id = tmp;
> if (id < 0)
> id = 0;
>

I think of_property_read_u32() returns nonzero, when not found (-ENODATA),
therefore:

if (! of_property_read_u32(dev->dev.of_node, "port-number", &tmp))

> It's not as pretty, but it is a limitation of how of_property_read_u32
> has to be implemented. I hope to find a better way to do it that
> doesn't have the u32 restriction on the return value.

I hope, nobody will use port-number bigger than max(int) :-D. Oh and I
would improve code to something like this:

int id;
u32 tmp;
if (! of_property_read_u32(dev->dev.of_node, "port-number", &tmp))
{ /*when return 0, use tmp val*/
id = tmp; /*always >0 */
} else { /* when error, use dev->id and test >0 */
id = dev->id;
if (id < 0)
id = 0;
}

Petr


\
 
 \ /
  Last update: 2011-10-17 16:51    [W:0.049 / U:23.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site