From patchwork Tue Jan 28 12:35:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Wunderlich X-Patchwork-Id: 240412 List-Id: U-Boot discussion From: frank-w at public-files.de (Frank Wunderlich) Date: Tue, 28 Jan 2020 13:35:55 +0100 Subject: [PATCH v2] eth: mtk-eth: aarch64: fix build warnings on ethernet-driver Message-ID: <20200128123555.12729-1-frank-w@public-files.de> building mtk ethernet driver for aarch64 (mt7622) results in warnings drivers/net/mtk_eth.c: In function 'mtk_eth_fifo_init': drivers/net/mtk_eth.c:856:21: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] flush_dcache_range((u32)pkt_base, (u32)(pkt_base + TOTAL_PKT_BUF_SIZE)); ^ drivers/net/mtk_eth.c:856:36: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] ^ drivers/net/mtk_eth.c: In function 'mtk_eth_send': drivers/net/mtk_eth.c:968:21: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] flush_dcache_range((u32)pkt_base, (u32)pkt_base + drivers/net/mtk_eth.c:968:36: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] drivers/net/mtk_eth.c: In function 'mtk_eth_recv': drivers/net/mtk_eth.c:994:26: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] invalidate_dcache_range((u32)pkt_base, (u32)pkt_base + ^ drivers/net/mtk_eth.c:994:41: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] ^ drivers/net/mtk_eth.c: In function 'mtk_eth_probe': drivers/net/mtk_eth.c:1026:18: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] priv->fe_base = (void *)iobase; ^ drivers/net/mtk_eth.c:1029:20: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] priv->gmac_base = (void *)(iobase + GMAC_BASE); Fixes: 23f17164d9 ("ethernet: MediaTek: add ethernet driver for MediaTek ARM-based SoCs") Signed-off-by: Frank Wunderlich --- changes since v1: fixing missing unsigned declaration --- drivers/net/mtk_eth.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/net/mtk_eth.c b/drivers/net/mtk_eth.c index 6cffc3f32a..82e9d0040c 100644 --- a/drivers/net/mtk_eth.c +++ b/drivers/net/mtk_eth.c @@ -853,7 +853,8 @@ static void mtk_eth_fifo_init(struct mtk_eth_priv *priv) memset(priv->rx_ring_noc, 0, NUM_RX_DESC * sizeof(struct pdma_rxdesc)); memset(priv->pkt_pool, 0, TOTAL_PKT_BUF_SIZE); - flush_dcache_range((u32)pkt_base, (u32)(pkt_base + TOTAL_PKT_BUF_SIZE)); + flush_dcache_range((unsigned int)pkt_base, + (unsigned int)(pkt_base + TOTAL_PKT_BUF_SIZE)); priv->rx_dma_owner_idx0 = 0; priv->tx_cpu_owner_idx0 = 0; @@ -965,7 +966,7 @@ static int mtk_eth_send(struct udevice *dev, void *packet, int length) pkt_base = (void *)phys_to_virt(priv->tx_ring_noc[idx].txd_info1.SDP0); memcpy(pkt_base, packet, length); - flush_dcache_range((u32)pkt_base, (u32)pkt_base + + flush_dcache_range((unsigned int)pkt_base, (unsigned int)pkt_base + roundup(length, ARCH_DMA_MINALIGN)); priv->tx_ring_noc[idx].txd_info2.SDL0 = length; @@ -991,8 +992,9 @@ static int mtk_eth_recv(struct udevice *dev, int flags, uchar **packetp) length = priv->rx_ring_noc[idx].rxd_info2.PLEN0; pkt_base = (void *)phys_to_virt(priv->rx_ring_noc[idx].rxd_info1.PDP0); - invalidate_dcache_range((u32)pkt_base, (u32)pkt_base + - roundup(length, ARCH_DMA_MINALIGN)); + invalidate_dcache_range((unsigned int)pkt_base, + (unsigned int)(pkt_base + + roundup(length, ARCH_DMA_MINALIGN))); if (packetp) *packetp = pkt_base; @@ -1019,7 +1021,7 @@ static int mtk_eth_probe(struct udevice *dev) { struct eth_pdata *pdata = dev_get_platdata(dev); struct mtk_eth_priv *priv = dev_get_priv(dev); - u32 iobase = pdata->iobase; + unsigned int iobase = pdata->iobase; int ret; /* Frame Engine Register Base */