Hi Roger,

the MT implementation seems mostly fine, just one curiosity:

>  static irqreturn_t pixcir_ts_isr(int irq, void *dev_id)
>  {
>       struct pixcir_i2c_ts_data *tsdata = dev_id;
>       const struct pixcir_ts_platform_data *pdata = tsdata->chip;
> +     struct pixcir_report_data report;
>  
>       while (!tsdata->exiting) {
> -             pixcir_ts_poscheck(tsdata);
> -
> -             if (gpio_get_value(pdata->gpio_attb))
> +             /* parse packet */
> +             pixcir_ts_parse(tsdata, &report);
> +
> +             /* report it */
> +             pixcir_ts_report(tsdata, &report);
> +
> +             if (gpio_get_value(pdata->gpio_attb)) {
> +                     if (report.num_touches) {
> +                             /*
> +                              * Last report with no finger up?
> +                              * Do it now then.
> +                              */
> +                             input_mt_sync_frame(tsdata->input);
> +                             input_sync(tsdata->input);

Why is this special handling needed?

Thanks,
Henrik

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to