diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-05-23 16:06:20 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2024-05-28 14:20:48 +0100 |
commit | 84ce4b9b9943d26c9d9c7ea8abd924033c125535 (patch) | |
tree | d7b526057af11dd743f84387c8f1cdc17c446f6c | |
parent | daafa78b297291fea36fb4daeed526705fa7c035 (diff) |
hw/input/tsc2005: Fix -Wchar-subscripts warning in tsc2005_txrx()
Check the function index is in range and use an unsigned
variable to avoid the following warning with GCC 13.2.0:
[666/5358] Compiling C object libcommon.fa.p/hw_input_tsc2005.c.o
hw/input/tsc2005.c: In function 'tsc2005_timer_tick':
hw/input/tsc2005.c:416:26: warning: array subscript has type 'char' [-Wchar-subscripts]
416 | s->dav |= mode_regs[s->function];
| ~^~~~~~~~~~
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240508143513.44996-1-philmd@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: fixed missing ')']
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | hw/input/tsc2005.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/input/tsc2005.c b/hw/input/tsc2005.c index 941f163d36..ac7f54eeaf 100644 --- a/hw/input/tsc2005.c +++ b/hw/input/tsc2005.c @@ -406,6 +406,9 @@ uint32_t tsc2005_txrx(void *opaque, uint32_t value, int len) static void tsc2005_timer_tick(void *opaque) { TSC2005State *s = opaque; + unsigned int function = s->function; + + assert(function < ARRAY_SIZE(mode_regs)); /* Timer ticked -- a set of conversions has been finished. */ @@ -413,7 +416,7 @@ static void tsc2005_timer_tick(void *opaque) return; s->busy = false; - s->dav |= mode_regs[s->function]; + s->dav |= mode_regs[function]; s->function = -1; tsc2005_pin_update(s); } |