mirror of https://github.com/ARMmbed/mbed-os.git
Added proper usage of standard types for critical pointer functions
parent
cf6f8e33fb
commit
26726cc170
|
|
@ -19,6 +19,8 @@
|
|||
#define __MBED_UTIL_CRITICAL_H__
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
|
@ -304,7 +306,7 @@ uint32_t core_util_atomic_incr_u32(uint32_t * valuePtr, uint32_t delta);
|
|||
* @param delta The amount being incremented.
|
||||
* @return The new incremented value.
|
||||
*/
|
||||
void *core_util_atomic_incr_ptr(void **valuePtr, unsigned delta);
|
||||
void *core_util_atomic_incr_ptr(void **valuePtr, ptrdiff_t delta);
|
||||
|
||||
/**
|
||||
* Atomic decrement.
|
||||
|
|
@ -336,7 +338,7 @@ uint32_t core_util_atomic_decr_u32(uint32_t * valuePtr, uint32_t delta);
|
|||
* @param delta The amount being decremented.
|
||||
* @return The new decremented value.
|
||||
*/
|
||||
void *core_util_atomic_decr_ptr(void **valuePtr, unsigned delta);
|
||||
void *core_util_atomic_decr_ptr(void **valuePtr, ptrdiff_t delta);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
|
|
|||
|
|
@ -15,15 +15,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#define __STDC_LIMIT_MACROS
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "critical.h"
|
||||
|
||||
#include "cmsis.h"
|
||||
#include "mbed_assert.h"
|
||||
|
||||
// Module include
|
||||
#include "critical.h"
|
||||
|
||||
#define EXCLUSIVE_ACCESS (!defined (__CORTEX_M0) && !defined (__CORTEX_M0PLUS))
|
||||
|
||||
static volatile uint32_t interrupt_enable_counter = 0;
|
||||
|
|
@ -238,9 +234,9 @@ bool core_util_atomic_cas_u32(uint32_t *ptr, uint32_t *expectedCurrentValue, uin
|
|||
|
||||
bool core_util_atomic_cas_ptr(void **ptr, void **expectedCurrentValue, void *desiredValue) {
|
||||
return core_util_atomic_cas_u32(
|
||||
(unsigned *)ptr,
|
||||
(unsigned *)expectedCurrentValue,
|
||||
(unsigned)desiredValue);
|
||||
(uintptr_t *)ptr,
|
||||
(uintptr_t *)expectedCurrentValue,
|
||||
(uintptr_t)desiredValue);
|
||||
}
|
||||
|
||||
uint8_t core_util_atomic_incr_u8(uint8_t * valuePtr, uint8_t delta)
|
||||
|
|
@ -273,8 +269,8 @@ uint32_t core_util_atomic_incr_u32(uint32_t * valuePtr, uint32_t delta)
|
|||
return newValue;
|
||||
}
|
||||
|
||||
void *core_util_atomic_incr_ptr(void **valuePtr, unsigned delta) {
|
||||
return core_util_atomic_incr((unsigned)valuePtr, delta);
|
||||
void *core_util_atomic_incr_ptr(void **valuePtr, ptrdiff_t delta) {
|
||||
return core_util_atomic_incr((uintptr_t)valuePtr, (uintptr_t)delta);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -308,8 +304,8 @@ uint32_t core_util_atomic_decr_u32(uint32_t * valuePtr, uint32_t delta)
|
|||
return newValue;
|
||||
}
|
||||
|
||||
void *core_util_atomic_decr_ptr(void **valuePtr, unsigned delta) {
|
||||
return core_util_atomic_decr((unsigned)valuePtr, delta);
|
||||
void *core_util_atomic_decr_ptr(void **valuePtr, ptrdiff_t delta) {
|
||||
return core_util_atomic_decr((uintptr_t)valuePtr, (uintptr_t)delta);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue