Unverified Commit a4277cda authored by Soby Mathew's avatar Soby Mathew Committed by GitHub
Browse files

Merge pull request #1588 from satheesbalya-arm/sb1_2596_misra_tim_console

Fix misra warnings in delay timer and console drivers
parents f19d2104 d47509d6
...@@ -20,20 +20,21 @@ static const timer_ops_t *timer_ops; ...@@ -20,20 +20,21 @@ static const timer_ops_t *timer_ops;
***********************************************************/ ***********************************************************/
void udelay(uint32_t usec) void udelay(uint32_t usec)
{ {
assert(timer_ops != NULL && assert((timer_ops != NULL) &&
(timer_ops->clk_mult != 0) && (timer_ops->clk_mult != 0U) &&
(timer_ops->clk_div != 0) && (timer_ops->clk_div != 0U) &&
(timer_ops->get_timer_value != NULL)); (timer_ops->get_timer_value != NULL));
uint32_t start, delta, total_delta; 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(); start = timer_ops->get_timer_value();
/* Add an extra tick to avoid delaying less than requested. */ /* Add an extra tick to avoid delaying less than requested. */
total_delta = 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 { do {
/* /*
...@@ -51,7 +52,7 @@ void udelay(uint32_t usec) ...@@ -51,7 +52,7 @@ void udelay(uint32_t usec)
***********************************************************/ ***********************************************************/
void mdelay(uint32_t msec) void mdelay(uint32_t msec)
{ {
udelay(msec*1000); udelay(msec * 1000U);
} }
/*********************************************************** /***********************************************************
...@@ -60,9 +61,9 @@ void mdelay(uint32_t msec) ...@@ -60,9 +61,9 @@ void mdelay(uint32_t msec)
***********************************************************/ ***********************************************************/
void timer_init(const timer_ops_t *ops_ptr) void timer_init(const timer_ops_t *ops_ptr)
{ {
assert(ops_ptr != NULL && assert((ops_ptr != NULL) &&
(ops_ptr->clk_mult != 0) && (ops_ptr->clk_mult != 0U) &&
(ops_ptr->clk_div != 0) && (ops_ptr->clk_div != 0U) &&
(ops_ptr->get_timer_value != NULL)); (ops_ptr->get_timer_value != NULL));
timer_ops = ops_ptr; timer_ops = ops_ptr;
......
...@@ -49,9 +49,9 @@ void generic_delay_timer_init(void) ...@@ -49,9 +49,9 @@ void generic_delay_timer_init(void)
unsigned int div = plat_get_syscnt_freq2(); unsigned int div = plat_get_syscnt_freq2();
/* Reduce multiplier and divider by dividing them repeatedly by 10 */ /* Reduce multiplier and divider by dividing them repeatedly by 10 */
while ((mult % 10 == 0) && (div % 10 == 0)) { while (((mult % 10U) == 0U) && ((div % 10U) == 0U)) {
mult /= 10; mult /= 10U;
div /= 10; div /= 10U;
} }
generic_delay_timer_init_args(mult, div); generic_delay_timer_init_args(mult, div);
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
#define div_round_up(val, div) __extension__ ({ \ #define div_round_up(val, div) __extension__ ({ \
__typeof__(div) _div = (div); \ __typeof__(div) _div = (div); \
((val) + _div - 1) / _div; \ ((val) + _div - (__typeof__(div)) 1) / _div; \
}) })
#define MIN(x, y) __extension__ ({ \ #define MIN(x, y) __extension__ ({ \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment