提交 7234a286 编写于 作者: M Marek Vasut 提交者: Marek Vasut

net: sh_eth: Fix 64bit build warnings

Fix various type warnings when building this driver for 64bit machine.
Signed-off-by: NMarek Vasut <marek.vasut+renesas@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
上级 46c33166
...@@ -37,8 +37,8 @@ ...@@ -37,8 +37,8 @@
#if defined(CONFIG_SH_ETHER_CACHE_WRITEBACK) && \ #if defined(CONFIG_SH_ETHER_CACHE_WRITEBACK) && \
!CONFIG_IS_ENABLED(SYS_DCACHE_OFF) !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
#define flush_cache_wback(addr, len) \ #define flush_cache_wback(addr, len) \
flush_dcache_range((u32)addr, \ flush_dcache_range((unsigned long)addr, \
(u32)(addr + ALIGN(len, CONFIG_SH_ETHER_ALIGNE_SIZE))) (unsigned long)(addr + ALIGN(len, CONFIG_SH_ETHER_ALIGNE_SIZE)))
#else #else
#define flush_cache_wback(...) #define flush_cache_wback(...)
#endif #endif
...@@ -46,11 +46,11 @@ ...@@ -46,11 +46,11 @@
#if defined(CONFIG_SH_ETHER_CACHE_INVALIDATE) && defined(CONFIG_ARM) #if defined(CONFIG_SH_ETHER_CACHE_INVALIDATE) && defined(CONFIG_ARM)
#define invalidate_cache(addr, len) \ #define invalidate_cache(addr, len) \
{ \ { \
u32 line_size = CONFIG_SH_ETHER_ALIGNE_SIZE; \ unsigned long line_size = CONFIG_SH_ETHER_ALIGNE_SIZE; \
u32 start, end; \ unsigned long start, end; \
\ \
start = (u32)addr; \ start = (unsigned long)addr; \
end = start + len; \ end = start + len; \
start &= ~(line_size - 1); \ start &= ~(line_size - 1); \
end = ((end + line_size - 1) & ~(line_size - 1)); \ end = ((end + line_size - 1) & ~(line_size - 1)); \
\ \
...@@ -74,7 +74,7 @@ static int sh_eth_send_common(struct sh_eth_dev *eth, void *packet, int len) ...@@ -74,7 +74,7 @@ static int sh_eth_send_common(struct sh_eth_dev *eth, void *packet, int len)
} }
/* packet must be a 4 byte boundary */ /* packet must be a 4 byte boundary */
if ((int)packet & 3) { if ((uintptr_t)packet & 3) {
printf(SHETHER_NAME ": %s: packet not 4 byte aligned\n" printf(SHETHER_NAME ": %s: packet not 4 byte aligned\n"
, __func__); , __func__);
ret = -EFAULT; ret = -EFAULT;
...@@ -211,7 +211,7 @@ static int sh_eth_tx_desc_init(struct sh_eth_dev *eth) ...@@ -211,7 +211,7 @@ static int sh_eth_tx_desc_init(struct sh_eth_dev *eth)
/* Make sure we use a P2 address (non-cacheable) */ /* Make sure we use a P2 address (non-cacheable) */
port_info->tx_desc_base = port_info->tx_desc_base =
(struct tx_desc_s *)ADDR_TO_P2((u32)port_info->tx_desc_alloc); (struct tx_desc_s *)ADDR_TO_P2((uintptr_t)port_info->tx_desc_alloc);
port_info->tx_desc_cur = port_info->tx_desc_base; port_info->tx_desc_cur = port_info->tx_desc_base;
/* Initialize all descriptors */ /* Initialize all descriptors */
...@@ -265,7 +265,7 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth) ...@@ -265,7 +265,7 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth)
/* Make sure we use a P2 address (non-cacheable) */ /* Make sure we use a P2 address (non-cacheable) */
port_info->rx_desc_base = port_info->rx_desc_base =
(struct rx_desc_s *)ADDR_TO_P2((u32)port_info->rx_desc_alloc); (struct rx_desc_s *)ADDR_TO_P2((uintptr_t)port_info->rx_desc_alloc);
port_info->rx_desc_cur = port_info->rx_desc_base; port_info->rx_desc_cur = port_info->rx_desc_base;
...@@ -281,7 +281,7 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth) ...@@ -281,7 +281,7 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth)
goto err_buf_alloc; goto err_buf_alloc;
} }
port_info->rx_buf_base = (u8 *)ADDR_TO_P2((u32)port_info->rx_buf_alloc); port_info->rx_buf_base = (u8 *)ADDR_TO_P2((uintptr_t)port_info->rx_buf_alloc);
/* Initialize all descriptors */ /* Initialize all descriptors */
for (cur_rx_desc = port_info->rx_desc_base, for (cur_rx_desc = port_info->rx_desc_base,
...@@ -700,7 +700,7 @@ static int sh_ether_recv(struct udevice *dev, int flags, uchar **packetp) ...@@ -700,7 +700,7 @@ static int sh_ether_recv(struct udevice *dev, int flags, uchar **packetp)
struct sh_ether_priv *priv = dev_get_priv(dev); struct sh_ether_priv *priv = dev_get_priv(dev);
struct sh_eth_dev *eth = &priv->shdev; struct sh_eth_dev *eth = &priv->shdev;
struct sh_eth_info *port_info = &eth->port_info[eth->port]; struct sh_eth_info *port_info = &eth->port_info[eth->port];
uchar *packet = (uchar *)ADDR_TO_P2(port_info->rx_desc_cur->rd2); uchar *packet = (uchar *)ADDR_TO_P2((uintptr_t)port_info->rx_desc_cur->rd2);
int len; int len;
len = sh_eth_recv_start(eth); len = sh_eth_recv_start(eth);
...@@ -850,7 +850,7 @@ static int sh_ether_probe(struct udevice *udev) ...@@ -850,7 +850,7 @@ static int sh_ether_probe(struct udevice *udev)
eth->port = CONFIG_SH_ETHER_USE_PORT; eth->port = CONFIG_SH_ETHER_USE_PORT;
eth->port_info[eth->port].phy_addr = CONFIG_SH_ETHER_PHY_ADDR; eth->port_info[eth->port].phy_addr = CONFIG_SH_ETHER_PHY_ADDR;
eth->port_info[eth->port].iobase = eth->port_info[eth->port].iobase =
(void __iomem *)(BASE_IO_ADDR + 0x800 * eth->port); (void __iomem *)(uintptr_t)(BASE_IO_ADDR + 0x800 * eth->port);
#if CONFIG_IS_ENABLED(CLK) #if CONFIG_IS_ENABLED(CLK)
ret = clk_enable(&priv->clk); ret = clk_enable(&priv->clk);
......
...@@ -15,20 +15,20 @@ ...@@ -15,20 +15,20 @@
#if defined(CONFIG_SH) #if defined(CONFIG_SH)
/* Malloc returns addresses in the P1 area (cacheable). However we need to /* Malloc returns addresses in the P1 area (cacheable). However we need to
use area P2 (non-cacheable) */ use area P2 (non-cacheable) */
#define ADDR_TO_P2(addr) ((((int)(addr) & ~0xe0000000) | 0xa0000000)) #define ADDR_TO_P2(addr) ((((uintptr_t)(addr) & ~0xe0000000) | 0xa0000000))
/* The ethernet controller needs to use physical addresses */ /* The ethernet controller needs to use physical addresses */
#if defined(CONFIG_SH_32BIT) #if defined(CONFIG_SH_32BIT)
#define ADDR_TO_PHY(addr) ((((int)(addr) & ~0xe0000000) | 0x40000000)) #define ADDR_TO_PHY(addr) ((((uintptr_t)(addr) & ~0xe0000000) | 0x40000000))
#else #else
#define ADDR_TO_PHY(addr) ((int)(addr) & ~0xe0000000) #define ADDR_TO_PHY(addr) ((uintptr_t)(addr) & ~0xe0000000)
#endif #endif
#elif defined(CONFIG_ARM) #elif defined(CONFIG_ARM)
#ifndef inl #ifndef inl
#define inl readl #define inl readl
#define outl writel #define outl writel
#endif #endif
#define ADDR_TO_PHY(addr) ((int)(addr)) #define ADDR_TO_PHY(addr) ((uintptr_t)(addr))
#define ADDR_TO_P2(addr) (addr) #define ADDR_TO_P2(addr) (addr)
#endif /* defined(CONFIG_SH) */ #endif /* defined(CONFIG_SH) */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册