atomic: Fix compilation error

Add static to inline definition of atomicCmpXchgPtr, also fix incorrect
cast.

Change-Id: I6b74a276149786283fadeaff0c7e8612fcee3e76
diff --git a/firmware/inc/cpu/cortexm4f/atomic.h b/firmware/inc/cpu/cortexm4f/atomic.h
index 1f8c767..b942340 100644
--- a/firmware/inc/cpu/cortexm4f/atomic.h
+++ b/firmware/inc/cpu/cortexm4f/atomic.h
@@ -20,9 +20,9 @@
 // real definition available in CPU-independent header file
 extern bool atomicCmpXchg32bits(volatile uint32_t *word, uint32_t prevVal, uint32_t newVal);
 
-inline bool atomicCmpXchgPtr(volatile uintptr_t *word, uintptr_t prevVal, uintptr_t newVal) {
+static inline bool atomicCmpXchgPtr(volatile uintptr_t *word, uintptr_t prevVal, uintptr_t newVal) {
     // 32-bit CPU architecture so fall back appropriately
-    return atomicCmpXchg32bits((uint32_t*) word, (uintptr_t) prevVal, (uintptr_t) newVal);
+    return atomicCmpXchg32bits((volatile uint32_t *) word, (uint32_t) prevVal, (uint32_t) newVal);
 }
 
 #endif