RFC: User-space interface to read/write touchscreen controller registers (atmel_mxt_ts.c)
Hello,
we have a need to access the configuration registers/register blocks of the touchscreen controller from the user space. There are several reasons for this, and while some of them are related to debugging, some can be valuable in normal use cases. For example, a configuration parameter might need to be semi-permanently changed to improve performance, or some parameter could even be updated for different usage modes of the device. This interface would make it very easy. Currently, a change in the board file and kernel recompile is needed to change the settings.
My question is, what kind of approach would be recommended, and what would be acceptable to include in the mainline version? Currently there exists a patch which adds a character device and few IOCTLs (very similar to maXTouch driver here: http://gitorious.org/maxtouch), but my understanding is that is not the best way to do this. Would a sysfs-based system be better suited? Are there any good examples in the mainline drivers how something like this should be implemented?
Best Regards,
Signature · 1 line
Iiro Valkonen
On Fri, Jul 22, 2011 at 03:11:25PM +0300, Iiro Valkonen wrote:
Please fix your mail client to word wrap within paragraphs. I've reformatted your text for legibility.
Quoted 9 lines
we have a need to access the configuration registers/register blocks of the touchscreen controller from the user space. There are several reasons for this, and while some of them are related to debugging, some can be valuable in normal use cases. For example, a configuration parameter might need to be semi-permanently changed to improve performance, or some parameter could even be updated for different usage modes of the device. This interface would make it very easy. Currently, a change in the board file and kernel recompile is needed to change the settings.
For diagnostic access the regmap API was merged during this merge window, it provides debugfs access to the register map. That doesn't help with the coefficient data but it should be enough for debugging.