Thread (27 messages) 27 messages, 4 authors, 2015-06-29
STALE3989d
Revisions (12)
  1. v1 [diff vs current]
  2. v2 current
  3. v3 [diff vs current]
  4. v4 [diff vs current]
  5. v5 [diff vs current]
  6. v6 [diff vs current]
  7. v7 [diff vs current]
  8. v8 [diff vs current]
  9. v9 [diff vs current]
  10. v10 [diff vs current]
  11. v11 [diff vs current]
  12. v12 [diff vs current]

[PATCH v2 2/8] input: goodix: fix variable length array warning

From: Irina Tirdea <hidden>
Date: 2015-06-08 14:40:04
Also in: linux-devicetree, lkml
Subsystem: goodix touchscreen, input (keyboard, mouse, joystick, touchscreen) drivers, the rest · Maintainers: Hans de Goede, Dmitry Torokhov, Linus Torvalds

Fix sparse warning:
drivers/input/touchscreen/goodix.c:182:26: warning:
Variable length array is used.

Replace the variable length array with fixed length.

Some Goodix devices have maximum 5 touch points, while
others have 10 touch points. Using the maximum length
(80 bytes) for all devices will lead to wasting 40 bytes
when using devices with maximum 5 touch points. However,
that is prefferable to using kmalloc which will use even
more resources.

Signed-off-by: Irina Tirdea <redacted>
---
 drivers/input/touchscreen/goodix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index a65e4d9..18557e4 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -147,7 +147,7 @@ static void goodix_ts_report_touch(struct goodix_ts_data *ts, u8 *coor_data)
  */
 static void goodix_process_events(struct goodix_ts_data *ts)
 {
-	u8  point_data[1 + GOODIX_CONTACT_SIZE * ts->max_touch_num];
+	u8  point_data[1 + GOODIX_CONTACT_SIZE * GOODIX_MAX_CONTACTS];
 	int touch_num;
 	int i;
 
-- 
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help