drivers/phy/marvell/phy-mmp3-hsic.c:61:31: sparse: sparse: cast removes address space '__iomem' of expression

From: kernel test robot
Date: Sat Dec 09 2023 - 01:24:47 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f2e8a57ee9036c7d5443382b6c3c09b51a92ec7e
commit: 0347c69214f4b600f40c0dc58945dc2798e2b3d9 phy: Add USB HSIC PHY driver for Marvell MMP3 SoC
date: 3 years, 1 month ago
config: openrisc-randconfig-r131-20231102 (https://download.01.org/0day-ci/archive/20231209/202312091417.wmY8IiVm-lkp@xxxxxxxxx/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231209/202312091417.wmY8IiVm-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312091417.wmY8IiVm-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/phy/marvell/phy-mmp3-hsic.c:61:31: sparse: sparse: cast removes address space '__iomem' of expression
drivers/phy/marvell/phy-mmp3-hsic.c: note: in included file (through arch/openrisc/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]

vim +/__iomem +61 drivers/phy/marvell/phy-mmp3-hsic.c

39
40 static int mmp3_hsic_phy_probe(struct platform_device *pdev)
41 {
42 struct device *dev = &pdev->dev;
43 struct phy_provider *provider;
44 struct resource *resource;
45 void __iomem *base;
46 struct phy *phy;
47
48 resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
49 base = devm_ioremap_resource(dev, resource);
50 if (IS_ERR(base)) {
51 dev_err(dev, "failed to remap PHY regs\n");
52 return PTR_ERR(base);
53 }
54
55 phy = devm_phy_create(dev, NULL, &mmp3_hsic_phy_ops);
56 if (IS_ERR(phy)) {
57 dev_err(dev, "failed to create PHY\n");
58 return PTR_ERR(phy);
59 }
60
> 61 phy_set_drvdata(phy, (void *)base);
62 provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
63 if (IS_ERR(provider)) {
64 dev_err(dev, "failed to register PHY provider\n");
65 return PTR_ERR(provider);
66 }
67
68 return 0;
69 }
70

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki