|
@@ -0,0 +1,65 @@
|
|
|
+diff -Naurp a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
|
|
|
+--- a/drivers/input/touchscreen/edt-ft5x06.c 2018-02-13 23:46:04.845194636 +0100
|
|
|
++++ b/drivers/input/touchscreen/edt-ft5x06.c 2018-02-13 23:45:01.705110745 +0100
|
|
|
+@@ -53,6 +53,7 @@
|
|
|
+ #define M09_REGISTER_OFFSET 0x93
|
|
|
+ #define M09_REGISTER_NUM_X 0x94
|
|
|
+ #define M09_REGISTER_NUM_Y 0x95
|
|
|
++#define M09_REGISTER_REPORT_RATE 0x88
|
|
|
+
|
|
|
+ #define M12_REGISTER_THRESHOLD 0x80
|
|
|
+ #define M12_REGISTER_GAIN 0x92
|
|
|
+@@ -510,7 +511,7 @@ static EDT_ATTR(offset, S_IWUSR | S_IRUG
|
|
|
+ static EDT_ATTR(threshold, S_IWUSR | S_IRUGO, WORK_REGISTER_THRESHOLD,
|
|
|
+ M09_REGISTER_THRESHOLD, M12_REGISTER_THRESHOLD, 1, 255);
|
|
|
+ static EDT_ATTR(report_rate, S_IWUSR | S_IRUGO, WORK_REGISTER_REPORT_RATE,
|
|
|
+- NO_REGISTER, M12_REGISTER_REPORT_RATE, 3, 14);
|
|
|
++ M09_REGISTER_REPORT_RATE, M12_REGISTER_REPORT_RATE, 3, 14);
|
|
|
+
|
|
|
+ static struct attribute *edt_ft5x06_attrs[] = {
|
|
|
+ &edt_ft5x06_attr_gain.dattr.attr,
|
|
|
+@@ -530,7 +531,7 @@ static int edt_ft5x06_factory_mode(struc
|
|
|
+ struct i2c_client *client = tsdata->client;
|
|
|
+ int retries = EDT_SWITCH_MODE_RETRIES;
|
|
|
+ int ret;
|
|
|
+- int error;
|
|
|
++ int error = 0;
|
|
|
+
|
|
|
+ disable_irq(client->irq);
|
|
|
+
|
|
|
+@@ -570,7 +571,8 @@ static int edt_ft5x06_factory_mode(struc
|
|
|
+ error = -EIO;
|
|
|
+ goto err_out;
|
|
|
+ }
|
|
|
+-
|
|
|
++
|
|
|
++ printk(KERN_INFO "EDT-TC: %s: set to factory mode\n", __func__);
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ err_out:
|
|
|
+@@ -891,7 +893,8 @@ edt_ft5x06_ts_prepare_debugfs(struct edt
|
|
|
+ tsdata->debug_dir, tsdata, &debugfs_raw_data_fops);
|
|
|
+
|
|
|
+ if (reg_addr->reg_report_rate != NO_REGISTER)
|
|
|
+- debugfs_create_u32("report_rate", S_IRUSR, tsdata->debug_dir, &tsdata->report_rate);
|
|
|
++ debugfs_create_u32("report_rate", S_IRUSR, tsdata->debug_dir,
|
|
|
++ &tsdata->report_rate);
|
|
|
+
|
|
|
+ debugfs_create_u32("invert_x", S_IRUSR | S_IWUSR,
|
|
|
+ tsdata->debug_dir, &tsdata->invert_x);
|
|
|
+@@ -989,7 +992,6 @@ static int edt_ft5x06_ts_identify(struct
|
|
|
+ if (error)
|
|
|
+ return error;
|
|
|
+
|
|
|
+- printk(KERN_INFO "EDT-TC:: %s ::-----%s----\n", __func__, rdbuf);
|
|
|
+ /* if we find something consistent, stay with that assumption
|
|
|
+ * at least M09 won't send 3 bytes here
|
|
|
+ */
|
|
|
+@@ -1148,6 +1150,7 @@ edt_ft5x06_ts_set_regs(struct edt_ft5x06
|
|
|
+
|
|
|
+ case M09:
|
|
|
+ reg_addr->reg_threshold = M09_REGISTER_THRESHOLD;
|
|
|
++ reg_addr->reg_report_rate = M09_REGISTER_REPORT_RATE;
|
|
|
+ reg_addr->reg_gain = M09_REGISTER_GAIN;
|
|
|
+ reg_addr->reg_offset = M09_REGISTER_OFFSET;
|
|
|
+ reg_addr->reg_num_x = M09_REGISTER_NUM_X;
|