From d47509d6ac195d61c928cad8954d50200bad2205 Mon Sep 17 00:00:00 2001 From: Sathees Balya Date: Wed, 19 Sep 2018 14:23:03 +0100 Subject: [PATCH] Fix misra warnings in delay timer and console drivers Change-Id: I43d2b3a0f672b4902edec3d3a39ffedbb0a701a3 Signed-off-by: Sathees Balya --- drivers/delay_timer/delay_timer.c | 19 ++++++++++--------- drivers/delay_timer/generic_delay_timer.c | 6 +++--- include/lib/utils_def.h | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/drivers/delay_timer/delay_timer.c b/drivers/delay_timer/delay_timer.c index 587724eb1..feac3579f 100644 --- a/drivers/delay_timer/delay_timer.c +++ b/drivers/delay_timer/delay_timer.c @@ -20,20 +20,21 @@ static const timer_ops_t *timer_ops; ***********************************************************/ void udelay(uint32_t usec) { - assert(timer_ops != NULL && - (timer_ops->clk_mult != 0) && - (timer_ops->clk_div != 0) && + assert((timer_ops != NULL) && + (timer_ops->clk_mult != 0U) && + (timer_ops->clk_div != 0U) && (timer_ops->get_timer_value != NULL)); uint32_t start, delta, total_delta; - assert(usec < UINT32_MAX / timer_ops->clk_div); + assert(usec < (UINT32_MAX / timer_ops->clk_div)); start = timer_ops->get_timer_value(); /* Add an extra tick to avoid delaying less than requested. */ total_delta = - div_round_up(usec * timer_ops->clk_div, timer_ops->clk_mult) + 1; + div_round_up(usec * timer_ops->clk_div, + timer_ops->clk_mult) + 1U; do { /* @@ -51,7 +52,7 @@ void udelay(uint32_t usec) ***********************************************************/ void mdelay(uint32_t msec) { - udelay(msec*1000); + udelay(msec * 1000U); } /*********************************************************** @@ -60,9 +61,9 @@ void mdelay(uint32_t msec) ***********************************************************/ void timer_init(const timer_ops_t *ops_ptr) { - assert(ops_ptr != NULL && - (ops_ptr->clk_mult != 0) && - (ops_ptr->clk_div != 0) && + assert((ops_ptr != NULL) && + (ops_ptr->clk_mult != 0U) && + (ops_ptr->clk_div != 0U) && (ops_ptr->get_timer_value != NULL)); timer_ops = ops_ptr; diff --git a/drivers/delay_timer/generic_delay_timer.c b/drivers/delay_timer/generic_delay_timer.c index 8a36c8abd..03ca5321a 100644 --- a/drivers/delay_timer/generic_delay_timer.c +++ b/drivers/delay_timer/generic_delay_timer.c @@ -49,9 +49,9 @@ void generic_delay_timer_init(void) unsigned int div = plat_get_syscnt_freq2(); /* Reduce multiplier and divider by dividing them repeatedly by 10 */ - while ((mult % 10 == 0) && (div % 10 == 0)) { - mult /= 10; - div /= 10; + while (((mult % 10U) == 0U) && ((div % 10U) == 0U)) { + mult /= 10U; + div /= 10U; } generic_delay_timer_init_args(mult, div); diff --git a/include/lib/utils_def.h b/include/lib/utils_def.h index 5b4fd7808..1dd57cb35 100644 --- a/include/lib/utils_def.h +++ b/include/lib/utils_def.h @@ -50,7 +50,7 @@ #define div_round_up(val, div) __extension__ ({ \ __typeof__(div) _div = (div); \ - ((val) + _div - 1) / _div; \ + ((val) + _div - (__typeof__(div)) 1) / _div; \ }) #define MIN(x, y) __extension__ ({ \