summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-18 23:20:37 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-18 23:20:36 -0700
commit55b1c1cae23c1ed9378716565a5df658d2bddaa4 (patch)
tree5d0ba080b3d3e6b1965032a3eb0605658fef0e1b
parent0668f977d065e7cf63bb59ca3fd73daeda591c4f (diff)
parent8ac5a9e361461e95b49001d9923e82cc0ae1a8bd (diff)
Merge "input: touchscreen: add option to ignore Focaltech family-id check"
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/ft5x06-ts.txt1
-rw-r--r--drivers/input/touchscreen/ft5x06_ts.c5
-rw-r--r--include/linux/input/ft5x06_ts.h1
3 files changed, 6 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/input/touchscreen/ft5x06-ts.txt b/Documentation/devicetree/bindings/input/touchscreen/ft5x06-ts.txt
index 735deb7b3cb5..1d04a7e365e1 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/ft5x06-ts.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/ft5x06-ts.txt
@@ -46,6 +46,7 @@ Optional properties:
- focaltech,fw-delay-era-flsh-ms : specify the erase flash delay in ms for firmware upgrade
- focaltech,fw-auto-cal : specify whether calibration is needed after firmware upgrade
- focaltech,fw-vkey-support : specify if virtual keys are supported through firmware
+ - focaltech,ignore-id-check : specify ignore family-id check
Example:
i2c@f9923000{
diff --git a/drivers/input/touchscreen/ft5x06_ts.c b/drivers/input/touchscreen/ft5x06_ts.c
index eac9067822a3..4f5b5b4ecd7f 100644
--- a/drivers/input/touchscreen/ft5x06_ts.c
+++ b/drivers/input/touchscreen/ft5x06_ts.c
@@ -1248,6 +1248,9 @@ static int ft5x06_parse_dt(struct device *dev,
pdata->fw_vkey_support = of_property_read_bool(np,
"focaltech,fw-vkey-support");
+ pdata->ignore_id_check = of_property_read_bool(np,
+ "focaltech,ignore-id-check");
+
rc = of_property_read_u32(np, "focaltech,family-id", &temp_val);
if (!rc)
pdata->family_id = temp_val;
@@ -1442,7 +1445,7 @@ static int ft5x06_ts_probe(struct i2c_client *client,
dev_info(&client->dev, "Device ID = 0x%x\n", reg_value);
- if (pdata->family_id != reg_value) {
+ if ((pdata->family_id != reg_value) && (!pdata->ignore_id_check)) {
dev_err(&client->dev, "%s:Unsupported controller\n", __func__);
goto free_reset_gpio;
}
diff --git a/include/linux/input/ft5x06_ts.h b/include/linux/input/ft5x06_ts.h
index 202ddeec09d6..1340737070f7 100644
--- a/include/linux/input/ft5x06_ts.h
+++ b/include/linux/input/ft5x06_ts.h
@@ -58,6 +58,7 @@ struct ft5x06_ts_platform_data {
bool fw_vkey_support;
bool no_force_update;
bool i2c_pull_up;
+ bool ignore_id_check;
int (*power_init)(bool);
int (*power_on)(bool);
};