From 4bcb24ace736930daa98f85d1ca0542beb995985 Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 9 Jun 2025 10:38:31 +0800 Subject: [PATCH 1/2] componnets: drivers: adc: remove build warnings gcc build warnings: cast from pointer to integer of different size [-Wpointer-to-int-cast] For rt_adc_ops.enabled, the type of second param is rt_int8_t, original _adc_control also called with wrong type casting. Convert first to rt_base_t, then cast to rt_int8_t to remove the build warnings. Signed-off-by: Chen Wang --- components/drivers/misc/adc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/drivers/misc/adc.c b/components/drivers/misc/adc.c index f5d7d52c044..3a001277529 100644 --- a/components/drivers/misc/adc.c +++ b/components/drivers/misc/adc.c @@ -45,14 +45,13 @@ static rt_err_t _adc_control(rt_device_t dev, int cmd, void *args) rt_adc_device_t adc = (struct rt_adc_device *)dev; rt_err_t result; - if (cmd == RT_ADC_CMD_ENABLE && adc->ops->enabled) { - result = adc->ops->enabled(adc, (rt_uint32_t)args, RT_TRUE); + result = adc->ops->enabled(adc, (rt_int8_t)(rt_base_t)args, RT_TRUE); } else if (cmd == RT_ADC_CMD_DISABLE && adc->ops->enabled) { - result = adc->ops->enabled(adc, (rt_uint32_t)args, RT_FALSE); + result = adc->ops->enabled(adc, (rt_int8_t)(rt_base_t)args, RT_FALSE); } else if (cmd == RT_ADC_CMD_GET_RESOLUTION && adc->ops->get_resolution && args) { From 3ad8e1e801c185f6cb09cbb5190e9ba0bc86b09e Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 9 Jun 2025 14:48:19 +0800 Subject: [PATCH 2/2] components: drivers: adc: fixed cppcheck error [cpp_check.py 80 INFO] components/drivers/misc/adc.c:76:12: error: Uninitialized variable: result [legacyUninitvar] return result; ^ Signed-off-by: Chen Wang --- components/drivers/misc/adc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/drivers/misc/adc.c b/components/drivers/misc/adc.c index 3a001277529..43a9750349a 100644 --- a/components/drivers/misc/adc.c +++ b/components/drivers/misc/adc.c @@ -43,7 +43,7 @@ static rt_ssize_t _adc_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size static rt_err_t _adc_control(rt_device_t dev, int cmd, void *args) { rt_adc_device_t adc = (struct rt_adc_device *)dev; - rt_err_t result; + rt_err_t result = RT_ERROR; if (cmd == RT_ADC_CMD_ENABLE && adc->ops->enabled) {