Thread (46 messages) 46 messages, 6 authors, 2015-07-30

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help