]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: cirrus: use u8 for addr to calm down sparse
authorNikita Shubin <nikita.shubin@maquefel.me>
Sun, 22 Sep 2024 06:52:12 +0000 (09:52 +0300)
committerArnd Bergmann <arnd@arndb.de>
Mon, 23 Sep 2024 06:58:37 +0000 (06:58 +0000)
ep93xx_eth.c:805:40: sparse: sparse: incorrect type in argument 2
     (different address spaces)
ep93xx_eth.c:805:40: sparse: expected unsigned char const [usertype] *addr
ep93xx_eth.c:805:40: sparse: got void [noderef] __iomem *

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202409212354.9CiUem7B-lkp@intel.com/
Fixes: 858555bb5598 ("net: cirrus: add DT support for Cirrus EP93xx")
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/net/ethernet/cirrus/ep93xx_eth.c

index 2523d9c9d1b84a63f1b41b9e8b358763478727e1..c2007cd864163b07129a40c8243c34c4382e31e7 100644 (file)
@@ -771,6 +771,7 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
        struct resource *mem;
        void __iomem *base_addr;
        struct device_node *np;
+       u8 addr[ETH_ALEN];
        u32 phy_id;
        int irq;
        int err;
@@ -802,7 +803,8 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
                goto err_out;
        }
 
-       eth_hw_addr_set(dev, base_addr + 0x50);
+       memcpy_fromio(addr, base_addr + 0x50, ETH_ALEN);
+       eth_hw_addr_set(dev, addr);
        dev->ethtool_ops = &ep93xx_ethtool_ops;
        dev->netdev_ops = &ep93xx_netdev_ops;
        dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM;