RE: [PATCH 2/9] input: goodix: fix variable length array warning
From: Tirdea, Irina <hidden>
Date: 2015-06-05 16:34:44
Also in:
linux-devicetree, lkml
-----Original Message----- From: linux-input-owner@vger.kernel.org [mailto:linux-input-owner@vger.kernel.org] On Behalf Of Antonio Ospite Sent: 03 June, 2015 23:50 To: Tirdea, Irina Cc: Dmitry Torokhov; Bastien Nocera; linux-input@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/9] input: goodix: fix variable length array warning On Wed, 3 Jun 2015 10:26:47 +0000 "Tirdea, Irina" [off-list ref] wrote:quoted
quoted
-----Original Message----- From: Antonio Ospite [mailto:ao2@ao2.it] Sent: 28 May, 2015 18:58 To: Tirdea, Irina Cc: Dmitry Torokhov; Bastien Nocera; linux-input@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/9] input: goodix: fix variable length array warning On Thu, 28 May 2015 15:47:38 +0300 Irina Tirdea [off-list ref] wrote:quoted
Fix sparse warning: drivers/input/touchscreen/goodix.c:182:26: warning: Variable length array is used. Replace the variable length array with fixed length. 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 c2e785c..dac1b3c 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];Hi,Hi Antonio,quoted
this fixes the warning from sparse, but also changes the semantics of the code: ts->max_touch_num is less that GOODIX_MAX_CONTACTS for 5 touches devices and in this case we'll end up using more memory than is necessary.I wasn't sure if it is better to save the 5 bytes or fix the warning, so I sent this to get some more input. Thanks for the feedback, I will drop this patch.Use kmalloc() or, alternatively, add at least a comment telling why you think that sacrificing a few bytes —only for some devices— has advantages over dynamic allocation.
You are right, kmalloc will solve both problems - the sparse warning and allocating more bytes than necessary. Don't know why I did not think of that. Will use that in v2. Thanks, Irina
I am not necessarily against the static allocation change, I was just pointing out the issue. Thanks, Antonio -- Antonio Ospite http://ao2.it A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html