[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202507131422.6eIuyxUJ-lkp@intel.com>
Date: Sun, 13 Jul 2025 14:33:01 +0800
From: kernel test robot <lkp@...el.com>
To: Kamal Dasu <kamal.dasu@...adcom.com>, andersson@...nel.org,
baolin.wang@...ux.alibaba.com, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, florian.fainelli@...adcom.com,
ulf.hansson@...aro.org, adrian.hunter@...el.com
Cc: oe-kbuild-all@...ts.linux.dev, bcm-kernel-feedback-list@...adcom.com,
kamal.dasu@...adcom.com, linux-remoteproc@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mmc@...r.kernel.org,
Kamal Dasu <kdasu@...adcom.com>
Subject: Re: [PATCH 2/4] hwspinlock: brcmstb hardware semaphore support
Hi Kamal,
kernel test robot noticed the following build warnings:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.16-rc5 next-20250711]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Kamal-Dasu/dt-bindings-brcmstb-hwspinlock-support-for-hwspinlock/20250712-034624
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250711154221.928164-4-kamal.dasu%40broadcom.com
patch subject: [PATCH 2/4] hwspinlock: brcmstb hardware semaphore support
config: arc-randconfig-r111-20250713 (https://download.01.org/0day-ci/archive/20250713/202507131422.6eIuyxUJ-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 12.4.0
reproduce: (https://download.01.org/0day-ci/archive/20250713/202507131422.6eIuyxUJ-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507131422.6eIuyxUJ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/hwspinlock/brcmstb_hwspinlock.c:26:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@
drivers/hwspinlock/brcmstb_hwspinlock.c:26:39: sparse: expected void [noderef] __iomem *lock_addr
drivers/hwspinlock/brcmstb_hwspinlock.c:26:39: sparse: got void *priv
drivers/hwspinlock/brcmstb_hwspinlock.c:35:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *lock_addr @@ got void *priv @@
drivers/hwspinlock/brcmstb_hwspinlock.c:35:39: sparse: expected void [noderef] __iomem *lock_addr
drivers/hwspinlock/brcmstb_hwspinlock.c:35:39: sparse: got void *priv
>> drivers/hwspinlock/brcmstb_hwspinlock.c:73:30: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *priv @@ got void [noderef] __iomem * @@
drivers/hwspinlock/brcmstb_hwspinlock.c:73:30: sparse: expected void *priv
drivers/hwspinlock/brcmstb_hwspinlock.c:73:30: sparse: got void [noderef] __iomem *
vim +26 drivers/hwspinlock/brcmstb_hwspinlock.c
23
24 static int brcmstb_hwspinlock_trylock(struct hwspinlock *lock)
25 {
> 26 void __iomem *lock_addr = lock->priv;
27
28 writel(HWSPINLOCK_VAL, lock_addr);
29
30 return (readl(lock_addr) == HWSPINLOCK_VAL);
31 }
32
33 static void brcmstb_hwspinlock_unlock(struct hwspinlock *lock)
34 {
35 void __iomem *lock_addr = lock->priv;
36
37 /* release the lock by writing 0 to it */
38 writel(RESET_SEMAPHORE, lock_addr);
39 }
40
41 static void brcmstb_hwspinlock_relax(struct hwspinlock *lock)
42 {
43 ndelay(50);
44 }
45
46 static const struct hwspinlock_ops brcmstb_hwspinlock_ops = {
47 .trylock = brcmstb_hwspinlock_trylock,
48 .unlock = brcmstb_hwspinlock_unlock,
49 .relax = brcmstb_hwspinlock_relax,
50 };
51
52 static int brcmstb_hwspinlock_probe(struct platform_device *pdev)
53 {
54 struct hwspinlock_device *bank;
55 struct hwspinlock *hwlock;
56 void __iomem *io_base;
57 int i, num_locks = BRCMSTB_MAX_SEMAPHORES;
58
59 io_base = devm_platform_ioremap_resource(pdev, 0);
60 if (IS_ERR(io_base)) {
61 dev_err(&pdev->dev, "semaphore iobase mapping error\n");
62 return PTR_ERR(io_base);
63 }
64
65 bank = devm_kzalloc(&pdev->dev, struct_size(bank, lock, num_locks),
66 GFP_KERNEL);
67 if (!bank)
68 return -ENOMEM;
69
70 platform_set_drvdata(pdev, bank);
71
72 for (i = 0, hwlock = &bank->lock[0]; i < num_locks; i++, hwlock++)
> 73 hwlock->priv = io_base + sizeof(u32) * i;
74
75 return devm_hwspin_lock_register(&pdev->dev, bank,
76 &brcmstb_hwspinlock_ops,
77 0, num_locks);
78 }
79
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists