dm: omap_timer: Fix conversion of address to a pointer
authorLokesh Vutla <lokeshvutla@ti.com>
Sat, 5 Mar 2016 11:10:32 +0000 (16:40 +0530)
committerTom Rini <trini@konsulko.com>
Mon, 14 Mar 2016 23:18:45 +0000 (19:18 -0400)
OMAP timer driver directly typecasts fdt_addr_t to a pointer. This is
not strictly correct, as it gives a build warning when fdt_addr_t is u64.
So, use map_physmem for a proper typecasts.

This is inspired by commit 167efe01bc5a9 ("dm: ns16550: Use an address
instead of a pointer for the uart base")

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
drivers/timer/omap-timer.c

index 3bb38c522c07ac0f2bbfea694041f5e8b9c65ea7..7422e0a653059565d62359833f0dbad6e6c67679 100644 (file)
@@ -79,7 +79,8 @@ static int omap_timer_ofdata_to_platdata(struct udevice *dev)
 {
        struct omap_timer_priv *priv = dev_get_priv(dev);
 
-       priv->regs = (struct omap_gptimer_regs *)dev_get_addr(dev);
+       priv->regs = map_physmem(dev_get_addr(dev),
+                                sizeof(struct omap_gptimer_regs), MAP_NOCACHE);
 
        return 0;
 }