[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202509272216.c9WBgv6U-lkp@intel.com>
Date: Sat, 27 Sep 2025 22:33:42 +0800
From: kernel test robot <lkp@...el.com>
To: adriana <adriana@...sta.com>, jdelvare@...e.com,
linux-kernel@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, Adriana Nicolae <adriana@...sta.com>
Subject: Re: [PATCH 1/1] DMI: Scan for DMI tbale from DTS info
Hi adriana,
kernel test robot noticed the following build warnings:
[auto build test WARNING on v6.17-rc7]
[also build test WARNING on linus/master next-20250926]
[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/adriana/DMI-Scan-for-DMI-tbale-from-DTS-info/20250926-235813
base: v6.17-rc7
patch link: https://lore.kernel.org/r/20250926155612.2737443-1-adriana%40arista.com
patch subject: [PATCH 1/1] DMI: Scan for DMI tbale from DTS info
config: i386-randconfig-061-20250927 (https://download.01.org/0day-ci/archive/20250927/202509272216.c9WBgv6U-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250927/202509272216.c9WBgv6U-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/202509272216.c9WBgv6U-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/firmware/dmi_scan.c:704:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *p @@ got void * @@
drivers/firmware/dmi_scan.c:704:19: sparse: expected void [noderef] __iomem *p
drivers/firmware/dmi_scan.c:704:19: sparse: got void *
>> drivers/firmware/dmi_scan.c:709:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:709:33: sparse: expected void *addr
drivers/firmware/dmi_scan.c:709:33: sparse: got void [noderef] __iomem *p
drivers/firmware/dmi_scan.c:721:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *p @@ got void * @@
drivers/firmware/dmi_scan.c:721:19: sparse: expected void [noderef] __iomem *p
drivers/firmware/dmi_scan.c:721:19: sparse: got void *
drivers/firmware/dmi_scan.c:726:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:726:33: sparse: expected void *addr
drivers/firmware/dmi_scan.c:726:33: sparse: got void [noderef] __iomem *p
drivers/firmware/dmi_scan.c:760:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *p @@ got void * @@
drivers/firmware/dmi_scan.c:760:27: sparse: expected char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:760:27: sparse: got void *
drivers/firmware/dmi_scan.c:764:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got char [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:764:41: sparse: expected void *addr
drivers/firmware/dmi_scan.c:764:41: sparse: got char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:778:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *p @@ got void * @@
drivers/firmware/dmi_scan.c:778:19: sparse: expected char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:778:19: sparse: got void *
drivers/firmware/dmi_scan.c:782:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got char [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:782:33: sparse: expected void *addr
drivers/firmware/dmi_scan.c:782:33: sparse: got char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:796:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] __iomem *p @@ got void * @@
drivers/firmware/dmi_scan.c:796:19: sparse: expected char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:796:19: sparse: got void *
drivers/firmware/dmi_scan.c:809:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got char [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:809:49: sparse: expected void *addr
drivers/firmware/dmi_scan.c:809:49: sparse: got char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:827:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got char [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:827:49: sparse: expected void *addr
drivers/firmware/dmi_scan.c:827:49: sparse: got char [noderef] __iomem *p
drivers/firmware/dmi_scan.c:832:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *addr @@ got char [noderef] __iomem *p @@
drivers/firmware/dmi_scan.c:832:33: sparse: expected void *addr
drivers/firmware/dmi_scan.c:832:33: sparse: got char [noderef] __iomem *p
vim +704 drivers/firmware/dmi_scan.c
675
676 #if IS_ENABLED(CONFIG_OF)
677 /**
678 * dmi_scan_from_dt - Find and parse DMI/SMBIOS tables from the Device Tree
679 *
680 * Checks if the bootloader has passed SMBIOS table addresses via the /chosen
681 * node in the Device Tree. This follows the standard kernel DT bindings and
682 * assumes a fixed 32-byte mapping for the entry point.
683 * Returns true if a valid table is found and successfully parsed.
684 */
685 static bool __init dmi_scan_from_dt(void)
686 {
687 struct device_node *chosen;
688 const __be64 *prop;
689 char buf[32];
690 void __iomem *p;
691 bool dmi_available = false;
692 u64 addr;
693 int len;
694
695 chosen = of_find_node_by_path("/chosen");
696 if (!chosen)
697 return false;
698
699 /* SMBIOSv3 (64-bit entry point) has priority */
700 prop = of_get_property(chosen, "linux,smbios3-table", &len);
701 if (prop && len >= sizeof(u64)) {
702 addr = be64_to_cpup(prop);
703
> 704 p = dmi_early_remap(addr, 32);
705 if (p == NULL)
706 goto out;
707
708 memcpy_fromio(buf, p, sizeof(buf));
> 709 dmi_early_unmap(p, 32);
710
711 if (!dmi_smbios3_present(buf)) {
712 dmi_available = true;
713 goto out;
714 }
715 }
716
717 prop = of_get_property(chosen, "linux,smbios-table", &len);
718 if (prop && len >= sizeof(u64)) {
719 addr = be64_to_cpup(prop);
720
721 p = dmi_early_remap(addr, 32);
722 if (p == NULL)
723 goto out;
724
725 memcpy_fromio(buf, p, sizeof(buf));
726 dmi_early_unmap(p, 32);
727
728 if (!dmi_present(buf))
729 dmi_available = true;
730 }
731
732 out:
733 of_node_put(chosen);
734 return dmi_available;
735 }
736 #else
737 static bool __init dmi_scan_from_dt(void) { return false; }
738 #endif /* IS_ENABLED(CONFIG_OF) */
739
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists