msm8909计步调试发现,每次
input_report_abs(qma->stepcount_dev, ABS_RX, data);
input_sync(qma->stepcount_dev);
如果上报的数据和之前的一样,或者第一次上报和初始化的值一样,则不会上报。原因是里面有做比较:input_report_abs->input_event->input_handle_event->input_get_disposition->input_handle_abs_event:
为了让每次都能上报,做了以下修改:
从input_get_disposition中可以看出为啥注册input device时要设置参数了
追代码时发现了
dev->event的初始化地方在:kernel/drivers/input/ecdev.c里面