of/xsysace: Fix OF probing on little-endian systems
authorMichal Simek <monstr@monstr.eu>
Mon, 18 Oct 2010 05:33:09 +0000 (15:33 +1000)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 18 Oct 2010 15:50:09 +0000 (09:50 -0600)
Convert big-endian DTB to little-endian if necessary.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/block/xsysace.c

index 057413b..66911d3 100644 (file)
@@ -1224,7 +1224,8 @@ ace_of_probe(struct platform_device *op, const struct of_device_id *match)
                bus_width = ACE_BUS_WIDTH_8;
 
        /* Call the bus-independant setup code */
-       return ace_alloc(&op->dev, id ? *id : 0, physaddr, irq, bus_width);
+       return ace_alloc(&op->dev, id ? be32_to_cpup(id) : 0,
+                                               physaddr, irq, bus_width);
 }
 
 static int __devexit ace_of_remove(struct platform_device *op)