Hi Cristian, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on linux/master] [also build test WARNING on groeck-staging/hwmon-next soc/for-next linus/master v5.16-rc6 next-20211220] [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] url: https://github.com/0day-ci/linux/commits/Cristian-Marussi/Sensor-readings-fixes/20211221-014235 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 136057256686de39cc3a07c2e39ef6bc43003ff6 config: hexagon-randconfig-r041-20211220 (https://download.01.org/0day-ci/archive/20211221/202112210649.czZr6hoM-lkp@intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 555eacf75f21cd1dfc6363d73ad187b730349543) 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/0day-ci/linux/commit/6f0ec7d066a305bdb889a75e772ef0be72f365f9 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Cristian-Marussi/Sensor-readings-fixes/20211221-014235 git checkout 6f0ec7d066a305bdb889a75e772ef0be72f365f9 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/firmware/arm_scmi/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/firmware/arm_scmi/sensors.c:733:63: warning: shift count >= width of type [-Wshift-count-overflow] if (!ret && si->version > SCMIv2_SENSOR_PROTOCOL && *value & BIT(63)) { ^~~~~~~ include/vdso/bits.h:7:26: note: expanded from macro 'BIT' #define BIT(nr) (UL(1) << (nr)) ^ ~~~~ 1 warning generated. vim +733 drivers/firmware/arm_scmi/sensors.c 681 682 /** 683 * scmi_sensor_reading_get - Read scalar sensor value 684 * @ph: Protocol handle 685 * @sensor_id: Sensor ID 686 * @value: The 64bit value sensor reading 687 * 688 * This function returns a single 64 bit reading value representing the sensor 689 * value; if the platform SCMI Protocol implementation and the sensor support 690 * multiple axis and timestamped-reads, this just returns the first axis while 691 * dropping the timestamp value. 692 * Use instead the @scmi_sensor_reading_get_timestamped to retrieve the array of 693 * timestamped multi-axis values. 694 * 695 * Return: 0 on Success 696 */ 697 static int scmi_sensor_reading_get(const struct scmi_protocol_handle *ph, 698 u32 sensor_id, u64 *value) 699 { 700 int ret; 701 struct scmi_xfer *t; 702 struct scmi_msg_sensor_reading_get *sensor; 703 struct sensors_info *si = ph->get_priv(ph); 704 struct scmi_sensor_info *s = si->sensors + sensor_id; 705 706 ret = ph->xops->xfer_get_init(ph, SENSOR_READING_GET, 707 sizeof(*sensor), 0, &t); 708 if (ret) 709 return ret; 710 711 sensor = t->tx.buf; 712 sensor->id = cpu_to_le32(sensor_id); 713 if (s->async) { 714 sensor->flags = cpu_to_le32(SENSOR_READ_ASYNC); 715 ret = ph->xops->do_xfer_with_response(ph, t); 716 if (!ret) { 717 struct scmi_resp_sensor_reading_complete *resp; 718 719 resp = t->rx.buf; 720 if (le32_to_cpu(resp->id) == sensor_id) 721 *value = 722 get_unaligned_le64(&resp->readings_low); 723 else 724 ret = -EPROTO; 725 } 726 } else { 727 sensor->flags = cpu_to_le32(0); 728 ret = ph->xops->do_xfer(ph, t); 729 if (!ret) 730 *value = get_unaligned_le64(t->rx.buf); 731 } 732 > 733 if (!ret && si->version > SCMIv2_SENSOR_PROTOCOL && *value & BIT(63)) { 734 dev_warn_once(ph->dev, 735 "SCMI FW Sensor version:0x%X reported negative value %ld\n", 736 si->version, (long)*value); 737 *value = 0; 738 ret = -EIO; 739 } 740 741 ph->xops->xfer_put(ph, t); 742 return ret; 743 } 744 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org