Hi Nikita, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on dtor-input/next] [also build test WARNING on robh/for-next hid/for-next linus/master v5.16-rc8 next-20220105] [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/Nikita-Travkin/Add-touch-keys-support-to-the-Zinitix-touch-driver/20220105-140610 base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next config: powerpc-randconfig-s031-20220105 (https://download.01.org/0day-ci/archive/20220105/202201052355.c806rw3s-lkp@xxxxxxxxx/config) compiler: powerpc-linux-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-dirty # https://github.com/0day-ci/linux/commit/545e0de93da58f29350c2908498a4621f5ef59e4 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Nikita-Travkin/Add-touch-keys-support-to-the-Zinitix-touch-driver/20220105-140610 git checkout 545e0de93da58f29350c2908498a4621f5ef59e4 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/ata/ drivers/input/touchscreen/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) >> drivers/input/touchscreen/zinitix.c:371:24: sparse: sparse: restricted __le16 degrades to integer vim +371 drivers/input/touchscreen/zinitix.c 352 353 static irqreturn_t zinitix_ts_irq_handler(int irq, void *bt541_handler) 354 { 355 struct bt541_ts_data *bt541 = bt541_handler; 356 struct i2c_client *client = bt541->client; 357 struct touch_event touch_event; 358 int error; 359 int i; 360 __le16 icon_events = 0; 361 362 memset(&touch_event, 0, sizeof(struct touch_event)); 363 364 error = zinitix_read_data(bt541->client, BT541_POINT_STATUS_REG, 365 &touch_event, sizeof(struct touch_event)); 366 if (error) { 367 dev_err(&client->dev, "Failed to read in touchpoint struct\n"); 368 goto out; 369 } 370 > 371 if (touch_event.status & BIT_ICON_EVENT) { 372 error = zinitix_read_data(bt541->client, BT541_ICON_STATUS_REG, 373 &icon_events, sizeof(icon_events)); 374 if (error) { 375 dev_err(&client->dev, "Failed to read icon events\n"); 376 goto out; 377 } 378 379 zinitix_report_keys(bt541, le16_to_cpu(icon_events)); 380 } 381 382 for (i = 0; i < MAX_SUPPORTED_FINGER_NUM; i++) 383 if (touch_event.point_coord[i].sub_status & SUB_BIT_EXIST) 384 zinitix_report_finger(bt541, i, 385 &touch_event.point_coord[i]); 386 387 input_mt_sync_frame(bt541->input_dev); 388 input_sync(bt541->input_dev); 389 390 out: 391 zinitix_write_cmd(bt541->client, BT541_CLEAR_INT_STATUS_CMD); 392 return IRQ_HANDLED; 393 } 394 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx