diff options
author | Pavel Machek <pavel@ucw.cz> | 2009-08-05 02:00:10 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-15 23:02:04 +0400 |
commit | 58c6d6d1a6ff66d81ad933cdbfbf7064a064e906 (patch) | |
tree | 0b6c5dc5607615c1a6bf16b2f449a56d4d4a631f /drivers/staging/dream | |
parent | 4191934cb6cf15a813ba8d2a05366859f7bd1c0b (diff) | |
download | linux-58c6d6d1a6ff66d81ad933cdbfbf7064a064e906.tar.xz |
Staging: dream: synaptics touchscreen for dream: documentation
This adds pointer to hardware documentation, and adds code comment
from Arve.
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/dream')
-rw-r--r-- | drivers/staging/dream/synaptics_i2c_rmi.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/staging/dream/synaptics_i2c_rmi.c b/drivers/staging/dream/synaptics_i2c_rmi.c index 6bc20d913ca4..9190a9d86c7f 100644 --- a/drivers/staging/dream/synaptics_i2c_rmi.c +++ b/drivers/staging/dream/synaptics_i2c_rmi.c @@ -13,6 +13,7 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * + * http://www.synaptics.com/sites/default/files/511_000099_01F.pdf */ #include <linux/module.h> @@ -87,6 +88,22 @@ static int synaptics_init_panel(struct synaptics_ts_data *ts) static void decode_report(struct synaptics_ts_data *ts, u8 *buf) { +/* + * This sensor sends two 6-byte absolute finger reports, an optional + * 2-byte relative report followed by a status byte. This function + * reads the two finger reports and transforms the coordinates + * according the platform data so they can be aligned with the lcd + * behind the touchscreen. Typically we flip the y-axis since the + * sensor uses the bottom left corner as the origin, but if the sensor + * is mounted upside down the platform data will request that the + * x-axis should be flipped instead. The snap to inactive edge border + * are used to allow tapping the edges of the screen on the G1. The + * active area of the touchscreen is smaller than the lcd. When the + * finger gets close the edge of the screen we snap it to the + * edge. This allows ui elements at the edge of the screen to be hit, + * and it prevents hitting ui elements that are not at the edge of the + * screen when the finger is touching the edge. + */ int pos[2][2]; int f, a; int base = 2; |