]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
wan: ixp4xx_hss: fix compile-testing on 64-bit
authorArnd Bergmann <arnd@arndb.de>
Sun, 12 Jan 2020 12:04:42 +0000 (13:04 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sun, 12 Jan 2020 20:59:52 +0000 (12:59 -0800)
Change the driver to use portable integer types to avoid
warnings during compile testing:

drivers/net/wan/ixp4xx_hss.c:863: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/wan/ixp4xx_hss.c:979: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: Jakub Kicinski <kuba@kernel.org>
drivers/net/wan/ixp4xx_hss.c

index ea6ee6a608ce33be69af62c63856fca825371ed9..e7619cec978a803668fd2eb8726672ebb288c2d1 100644 (file)
@@ -258,7 +258,7 @@ struct port {
        struct hss_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;
        unsigned int id;
        unsigned int clock_type, clock_rate, loopback;
        unsigned int initialized, carrier;
@@ -858,7 +858,7 @@ static int hss_hdlc_xmit(struct sk_buff *skb, struct net_device *dev)
                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);
        dev_kfree_skb(skb);
 #endif