summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-10-18 07:33:09 +0200
committerGrant Likely <grant.likely@secretlab.ca>2010-10-18 17:50:09 +0200
commitbda80da469a93122121de601dd469ce1aaa6effa (patch)
tree415fed71efabd2b2c529ef489785794354cae58d /drivers/block
parentof: use __be32 types for big-endian device tree data (diff)
downloadlinux-bda80da469a93122121de601dd469ce1aaa6effa.tar.xz
linux-bda80da469a93122121de601dd469ce1aaa6effa.zip
of/xsysace: Fix OF probing on little-endian systems
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>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/xsysace.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/xsysace.c b/drivers/block/xsysace.c
index 057413bb16e2..66911d360ad6 100644
--- a/drivers/block/xsysace.c
+++ b/drivers/block/xsysace.c
@@ -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)