drivers/usb/cdns3/cdnsp-gadget.c:168:16: sparse: sparse: incorrect type in argument 1 (different base types)

kernel test robot <[email protected]> Fri, 24 Jul 2026 15:53:02 +0800
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:   4539944e515183668109bdf4d0c3d7d228383d88
commit: e4d7362dc9cd50b0fc74c8649aa241376c48936c usb: cdns3: Add USBSSP platform driver support
date:   3 months ago
config: sparc-randconfig-r113-20260724 (https://download.01.org/0day-ci/archive/20260724/[email protected]/config)
compiler: sparc64-linux-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260724/[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:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] l @@     got restricted __le32 [usertype] @@
   drivers/usb/cdns3/cdnsp-gadget.c:168:16: sparse:     expected unsigned int [usertype] l
   drivers/usb/cdns3/cdnsp-gadget.c:168:16: sparse:     got restricted __le32 [usertype]

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

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