[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-9.0] tests/qtest: Fix STM32L4x5 GPIO test on 32-bit
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH for-9.0] tests/qtest: Fix STM32L4x5 GPIO test on 32-bit |
Date: |
Fri, 29 Mar 2024 13:50:06 +0100 |
User-agent: |
Mozilla Thunderbird |
Hi Cédric, Thomas,
On 29/3/24 10:27, Cédric Le Goater wrote:
The test mangles the GPIO address and the pin number in the
qtest_add_data_func data parameter. Doing so, it assumes that the host
pointer size is always 64-bit, which breaks on 32-bit :
../tests/qtest/stm32l4x5_gpio-test.c: In function ‘test_gpio_output_mode’:
../tests/qtest/stm32l4x5_gpio-test.c:272:25: error: cast from pointer to
integer of different size [-Werror=pointer-to-int-cast]
272 | unsigned int pin = ((uint64_t)data) & 0xF;
| ^
../tests/qtest/stm32l4x5_gpio-test.c:273:22: error: cast from pointer to
integer of different size [-Werror=pointer-to-int-cast]
273 | uint32_t gpio = ((uint64_t)data) >> 32;
| ^
Any clue why this isn't this covered by CI?
To fix, improve the mangling of the GPIO address and pin number fields
by using GPIO_SIZE so that the resulting value fits in a 32-bit pointer.
While at it, include some helpers to hide the details.
Cc: Arnaud Minier <arnaud.minier@telecom-paris.fr>
Cc: Inès Varhol <ines.varhol@telecom-paris.fr>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
---
tests/qtest/stm32l4x5_gpio-test.c | 59 ++++++++++++++++++-------------
1 file changed, 35 insertions(+), 24 deletions(-)