diff mbox

[U-Boot] drivers: mmc: omap_hsmmc: Fix conversion of address to a pointer

Message ID 1459763569-29226-1-git-send-email-mugunthanvnm@ti.com
State Accepted
Commit 4bc5e19e124636c695459ffe3f654513ba93105a
Delegated to: Tom Rini
Headers show

Commit Message

Mugunthan V N April 4, 2016, 9:52 a.m. UTC
omap_hsmmc 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")

drivers/mmc/omap_hsmmc.c: In function ‘omap_hsmmc_ofdata_to_platdata’:
drivers/mmc/omap_hsmmc.c:776:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
                      ^

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
---
 drivers/mmc/omap_hsmmc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Tom Rini April 8, 2016, 7:45 p.m. UTC | #1
On Mon, Apr 04, 2016 at 03:22:49PM +0530, Mugunthan V N wrote:

> omap_hsmmc 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")
> 
> drivers/mmc/omap_hsmmc.c: In function ‘omap_hsmmc_ofdata_to_platdata’:
> drivers/mmc/omap_hsmmc.c:776:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>   priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
>                       ^
> 
> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini April 21, 2016, 11:20 a.m. UTC | #2
On Mon, Apr 04, 2016 at 03:22:49PM +0530, Mugunthan V N wrote:

> omap_hsmmc 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")
> 
> drivers/mmc/omap_hsmmc.c: In function ‘omap_hsmmc_ofdata_to_platdata’:
> drivers/mmc/omap_hsmmc.c:776:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>   priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
>                       ^
> 
> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
index d191736..85a832b 100644
--- a/drivers/mmc/omap_hsmmc.c
+++ b/drivers/mmc/omap_hsmmc.c
@@ -773,7 +773,8 @@  static int omap_hsmmc_ofdata_to_platdata(struct udevice *dev)
 	struct mmc_config *cfg;
 	int val;
 
-	priv->base_addr = (struct hsmmc *)dev_get_addr(dev);
+	priv->base_addr = map_physmem(dev_get_addr(dev), sizeof(struct hsmmc *),
+				      MAP_NOCACHE);
 	cfg = &priv->cfg;
 
 	cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS;