Message ID | 20240922065212.7483-1-nikita.shubin@maquefel.me (mailing list archive) |
---|---|
State | Accepted |
Commit | 878716d40cdd4d7923f4e910fe4f6841ae7686f1 |
Headers | show |
Series | net: cirrus: use u8 for addr to calm down sparse | expand |
Hi Nikita! On Sun, 2024-09-22 at 09:52 +0300, Nikita Shubin wrote: > 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> > --- > drivers/net/ethernet/cirrus/ep93xx_eth.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c > index 2523d9c9d1b8..c2007cd86416 100644 > --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c > +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c > @@ -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;
Hello: This patch was applied to soc/soc.git (arm/fixes) by Arnd Bergmann <arnd@arndb.de>: On Sun, 22 Sep 2024 09:52:12 +0300 you wrote: > 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> > > [...] Here is the summary with links: - net: cirrus: use u8 for addr to calm down sparse https://git.kernel.org/soc/soc/c/878716d40cdd You are awesome, thank you!
diff --git a/drivers/net/ethernet/cirrus/ep93xx_eth.c b/drivers/net/ethernet/cirrus/ep93xx_eth.c index 2523d9c9d1b8..c2007cd86416 100644 --- a/drivers/net/ethernet/cirrus/ep93xx_eth.c +++ b/drivers/net/ethernet/cirrus/ep93xx_eth.c @@ -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;
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> --- drivers/net/ethernet/cirrus/ep93xx_eth.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)