[PATCH] drivers/of: use __be32 types for big-endian device tree data

David Gibson david at gibson.dropbear.id.au
Tue Sep 14 13:23:21 EST 2010


On Mon, Sep 13, 2010 at 10:20:11PM -0500, Timur Tabi wrote:
> On Mon, Sep 13, 2010 at 10:13 PM, Jeremy Kerr <jeremy.kerr at canonical.com> wrote:
> > Use the sparse annotations so we can keep track of endianness.
> >
> > Signed-off-by: Jeremy Kerr <jeremy.kerr at canonical.com>
> 
> Does this mean that I should be using be32_to_cpu() whenever I
> dereference a pointer to a u32 in the device tree?  Currently, I do
> this:
> 
> const u32 *iprop;
> const u32 num;
> iprop = of_get_property(np, ...)
> num = *iprop;
> 
> Should I be doing this instead?
> 
> const __be32 *iprop;
> const u32 num;
> iprop = of_get_property(np, ...)
> num = be32_to_cpu(*iprop);

Yes.

Although, we should probably add a get_intprop() or similar helper
that will do this for you.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson


More information about the devicetree-discuss mailing list