Signed-off-by: Andrew Duggan <adug...@synaptics.com>
---
This version includes Nick's suggestion of adding force to the device tree
parameters so make it obvious that these parameters overwrite the
default values set in the firware config.

 .../devicetree/bindings/input/rmi4/rmi_2d_sensor.txt        | 10 ++++++++++
 drivers/input/rmi4/rmi_2d_sensor.c                          | 13 +++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt 
b/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
index f2c30c8..c00665d 100644
--- a/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
+++ b/Documentation/devicetree/bindings/input/rmi4/rmi_2d_sensor.txt
@@ -37,6 +37,16 @@ Optional Properties:
                                disable reporing absolute position data.
 - syna,rezero-wait-ms: Time in miliseconds to wait after issuing a rezero
                                command.
+- syna,dribble-force-enable: Enable reporting of dribble packets in the 
firmware
+                               (overwrites default value in firmware config).
+- syna,dribble-force-disable: Disable reporting of dribble packets in the 
firmware.
+                               (overwrites default value in firmware config).
+- syna,palm-detect-force-enable: Enable reporting the palm detect gesture in 
the
+                               firmware.  (overwrites default value in firmware
+                               config).
+- syna,palm-detect-force-disable: Disable reporting the palm detect gesture in
+                               the firmware.  (overwrites default value in
+                               firmware config).
 
 
 Example of a RMI4 I2C device with F11:
diff --git a/drivers/input/rmi4/rmi_2d_sensor.c 
b/drivers/input/rmi4/rmi_2d_sensor.c
index e97bd7f..a092f6a 100644
--- a/drivers/input/rmi4/rmi_2d_sensor.c
+++ b/drivers/input/rmi4/rmi_2d_sensor.c
@@ -317,6 +317,19 @@ int rmi_2d_sensor_of_probe(struct device *dev,
 
        pdata->rezero_wait = val;
 
+       if (of_property_read_bool(dev->of_node, "syna,dribble-force-enable"))
+               pdata->dribble = RMI_REG_STATE_ON;
+       else if (of_property_read_bool(dev->of_node,
+           "syna,dribble-force-disable"))
+               pdata->dribble = RMI_REG_STATE_OFF;
+
+       if (of_property_read_bool(dev->of_node,
+           "syna,palm-detect-force-enable"))
+               pdata->palm_detect = RMI_REG_STATE_ON;
+       else if (of_property_read_bool(dev->of_node,
+                               "syna,palm-detect-force-disable"))
+               pdata->palm_detect = RMI_REG_STATE_OFF;
+
        return 0;
 }
 #else
-- 
2.5.0

Reply via email to