From: Christopher Heiny <cheiny@synaptics.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Allie Xiong <axiong@synaptics.com>,
William Manson <WManson@synaptics.com>,
Christopher Heiny <Cheiny@synaptics.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: [RFC] [PATCH 0/1] input/touchscreen: Synaptics Touchscreen Driver
Date: Sat, 19 Dec 2009 12:44:42 -0800 [thread overview]
Message-ID: <4B2D3B3A.2010308@synaptics.com> (raw)
This patch adds an initial driver supporting Synaptics ClearPad
touchscreens that use the RMI4 protocol, as defined here:
http://www.synaptics.com/sites/default/files/511-000136-01_revA.pdf
This version of the driver does not support all features of the RMI4
protocol yet. We felt it more important to start with a solid
implementation of the basic functionality, and then build on that base
to support additional features (such as gestures, proximity detection,
capacitive buttons, and so on).
Additionally, as this is our team's first venture into the wonderful
world of kernel submissions, we figured it was important to start out
initially with a fairly simple codebase, just in case we're doing
something horribly wrong.
The significant files in this version of the driver are:
rmi_core.c
Implements the basic core of the RMI4 protocol
including self-discovery of RMI4 functions. This
also implements RMI4 function 0x01, which provides
generic device control.
rmi_function_11.c
Implements basic RMI4 function 0x11 (2D sensor)
features, including multitouch up to 10 fingers.
rmi_app_touchpad.c
The major driver functions (mod_init, mod_exit,
and so on).
More detailed descriptions can be found in each file's comments.
We chose to use multiple source files because it makes it easy to add
support for additional RMI4 functions with minimal impact to existing
functions. Additionally, this supports future changes to the
configuration to allow you to compile in only those RMI4 functions that
you need for your particular device.
There are two existing drivers for similar Synaptics devices in the
current kernel tree (excluding the PS/2 touchpad driver). These are:
./linux-2.6/drivers/input/mouse/synaptics_i2c.c
A driver for the Exeda 15mm touchpad, written by Mike Rapoport
<mike@compulab.co.il> and Igor Grinberg <grinberg@compulab.co.il>
./linux-2.6/drivers/staging/dream/synaptics_i2c_rmi.c
A driver for the HTC Dream ClearPad, written by Arve Hjønnevåg
<arve@android.com>
We have not extended these drivers for a couple of reasons. First, the
two drivers are specific to particular Synaptics products, and it is our
desire to produce a general solution that takes advantage of the 'self
describing' features of products that use the RMI protocol.
Second, and more importantly, is that the existing drivers are written
for an older version of the RMI protocol (aka RMI3) that is being
retired in favor of a more recent and substantially changed version (aka
RMI4). Most currently shipping Synaptics ClearPads speak the RMI4
protocol, and it will be Synaptics protocol of choice going forward. In
almost all respects, RMI4 is not backward compatible with RMI3, making
it impractical to support both versions in the same driver.
Comments and other feedback on this driver are welcomed.
Bill Manson
Allie Xiong
Christopher Heiny
PS Synaptics will be on holiday break from December 24th through January
3rd. Feedback received during that time may not get attention until
after shutdown.
next reply other threads:[~2009-12-19 20:53 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-19 20:44 Christopher Heiny [this message]
2009-12-19 20:49 ` [RFC] [PATCH 1/1] input/touchscreen: Synaptics Touchscreen Driver Christopher Heiny
2009-12-20 3:05 ` Dmitry Torokhov
2010-01-03 19:48 ` William Manson
2010-01-03 22:30 ` Dmitry Torokhov
2010-01-05 21:57 ` William Manson
2010-01-05 22:40 ` Dmitry Torokhov
2010-01-06 0:45 ` William Manson
-- strict thread matches above, loose matches on Subject: below --
2010-02-02 2:03 [RFC PATCH 0/1] " Christopher Heiny
2010-02-17 22:37 Christopher Heiny
2010-02-17 22:37 ` Christopher Heiny
2010-02-18 9:54 ` Dmitry Torokhov
2010-03-23 2:07 Christopher Heiny
2010-03-23 3:04 ` Arve Hjønnevåg
2010-03-23 19:18 ` Christopher Heiny
2010-03-23 22:35 ` Arve Hjønnevåg
2010-03-24 1:17 ` Christopher Heiny
2010-05-29 0:29 Christopher Heiny
2010-05-29 7:54 ` Henrik Rydberg
2010-05-29 10:01 ` Jean Delvare
2010-05-29 14:48 ` Henrik Rydberg
2010-07-28 0:42 Christopher Heiny
2010-07-28 0:42 ` Christopher Heiny
2010-08-25 9:29 Naveen Kumar GADDIPATI
2010-08-25 18:05 ` William Manson
2010-08-25 20:59 ` Christopher Heiny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B2D3B3A.2010308@synaptics.com \
--to=cheiny@synaptics.com \
--cc=WManson@synaptics.com \
--cc=axiong@synaptics.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox