Hi, Dmitry, Thanks for your comments. Here are my replies for some comments. > + fw_id = ((fw_chunk_info.chunk_info.version_number >> 12) & 0xF); > + chip_id = (((dev_wdt87xx->sys_param.fw_id) >> 12) & 0xF); > + > + if (fw_id != chip_id) { > + wdt87xx_get_sysparam(client, dev_wdt87xx); >Why would it be different now? This driver is intend to support two controllers, WDT8753 & WDT8756. The chip_id and the the firmware are different for them, so we have to check if The firmware is suitable for this controller. > + > + return (unsigned short) y; >I think I might have asked this before, by anyway: are we sure that we don't already have this checksum implementation in lib/? And if we don't maybe we should? The MISR is a checksum function which the full name is "Multiple Input Signature Register". I checked the kernel library and not found any algorithm like this. You mean I have to submit the checksum function into kernel/lib ? > Can you tell me a bit more about the way device sends touch data? Does it always send all 10 contacts regardless of data in raw_buf[TOUCH_PK_OFFSET_FNGR_NUM]? Yes, it always send all 10 contacts data. Best Regards, Hn.chen. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html