On Fri, Jul 08, 2016 at 07:36:45AM -0700, jeffrey.lin wrote: > >This is not offset, this is size, or length, of CRC. > I'll change namming as RM_CONTACT_CRC_SIZE > > >> @@ -798,33 +803,54 @@ static void raydium_mt_event(struct raydium_data *ts) > >> input_mt_slot(ts->input, i); > >> input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, state); > >> > >> - if (!state) > >> - continue; > >> - > >> - input_report_abs(ts->input, ABS_MT_POSITION_X, > >> + if (state == 0x01) { > > >Why we need this change? How is it related to CRC? Do you intent to > >report contact as active but not emit any position data of state is > >neither 0 nor 1? > This is no relationship with CRC, just want to make sure report points as state equal to 1. If active contact only reported when state is 0x01 you need to update the statements above like this: input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, state == 0x01); if (state != 0x01) continue; but I am surprised that your firmware would report anything but 0 for inactive contact. Could you document all possible state values? Thanks. -- Dmitry -- 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