*_traces are the number of antennas. width_* is thus the space between 2
antennas. Which means, we should subtract 1 to the number of antennas
to divide the touchpad by the number of holes between each antenna.

Signed-off-by: Benjamin Tissoires <[email protected]>

--

new in v2
---
 drivers/input/mouse/elan_i2c_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/mouse/elan_i2c_core.c 
b/drivers/input/mouse/elan_i2c_core.c
index 6f4feedb7765..3375eaa9a72e 100644
--- a/drivers/input/mouse/elan_i2c_core.c
+++ b/drivers/input/mouse/elan_i2c_core.c
@@ -398,8 +398,8 @@ static int elan_query_device_parameters(struct elan_tp_data 
*data)
                if (error)
                        return error;
        }
-       data->width_x = data->max_x / x_traces;
-       data->width_y = data->max_y / y_traces;
+       data->width_x = data->max_x / (x_traces - 1);
+       data->width_y = data->max_y / (y_traces - 1);
 
        if (device_property_read_u32(&client->dev,
                                     "touchscreen-x-mm", &x_mm) ||
-- 
2.21.0

Reply via email to