aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBrian Swetland <swetland@google.com>2010-11-14 20:53:22 -0800
committerArve Hjønnevåg <arve@android.com>2011-11-17 17:45:40 -0800
commit6da0aef0421602bd7be3e7252e15732254ca0491 (patch)
tree79a62388ab8e55b4655ff395f4ab02773cbf5135 /include
parentbaf49ac9ee06be4a0e2682da1662412407730e6e (diff)
downloadkernel_samsung_crespo-6da0aef0421602bd7be3e7252e15732254ca0491.zip
kernel_samsung_crespo-6da0aef0421602bd7be3e7252e15732254ca0491.tar.gz
kernel_samsung_crespo-6da0aef0421602bd7be3e7252e15732254ca0491.tar.bz2
input: cypress-touchkey: driver for touch keypad peripheral
Change-Id: Ib8744466edda655e7e4eec921ec55b98b7710ee7 Signed-off-by: Sang-Jun Park <sj2202.park@samsung.com Signed-off-by: Jinho Kim <jinho96.kim@samsung.com> Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com> General cleanup of the driver, removing unused functions and sysfs interface since it was agreed upon that userspace wouldn't control the backlight. Adding delay when turning on the microcontroller to wait for the chip to be ready. Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com> Switching to edge triggered interrupt. This requires extra code to ignore spurious interrupts while powering on. Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com> Cypress made this change to ensure reported key statuses don't get out of sync between user-space and the controller. The basic idea is to read the status of all the keys at once on each read and send all the relevant key states to user-space. Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com> Fixing the version check in the touchkey driver to account for older firmware revs 0xc4 and above. Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com>
Diffstat (limited to 'include')
-rwxr-xr-xinclude/linux/input/cypress-touchkey.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/linux/input/cypress-touchkey.h b/include/linux/input/cypress-touchkey.h
new file mode 100755
index 0000000..e42a699
--- /dev/null
+++ b/include/linux/input/cypress-touchkey.h
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2006-2010, Cypress Semiconductor Corporation.
+ * Copyright (C) 2010, Samsung Electronics Co. Ltd. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifndef _CYPRESS_TOUCHKEY_H__
+#define _CYPRESS_TOUCHKEY_H__
+
+#define CYPRESS_TOUCHKEY_DEV_NAME "cypress_touchkey"
+
+struct touchkey_platform_data {
+ int keycode_cnt;
+ const int *keycode;
+ void (*touchkey_onoff) (int);
+};
+
+enum {
+ TOUCHKEY_OFF,
+ TOUCHKEY_ON,
+};
+
+#endif /* _CYPRESS_TOUCHKEY_H__ */