drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: cast from restricted __le32

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   94515f3a7d4256a5062176b7d6ed0471938cd51a
commit: e4d7362dc9cd50b0fc74c8649aa241376c48936c usb: cdns3: Add USBSSP platform driver support
date:   3 months ago
config: arc-randconfig-r123-20260716 (https://download.01.org/0day-ci/archive/20260718/[email protected]/config)
compiler: arc-linux-gcc (GCC) 11.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260718/[email protected]/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
| Fixes: e4d7362dc9cd ("usb: cdns3: Add USBSSP platform driver support")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

sparse warnings: (new ones prefixed by >>)
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:166:16: sparse: sparse: cast to restricted __le32
   drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse:     expected unsigned int [usertype] val
   drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse:     got restricted __le32 [usertype]
>> drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: cast from restricted __le32
>> drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: cast from restricted __le32
>> drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: cast from restricted __le32
>> drivers/usb/cdns3/cdnsp-gadget.c:168:9: sparse: sparse: cast from restricted __le32

vim +168 drivers/usb/cdns3/cdnsp-gadget.c

3d82904559f4f5 Pawel Laszczak 2020-12-07  150  
241e2ce88e5a49 Pawel Laszczak 2025-04-18  151  static void cdnsp_set_apb_timeout_value(struct cdnsp_device *pdev)
241e2ce88e5a49 Pawel Laszczak 2025-04-18  152  {
241e2ce88e5a49 Pawel Laszczak 2025-04-18  153  	struct cdns *cdns = dev_get_drvdata(pdev->dev);
241e2ce88e5a49 Pawel Laszczak 2025-04-18  154  	__le32 __iomem *reg;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  155  	void __iomem *base;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  156  	u32 offset = 0;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  157  	u32 val;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  158  
241e2ce88e5a49 Pawel Laszczak 2025-04-18  159  	if (!cdns->override_apb_timeout)
241e2ce88e5a49 Pawel Laszczak 2025-04-18  160  		return;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  161  
241e2ce88e5a49 Pawel Laszczak 2025-04-18  162  	base = &pdev->cap_regs->hc_capbase;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  163  	offset = cdnsp_find_next_ext_cap(base, offset, D_XEC_PRE_REGS_CAP);
241e2ce88e5a49 Pawel Laszczak 2025-04-18  164  	reg = base + offset + REG_CHICKEN_BITS_3_OFFSET;
241e2ce88e5a49 Pawel Laszczak 2025-04-18  165  
241e2ce88e5a49 Pawel Laszczak 2025-04-18 @166  	val  = le32_to_cpu(readl(reg));
241e2ce88e5a49 Pawel Laszczak 2025-04-18  167  	val = CHICKEN_APB_TIMEOUT_SET(val, cdns->override_apb_timeout);
241e2ce88e5a49 Pawel Laszczak 2025-04-18 @168  	writel(cpu_to_le32(val), reg);
241e2ce88e5a49 Pawel Laszczak 2025-04-18  169  }
241e2ce88e5a49 Pawel Laszczak 2025-04-18  170  

:::::: The code at line 168 was first introduced by commit
:::::: 241e2ce88e5a494be7a5d44c0697592f1632fbee usb: cdnsp: Fix issue with resuming from L1

:::::: TO: Pawel Laszczak <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.