summaryrefslogtreecommitdiff
path: root/core/host
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2020-09-23 15:21:18 -0600
committerCommit Bot <commit-bot@chromium.org>2020-09-29 16:30:59 +0000
commitd4be394be0b91a71b2f16ca476114b7470bc630f (patch)
treee08dd7e428be1d27b65c4bae3ba8a47e40c8b1a5 /core/host
parent9513a63a626021b071199d02b7c73112eb746833 (diff)
downloadchrome-ec-d4be394be0b91a71b2f16ca476114b7470bc630f.tar.gz
tree: rename atomic_* functions to deprecated_atomic_*
We will move to an API compatible with Zephyr's API. See the bug for complete rationale and plan. BUG=b:169151160 BRANCH=none TEST=buildall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: Id611f663446abf00b24298a669f2ae47fef7f632 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2427507 Tested-by: Dawid Niedźwiecki <dn@semihalf.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'core/host')
-rw-r--r--core/host/atomic.h19
-rw-r--r--core/host/task.c8
2 files changed, 18 insertions, 9 deletions
diff --git a/core/host/atomic.h b/core/host/atomic.h
index b6e60e40b5..4150a20216 100644
--- a/core/host/atomic.h
+++ b/core/host/atomic.h
@@ -10,27 +10,36 @@
#include "common.h"
-static inline void atomic_clear(uint32_t volatile *addr, uint32_t bits)
+/*
+ * The atomic_* functions are marked as deprecated as a part of the process of
+ * transaction to Zephyr compatible atomic functions. These prefixes will be
+ * removed in the following patches. Please see b:169151160 for more details.
+ */
+
+static inline void deprecated_atomic_clear(uint32_t volatile *addr,
+ uint32_t bits)
{
__sync_and_and_fetch(addr, ~bits);
}
-static inline void atomic_or(uint32_t volatile *addr, uint32_t bits)
+static inline void deprecated_atomic_or(uint32_t volatile *addr, uint32_t bits)
{
__sync_or_and_fetch(addr, bits);
}
-static inline void atomic_add(uint32_t volatile *addr, uint32_t value)
+static inline void deprecated_atomic_add(uint32_t volatile *addr,
+ uint32_t value)
{
__sync_add_and_fetch(addr, value);
}
-static inline void atomic_sub(uint32_t volatile *addr, uint32_t value)
+static inline void deprecated_atomic_sub(uint32_t volatile *addr,
+ uint32_t value)
{
__sync_sub_and_fetch(addr, value);
}
-static inline uint32_t atomic_read_clear(uint32_t volatile *addr)
+static inline uint32_t deprecated_atomic_read_clear(uint32_t volatile *addr)
{
return __sync_fetch_and_and(addr, 0);
}
diff --git a/core/host/task.c b/core/host/task.c
index 7bd44c61b9..ae5e525303 100644
--- a/core/host/task.c
+++ b/core/host/task.c
@@ -200,7 +200,7 @@ pthread_t task_get_thread(task_id_t tskid)
uint32_t task_set_event(task_id_t tskid, uint32_t event, int wait)
{
- atomic_or(&tasks[tskid].event, event);
+ deprecated_atomic_or(&tasks[tskid].event, event);
if (wait)
return task_wait_event(-1);
return 0;
@@ -224,7 +224,7 @@ uint32_t task_wait_event(int timeout_us)
pthread_cond_wait(&tasks[tid].resume, &run_lock);
/* Resume */
- ret = atomic_read_clear(&tasks[tid].event);
+ ret = deprecated_atomic_read_clear(&tasks[tid].event);
pthread_mutex_unlock(&interrupt_lock);
return ret;
}
@@ -252,8 +252,8 @@ uint32_t task_wait_event_mask(uint32_t event_mask, int timeout_us)
/* Re-post any other events collected */
if (events & ~event_mask)
- atomic_or(&tasks[task_get_current()].event,
- events & ~event_mask);
+ deprecated_atomic_or(&tasks[task_get_current()].event,
+ events & ~event_mask);
return events & event_mask;
}