From: kernel test robot <lkp@intel.com>
To: Subu Dwevedi <messigoatcr7nop@gmail.com>
Cc: oe-kbuild-all@lists.linux.dev,
Subu Dwevedi <messigoatcr7nop@gmail.com>,
Henrik Rydberg <rydberg@bitmath.org>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs
Date: Fri, 14 Mar 2025 11:19:30 +0800 [thread overview]
Message-ID: <202503141052.v7b9psFM-lkp@intel.com> (raw)
In-Reply-To: <20250312123055.1735-2-messigoatcr7nop@gmail.com>
Hi Subu,
kernel test robot noticed the following build warnings:
[auto build test WARNING on groeck-staging/hwmon-next]
[also build test WARNING on linus/master v6.14-rc6 next-20250313]
[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/Subu-Dwevedi/hwmon-applesmc-add-MMIO-for-newer-macs/20250312-203248
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
patch link: https://lore.kernel.org/r/20250312123055.1735-2-messigoatcr7nop%40gmail.com
patch subject: [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs
config: x86_64-randconfig-122-20250313 (https://download.01.org/0day-ci/archive/20250314/202503141052.v7b9psFM-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250314/202503141052.v7b9psFM-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503141052.v7b9psFM-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/hwmon/applesmc.c:257:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:257:31: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:257:31: sparse: got unsigned char [usertype] *
>> drivers/hwmon/applesmc.c:258:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:258:46: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:258:46: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:269:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:269:44: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:269:44: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:281:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:281:44: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:281:44: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:282:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:282:34: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:282:34: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:283:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:283:33: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:283:33: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:288:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:288:31: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:288:31: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:292:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:292:39: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:292:39: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:299:71: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:299:71: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:299:71: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:302:81: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:302:81: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:302:81: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:306:73: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:306:73: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:306:73: sparse: got unsigned char [usertype] *
>> drivers/hwmon/applesmc.c:311:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:311:49: sparse: expected void const volatile [noderef] __iomem *
drivers/hwmon/applesmc.c:311:49: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:320:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:320:44: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:320:44: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:324:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:324:63: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:324:63: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:327:73: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:327:73: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:327:73: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:331:65: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:331:65: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:331:65: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:335:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:335:33: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:335:33: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:336:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:336:34: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:336:34: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:337:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:337:33: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:337:33: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:341:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:341:31: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:341:31: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:510:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:510:52: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:510:52: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:511:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:511:39: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:511:39: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:512:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:512:63: sparse: expected void [noderef] __iomem *
drivers/hwmon/applesmc.c:512:63: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:517:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:517:41: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:517:41: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:521:58: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:521:58: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:521:58: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:522:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:522:48: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:522:48: sparse: got unsigned char [usertype] *
drivers/hwmon/applesmc.c:523:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:523:50: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:523:50: sparse: got unsigned char [usertype] *
>> drivers/hwmon/applesmc.c:740:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base @@ got void [noderef] __iomem * @@
drivers/hwmon/applesmc.c:740:19: sparse: expected unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base
drivers/hwmon/applesmc.c:740:19: sparse: got void [noderef] __iomem *
drivers/hwmon/applesmc.c:745:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem * @@ got unsigned char [usertype] * @@
drivers/hwmon/applesmc.c:745:31: sparse: expected void const [noderef] __iomem *
drivers/hwmon/applesmc.c:745:31: sparse: got unsigned char [usertype] *
>> drivers/hwmon/applesmc.c:757:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base @@
drivers/hwmon/applesmc.c:757:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/hwmon/applesmc.c:757:17: sparse: got unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base
drivers/hwmon/applesmc.c:1611:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base @@
drivers/hwmon/applesmc.c:1611:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/hwmon/applesmc.c:1611:25: sparse: got unsigned char [usertype] *static [noderef] [toplevel] __iomem mmio_base
>> drivers/hwmon/applesmc.c:257:21: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:258:36: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:269:34: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:281:34: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:282:24: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:283:23: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:288:21: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:292:29: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:299:61: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:302:71: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:306:63: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:311:39: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:320:34: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:324:53: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:327:63: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:331:55: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:335:23: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:336:24: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:337:23: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:341:21: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:510:42: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:511:29: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:512:53: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:517:31: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:521:48: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:522:38: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:523:40: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:742:14: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:745:21: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:757:17: sparse: sparse: dereference of noderef expression
drivers/hwmon/applesmc.c:1611:25: sparse: sparse: dereference of noderef expression
vim +257 drivers/hwmon/applesmc.c
250
251 /*
252 * MMIO Impliementation
253 */
254
255 static void clearArbitration(void)
256 {
> 257 if (ioread8(mmio_base + 0x4005))
> 258 return iowrite8(0, mmio_base + 0x4005);
259 }
260 static int waitForKeyDone(void)
261 {
262 int i = 1000; //millisecounds
263 u8 status;
264
265 while (i) {
266 msleep(1);
267 i--;
268
269 status = ioread8(mmio_base + 0x4005);
270 if (status & 0x20)
271 return 0;
272 }
273
274 return -EIO;
275 }
276 static int mmio_read_smc(u8 cmd, const char *key, u8 *buffer, u64 len)
277 {
278 u8 i, u = 0;
279
280 clearArbitration();
281 iowrite32(*((u32 *)key), mmio_base + 0x78);
282 iowrite8(0x15, mmio_base + 0x7E);
283 iowrite8(cmd, mmio_base + 0x7F);
284
285 if (waitForKeyDone())
286 return -EIO;
287
288 i = ioread8(mmio_base + 0x7F);
289 if (i)
290 return -EIO;
291 if (cmd == APPLESMC_READ_CMD) {
292 i = ioread8(mmio_base + 0x7D);
293 if (i > len || !i)
294 return -EIO;
295
296 while (u < i) {
297 if ((i - u) < 4) {
298 if ((i - u) < 2) {
299 buffer[u] = ioread8(mmio_base + u);
300 u += 1;
301 } else {
302 *(u16 *)&buffer[u] = ioread16(mmio_base + u);
303 u += 2;
304 }
305 } else {
306 *(u32 *)&buffer[u] = ioread32(mmio_base + u);
307 u += 4;
308 }
309 }
310 } else
> 311 memcpy_fromio(buffer, mmio_base + 0x0, len);
312
313 return 0;
314 }
315 static int mmio_write_smc(u8 cmd, const char *key, const u8 *buffer, u8 len)
316 {
317 u8 i = 0;
318
319 clearArbitration();
320 iowrite32(*((u32 *)key), mmio_base + 0x78);
321 while (i < len) {
322 if (len - i < 4) {
323 if (len - i < 2) {
324 iowrite8(buffer[i], mmio_base + i);
325 i += 1;
326 } else {
327 iowrite16(*(u16 *)&buffer[i], mmio_base + i);
328 i += 2;
329 }
330 } else {
331 iowrite32(*(u32 *)&buffer[i], mmio_base + i);
332 i += 4;
333 }
334 }
335 iowrite8(len, mmio_base + 0x7D);
336 iowrite8(0x15, mmio_base + 0x7E);
337 iowrite8(cmd, mmio_base + 0x7F);
338 if (waitForKeyDone())
339 return -EIO;
340
341 i = ioread8(mmio_base + 0x7F);
342 if (i)
343 return -EIO;
344
345 return 0;
346 }
347
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-03-14 3:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-12 12:30 [PATCH 0/2] Add support for newer macs in applesmc Subu Dwevedi
2025-03-12 12:30 ` [PATCH 1/2] hwmon/applesmc: add MMIO for newer macs Subu Dwevedi
2025-03-13 18:32 ` kernel test robot
2025-03-14 3:19 ` kernel test robot [this message]
2025-03-17 18:28 ` Guenter Roeck
2025-03-12 12:30 ` [PATCH 2/2] hwmon/applesmc: add fan support " Subu Dwevedi
2025-03-13 14:53 ` kernel test robot
2025-03-12 12:55 ` [PATCH 0/2] Add support for newer macs in applesmc Guenter Roeck
2025-03-12 13:05 ` Subu Dwevedi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202503141052.v7b9psFM-lkp@intel.com \
--to=lkp@intel.com \
--cc=jdelvare@suse.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=messigoatcr7nop@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rydberg@bitmath.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox