Re: [PATCH 7/7] firmware: imx: sm-misc: Dump syslog and system info

kernel test robot
2025-06-28T14:29:30Z

Hi Peng,

kernel test robot noticed the following build warnings:

[auto build test WARNING on ecb259c4f70dd5c83907809f45bf4dc6869961d7]

url: https://github.com/intel-lab-lkp/linux/commits/Peng-Fan/firmware-arm_scmi-imx-Add-documentation-for-MISC_BOARD_INFO/20250627-140736
base: ecb259c4f70dd5c83907809f45bf4dc6869961d7
patch link: https://lore.kernel.org/r/20250627-sm-misc-api-v1-v1-7-2b99481fe825%40nxp.com
patch subject: [PATCH 7/7] firmware: imx: sm-misc: Dump syslog and system info
config: x86_64-buildonly-randconfig-005-20250627 (https://download.01.org/0day-ci/archive/20250628/202506282233.n54Z23oc-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250628/202506282233.n54Z23oc-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/202506282233.n54Z23oc-lkp@intel.com/

All warnings (new ones prefixed by >>):

drivers/firmware/imx/sm-misc.c: In function 'syslog_show':
drivers/firmware/imx/sm-misc.c:58:18: error: implicit declaration of function 'kmalloc'; did you mean 'mm_alloc'? [-Werror=implicit-function-declaration]
58 | syslog = kmalloc(sizeof(*syslog), GFP_KERNEL);
| ^~~~~~~
| mm_alloc
>> drivers/firmware/imx/sm-misc.c:58:16: warning: assignment to 'struct scmi_imx_misc_syslog *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
58 | syslog = kmalloc(sizeof(*syslog), GFP_KERNEL);
| ^
drivers/firmware/imx/sm-misc.c:64:17: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration]
64 | kfree(syslog);
| ^~~~~
drivers/firmware/imx/sm-misc.c: In function 'system_info_show':
>> drivers/firmware/imx/sm-misc.c:97:14: warning: assignment to 'struct scmi_imx_misc_system_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
97 | info = kmalloc(sizeof(*info), GFP_KERNEL);
| ^
cc1: some warnings being treated as errors

vim +58 drivers/firmware/imx/sm-misc.c

46
47 static ssize_t syslog_show(struct device *device, struct device_attribute *attr,
48 char *buf)
49 {
50 struct scmi_imx_misc_sys_sleep_rec *rec;
51 struct scmi_imx_misc_syslog *syslog;
52 int ret;
53 size_t len = 0;
54
55 if (!ph)
56 return 0;
57
> 58 syslog = kmalloc(sizeof(*syslog), GFP_KERNEL);
59 if (!syslog)
60 return -ENOMEM;
61
62 ret = imx_misc_ctrl_ops->misc_syslog(ph, sizeof(*syslog), syslog);
63 if (ret) {
64 kfree(syslog);
65 return ret;
66 }
67
68 rec = &syslog->syssleeprecord;
69
70 len += sysfs_emit_at(buf, len, "Wake Vector = %u\n", rec->wakesource);
71 len += sysfs_emit_at(buf, len, "Sys sleep mode = %u\n", rec->syssleepmode);
72 len += sysfs_emit_at(buf, len, "Sys sleep flags = 0x%08x\n", rec->syssleepflags);
73 len += sysfs_emit_at(buf, len, "MIX power status = 0x%08x\n", rec->mixpwrstat);
74 len += sysfs_emit_at(buf, len, "MEM power status = 0x%08x\n", rec->mempwrstat);
75 len += sysfs_emit_at(buf, len, "PLL power status = 0x%08x\n", rec->pllpwrstat);
76 len += sysfs_emit_at(buf, len, "Sleep latency = %u\n", rec->sleepentryusec);
77 len += sysfs_emit_at(buf, len, "Wake latency = %u\n", rec->sleepexitusec);
78 len += sysfs_emit_at(buf, len, "Sleep count = %u\n", rec->sleepcnt);
79
80 kfree(syslog);
81
82 return len;
83 }
84
85 static DEVICE_ATTR_RO(syslog);
86
87 static ssize_t system_info_show(struct device *device, struct device_attribute *attr,
88 char *buf)
89 {
90 struct scmi_imx_misc_system_info *info;
91 int len = 0;
92 int ret;
93
94 if (!ph)
95 return 0;
96
> 97 info = kmalloc(sizeof(*info), GFP_KERNEL);
98 if (!info)
99 return -ENOMEM;
100
101 ret = imx_misc_ctrl_ops->misc_discover_build_info(ph, info);
102 if (ret)
103 goto err;
104
105 ret = imx_misc_ctrl_ops->misc_cfg_info(ph, info);
106 if (ret)
107 goto err;
108
109 ret = imx_misc_ctrl_ops->misc_silicon_info(ph, info);
110 if (ret)
111 goto err;
112
113 ret = imx_misc_ctrl_ops->misc_board_info(ph, info);
114 if (ret)
115 goto err;
116
117 len += sysfs_emit_at(buf, len, "SM Version = Build %u, Commit 08%x\n",
118 info->buildnum, info->buildcommit);
119 len += sysfs_emit_at(buf, len, "SM Config = %s, mSel=%u\n",
120 info->cfgname, info->msel);
121 len += sysfs_emit_at(buf, len, "Silicon = %s\n", info->siname);
122 len += sysfs_emit_at(buf, len, "Board = %s, attr=0x%08x\n",
123 info->brdname, info->brd_attributes);
124
125 ret = len;
126 err:
127 kfree(info);
128 return ret;
129 }
130

--
0-DAY CI Kernel Test Service