input: misc: add isl2902[89] driver
diff --git a/include/linux/isl29028.h b/include/linux/isl29028.h
new file mode 100644
index 0000000..0420442
--- /dev/null
+++ b/include/linux/isl29028.h
@@ -0,0 +1,62 @@
+/* include/linux/isl29028.h
+ *
+ * Copyright (C) 2010 HTC, Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * 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.
+ *
+ */
+
+#ifndef __ISL29028_H
+#define __ISL29028_H
+
+#define ISL29028_I2C_NAME "isl29028"
+
+#define ISL29028_CHIPID		0x00
+#define ISL29028_CONFIGURE	0x01
+#define ISL29028_INTERRUPT	0x02
+#define ISL29028_PROX_LT	0x03
+#define ISL29828_PROX_HT	0x04
+#define ISL29028_LS_TH1		0x05
+#define ISL29028_LS_TH2		0x06
+#define ISL29028_LS_TH3		0x07
+#define ISL29028_PROX_DATA	0x08
+#define ISL29028_LS_DATA1	0x09
+#define ISL29028_LS_DATA2	0x0A
+#define ISL29028_TEST1		0x0E
+#define ISL29028_TEST2		0x0F
+
+#define ISL29028_PROX_EN	(1 << 7)
+#define ISL29028_PROX_DR	(1 << 3)
+#define ISL29028_ALS_EN		(1 << 2)
+#define ISL29028_INT_PROX_FLAG	(1 << 7)
+#define ISL29028_INT_ALS_FLAG	(1 << 3)
+#define ISL29028_INT_ALS_PRST	(2 << 1)
+
+#define ALS_CALIBRATED		0x6DA5
+#define PS_CALIBRATED		0x5053
+
+extern unsigned int ps_kparam1;
+extern unsigned int ps_kparam2;
+
+struct isl29028_platform_data {
+	int intr;
+	uint16_t levels[10];
+	uint16_t golden_adc;
+	int (*power)(int, uint8_t); /* power to the chip */
+	int (*calibrate_func)(int, int, int, int, int*, int*);
+	uint8_t lt;
+	uint8_t ht;
+	uint8_t debounce;
+	uint8_t *mapping_table;
+	uint8_t mapping_size;
+	uint8_t enable_polling_ignore;
+};
+
+#endif