From: Irina Tirdea Date: Tue, 9 Jun 2015 18:03:15 +0000 (-0700) Subject: Input: goodix - fix variable length array warning X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0e0432f04ee5d73b45faefc7bbb63b75fcaefa42;p=linux-beck.git Input: goodix - fix variable length array warning 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 on stack when using devices with maximum 5 touch points. However, that is preferable to using kmalloc which will use even more resources. Signed-off-by: Irina Tirdea Acked-by: Bastien Nocera Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c index 099fc466bd16..6457033439d5 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;