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

Bastien Nocera
2015-06-09T15:36:06Z

On Mon, 2015-06-08 at 17:37 +0300, Irina Tirdea wrote:
> 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
^^^^^^^^^^^
preferable

> more resources.
>
> Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>

Acked-by: Bastien Nocera <hadess@hadess.net>

> ---
> 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;
>