summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2015-09-30 15:18:15 +0100
committerdanh-arm <dan.handley@arm.com>2015-09-30 15:18:15 +0100
commit41099f4e7468d872857c52608dcc2a51bae68174 (patch)
treedb87e227a5d1c01aefbd3b2142c99cc121553769 /include
parent271b60df726a732abf056bb2ba62e70fc8500d5e (diff)
parent543128771c59e9f1ee91c245d342e929d5ba7fa1 (diff)
Merge pull request #401 from sandrine-bailleux/sb/fix-sp804-bug-v2
Bug fix in the SP804 dual timer driver
Diffstat (limited to 'include')
-rw-r--r--include/drivers/arm/sp804_delay_timer.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/drivers/arm/sp804_delay_timer.h b/include/drivers/arm/sp804_delay_timer.h
index 5a335716..1531e5a1 100644
--- a/include/drivers/arm/sp804_delay_timer.h
+++ b/include/drivers/arm/sp804_delay_timer.h
@@ -40,8 +40,13 @@ uint32_t sp804_get_timer_value(void);
void sp804_timer_ops_init(uintptr_t base_addr, const timer_ops_t *ops);
#define sp804_timer_init(base_addr, clk_mult, clk_div) \
- sp804_timer_ops_init((base_addr), &(const timer_ops_t) \
- { sp804_get_timer_value, (clk_mult), (clk_div) })
-
+ do { \
+ static const timer_ops_t sp804_timer_ops = { \
+ sp804_get_timer_value, \
+ (clk_mult), \
+ (clk_div) \
+ }; \
+ sp804_timer_ops_init((base_addr), &sp804_timer_ops); \
+ } while (0)
#endif /* __SP804_DELAY_TIMER_H__ */