On Wed, Aug 15, 2012 at 04:28:17PM -0700, Ping Cheng wrote: > On Sun, Aug 12, 2012 at 2:42 PM, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote: > > Collect common frame synchronization tasks in a new function, > > input_mt_sync_frame(). Depending on the flags set, it drops > > unseen contacts and performs pointer emulation. > > > > Signed-off-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> > > I went through the patchset except those for bcm5974. Since there are > changes that affect other drivers, do you plan to update the affected > drivers as well? I am not sure what you mean here? There is a patch with in-kernel api changes, which also changes all drivers using the api. Some of those drivers will benefit from further changes, but that is a different story. > > +void input_mt_sync_frame(struct input_dev *dev) > > +{ > > + struct input_mt *mt = dev->mt; > > + struct input_mt_slot *s; > > + > > + if (!mt) > > + return; > > + > > + if (mt->flags & INPUT_MT_DROP_UNUSED) { > > + for (s = mt->slots; s != mt->slots + mt->num_slots; s++) { > > + if (s->frame == mt->frame) > > + continue; > > + input_mt_slot(dev, s - mt->slots); > > + input_event(dev, EV_ABS, ABS_MT_TRACKING_ID, -1); > > + } > > + } > > + > > + if (mt->flags & INPUT_MT_POINTER) > > + input_mt_report_pointer_emulation(dev, true); > > + > > + if (mt->flags & INPUT_MT_DIRECT) > > + input_mt_report_pointer_emulation(dev, false); > > + > > + mt->frame++; > > Where do we reset this frame counter? Why would we reset it? It is used in the core to keep track of changes per frame, and may wrap around without issues. Henrik -- 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