ixp4xx_eth: fix compile-testing
Change the driver to use portable integer types to avoid warnings during compile testing, including: drivers/net/ethernet/xscale/ixp4xx_eth.c:721:21: error: cast to 'u32 *' (aka 'unsigned int *') from smaller integer type 'int' [-Werror,-Wint-to-pointer-cast] memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4); ^ drivers/net/ethernet/xscale/ixp4xx_eth.c:963:12: error: incompatible pointer types passing 'u32 *' (aka 'unsigned int *') to parameter of type 'dma_addr_t *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types] &port->desc_tab_phys))) ^~~~~~~~~~~~~~~~~~~~ include/linux/dmapool.h:27:20: note: passing argument to parameter 'handle' here dma_addr_t *handle); ^ Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
9055a2f591
Коммит
f52749a285
|
@ -37,7 +37,6 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/soc/ixp4xx/npe.h>
|
||||
#include <linux/soc/ixp4xx/qmgr.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/soc/ixp4xx/cpu.h>
|
||||
|
||||
#include "ixp46x_ts.h"
|
||||
|
@ -177,7 +176,7 @@ struct port {
|
|||
struct eth_plat_info *plat;
|
||||
buffer_t *rx_buff_tab[RX_DESCS], *tx_buff_tab[TX_DESCS];
|
||||
struct desc *desc_tab; /* coherent */
|
||||
u32 desc_tab_phys;
|
||||
dma_addr_t desc_tab_phys;
|
||||
int id; /* logical port ID */
|
||||
int speed, duplex;
|
||||
u8 firmware[4];
|
||||
|
@ -857,14 +856,14 @@ static int eth_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
bytes = len;
|
||||
mem = skb->data;
|
||||
#else
|
||||
offset = (int)skb->data & 3; /* keep 32-bit alignment */
|
||||
offset = (uintptr_t)skb->data & 3; /* keep 32-bit alignment */
|
||||
bytes = ALIGN(offset + len, 4);
|
||||
if (!(mem = kmalloc(bytes, GFP_ATOMIC))) {
|
||||
dev_kfree_skb(skb);
|
||||
dev->stats.tx_dropped++;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4);
|
||||
memcpy_swab32(mem, (u32 *)((uintptr_t)skb->data & ~3), bytes / 4);
|
||||
#endif
|
||||
|
||||
phys = dma_map_single(&dev->dev, mem, bytes, DMA_TO_DEVICE);
|
||||
|
|
Загрузка…
Ссылка в новой задаче