Hi Kai-Heng, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.0-rc1] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Kai-Heng-Feng/HID-i2c-hid-Ignore-input-report-if-there-s-no-data-present-on-Elan-touchpanels/20190107-142834 config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 8.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.1.0 make.cross ARCH=xtensa All errors (new ones prefixed by >>): drivers/hid/i2c-hid/i2c-hid-core.c: In function 'i2c_hid_get_input': drivers/hid/i2c-hid/i2c-hid-core.c:510:37: warning: missing terminating " character dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but ^ drivers/hid/i2c-hid/i2c-hid-core.c:511:15: warning: missing terminating ' character there's no data\n", __func__); ^ drivers/hid/i2c-hid/i2c-hid-core.c:1359: error: unterminated argument list invoking macro "dev_warn_once" MODULE_LICENSE("GPL"); >> drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: 'dev_warn_once' undeclared (first use in this function); did you mean 'dev_fwnode'? dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but ^~~~~~~~~~~~~ dev_fwnode drivers/hid/i2c-hid/i2c-hid-core.c:510:3: note: each undeclared identifier is reported only once for each function it appears in drivers/hid/i2c-hid/i2c-hid-core.c:510:16: error: expected ';' at end of input dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but ^ ; drivers/hid/i2c-hid/i2c-hid-core.c:1359: MODULE_LICENSE("GPL"); drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: expected declaration or statement at end of input dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but ^~~~~~~~~~~~~ drivers/hid/i2c-hid/i2c-hid-core.c:510:3: error: expected declaration or statement at end of input At top level: drivers/hid/i2c-hid/i2c-hid-core.c:481:13: warning: 'i2c_hid_get_input' defined but not used [-Wunused-function] static void i2c_hid_get_input(struct i2c_hid *ihid) ^~~~~~~~~~~~~~~~~ drivers/hid/i2c-hid/i2c-hid-core.c:441:12: warning: 'i2c_hid_hwreset' defined but not used [-Wunused-function] static int i2c_hid_hwreset(struct i2c_client *client) ^~~~~~~~~~~~~~~ drivers/hid/i2c-hid/i2c-hid-core.c:330:12: warning: 'i2c_hid_set_or_send_report' defined but not used [-Wunused-function] static int i2c_hid_set_or_send_report(struct i2c_client *client, u8 reportType, ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/hid/i2c-hid/i2c-hid-core.c:291:12: warning: 'i2c_hid_get_report' defined but not used [-Wunused-function] static int i2c_hid_get_report(struct i2c_client *client, u8 reportType, ^~~~~~~~~~~~~~~~~~ drivers/hid/i2c-hid/i2c-hid-core.c:195:12: warning: 'i2c_hid_lookup_quirk' defined but not used [-Wunused-function] static u32 i2c_hid_lookup_quirk(const u16 idVendor, const u16 idProduct) ^~~~~~~~~~~~~~~~~~~~ vim +510 drivers/hid/i2c-hid/i2c-hid-core.c 480 481 static void i2c_hid_get_input(struct i2c_hid *ihid) 482 { 483 int ret; 484 u32 ret_size; 485 int size = le16_to_cpu(ihid->hdesc.wMaxInputLength); 486 487 if (size > ihid->bufsize) 488 size = ihid->bufsize; 489 490 ret = i2c_master_recv(ihid->client, ihid->inbuf, size); 491 if (ret != size) { 492 if (ret < 0) 493 return; 494 495 dev_err(&ihid->client->dev, "%s: got %d data instead of %d\n", 496 __func__, ret, size); 497 return; 498 } 499 500 ret_size = ihid->inbuf[0] | ihid->inbuf[1] << 8; 501 502 if (!ret_size) { 503 /* host or device initiated RESET completed */ 504 if (test_and_clear_bit(I2C_HID_RESET_PENDING, &ihid->flags)) 505 wake_up(&ihid->wait); 506 return; 507 } 508 509 if (ihid->quirks & I2C_HID_QUIRK_BOGUS_IRQ && ret_size == 0xffff) { > 510 dev_warn_once(&ihid->client->dev, "%s: IRQ triggered but 511 there's no data\n", __func__); 512 return; 513 } 514 515 if ((ret_size > size) || (ret_size < 2)) { 516 dev_err(&ihid->client->dev, "%s: incomplete report (%d/%d)\n", 517 __func__, size, ret_size); 518 return; 519 } 520 521 i2c_hid_dbg(ihid, "input: %*ph\n", ret_size, ihid->inbuf); 522 523 if (test_bit(I2C_HID_STARTED, &ihid->flags)) 524 hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + 2, 525 ret_size - 2, 1); 526 527 return; 528 } 529 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip