Re: [PATCH] thermal: qcom-spmi-temp-alarm: Log the actual max stage 2 threshold

From: kernel test robot
Date: Tue Oct 25 2022 - 16:11:34 EST


Hi Matthias,

I love your patch! Perhaps something to improve:

[auto build test WARNING on rafael-pm/thermal]
[also build test WARNING on linus/master v6.1-rc2 next-20221025]
[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/Matthias-Kaehlcke/thermal-qcom-spmi-temp-alarm-Log-the-actual-max-stage-2-threshold/20221026-011708
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git thermal
patch link: https://lore.kernel.org/r/20221025171453.1.I13c2a23f276fb63bfc225aeab0bf0db9560a90e0%40changeid
patch subject: [PATCH] thermal: qcom-spmi-temp-alarm: Log the actual max stage 2 threshold
config: ia64-allyesconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/86a0353247304d74e41de39b136e1772550048bf
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Matthias-Kaehlcke/thermal-qcom-spmi-temp-alarm-Log-the-actual-max-stage-2-threshold/20221026-011708
git checkout 86a0353247304d74e41de39b136e1772550048bf
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/thermal/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

In file included from include/linux/device.h:15,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from include/linux/of_device.h:5,
from drivers/thermal/qcom/qcom-spmi-temp-alarm.c:13:
drivers/thermal/qcom/qcom-spmi-temp-alarm.c: In function 'qpnp_tm_update_critical_trip_temp':
>> drivers/thermal/qcom/qcom-spmi-temp-alarm.c:255:34: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
255 | "No ADC is configured and critical temperature is above the maximum stage 2 threshold of %d C! Configuring stage 2 shutdown at %d C.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:146:61: note: in expansion of macro 'dev_fmt'
146 | dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/thermal/qcom/qcom-spmi-temp-alarm.c:254:25: note: in expansion of macro 'dev_warn'
254 | dev_warn(chip->dev,
| ^~~~~~~~
drivers/thermal/qcom/qcom-spmi-temp-alarm.c:255:117: note: format string is defined here
255 | "No ADC is configured and critical temperature is above the maximum stage 2 threshold of %d C! Configuring stage 2 shutdown at %d C.\n",
| ~^
| |
| int
| old
drivers/thermal/qcom/qcom-spmi-temp-alarm.c:255:34: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat=]
255 | "No ADC is configured and critical temperature is above the maximum stage 2 threshold of %d C! Configuring stage 2 shutdown at %d C.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:146:61: note: in expansion of macro 'dev_fmt'
146 | dev_printk_index_wrap(_dev_warn, KERN_WARNING, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/thermal/qcom/qcom-spmi-temp-alarm.c:254:25: note: in expansion of macro 'dev_warn'
254 | dev_warn(chip->dev,
| ^~~~~~~~
drivers/thermal/qcom/qcom-spmi-temp-alarm.c:255:155: note: format string is defined here
255 | "No ADC is configured and critical temperature is above the maximum stage 2 threshold of %d C! Configuring stage 2 shutdown at %d C.\n",
| ~^
| |
| int
| old


vim +255 drivers/thermal/qcom/qcom-spmi-temp-alarm.c

220
221 static int qpnp_tm_update_critical_trip_temp(struct qpnp_tm_chip *chip,
222 int temp)
223 {
224 long stage2_threshold_min = (*chip->temp_map)[THRESH_MIN][1];
225 long stage2_threshold_max = (*chip->temp_map)[THRESH_MAX][1];
226 bool disable_s2_shutdown = false;
227 u8 reg;
228
229 WARN_ON(!mutex_is_locked(&chip->lock));
230
231 /*
232 * Default: S2 and S3 shutdown enabled, thresholds at
233 * lowest threshold set, monitoring at 25Hz
234 */
235 reg = SHUTDOWN_CTRL1_RATE_25HZ;
236
237 if (temp == THERMAL_TEMP_INVALID ||
238 temp < stage2_threshold_min) {
239 chip->thresh = THRESH_MIN;
240 goto skip;
241 }
242
243 if (temp <= stage2_threshold_max) {
244 chip->thresh = THRESH_MAX -
245 ((stage2_threshold_max - temp) /
246 TEMP_THRESH_STEP);
247 disable_s2_shutdown = true;
248 } else {
249 chip->thresh = THRESH_MAX;
250
251 if (chip->adc)
252 disable_s2_shutdown = true;
253 else
254 dev_warn(chip->dev,
> 255 "No ADC is configured and critical temperature is above the maximum stage 2 threshold of %d C! Configuring stage 2 shutdown at %d C.\n",
256 stage2_threshold_max / 1000, stage2_threshold_max / 1000);
257 }
258
259 skip:
260 reg |= chip->thresh;
261 if (disable_s2_shutdown)
262 reg |= SHUTDOWN_CTRL1_OVERRIDE_S2;
263
264 return qpnp_tm_write(chip, QPNP_TM_REG_SHUTDOWN_CTRL1, reg);
265 }
266

--
0-DAY CI Kernel Test Service
https://01.org/lkp

Attachment: .config.gz
Description: application/gzip