Re: HTC: touchscreen driver
From: Arve Hjønnevåg <arve@android.com>
Date: 2009-07-15 06:48:22
Also in:
lkml
2009/7/14 Trilok Soni [off-list ref]:
Hi Arve, 2009/7/15 Arve Hjønnevåg [off-list ref]:quoted
On Tue, Jul 14, 2009 at 3:16 PM, Pavel Machek[off-list ref] wrote: ...quoted
quoted
quoted
quoted
This driver only supports a subset of Synaptics' devices so a more generic driver will eventually be needed. The patch below adds support for a more recent but similar panel.Ok, that should be simple enough to apply, but lets do improvements when we cleaned the code enough for the mainline...?We need this change now. Your cleanup will cause conflicts for anyone using our driver, so it would be better if it includes all our fixes.Well, I don't expect you to use the cleaned-up driver as-is: I had to remove the wakelocks functionality as infrastructure is not in mainline.OK. The driver does not use wakelocks tough, only earlysuspend, so your cleaned up version should be fully functional. The early suspend hooks are only used to save power in idle when the screen is off.quoted
(Plus, I do not have hardware to test your latest version).True, but the protocol documentation is available: http://www.synaptics.com/sites/default/files/511_000099_01F.pdfquoted
Applying small patch on top of cleaned up driver should be better than carrying whole driver itself, right?Perhaps, but the only problem I encountered with this driver so far was when calling disable_irq from the interrupt handler stopped working on non-smp systems in 2.6.30 (which is another patch you should probably apply first).disable_irq review comment is already given in the patch posted on linux-input by Pavel. We should convert this driver to request_threaded_irq infrastructure instead. I have added linux-input ML in CC.
I looked into using request_threaded_irq a while ago, but decided it was not worth it since I would still need to create the workqueue if the interrupt was not available. However, if we drop support for running without an irq then using request_threaded_irq should be simpler. -- Arve Hjønnevåg