drivers/rpmsg: use NuttX atomic_t API instead of C11 atomics

Replace C11 atomic types and operations with NuttX native atomic
interfaces (atomic_t, atomic_set, atomic_fetch_and_acquire,
atomic_fetch_or_acquire) to avoid build failures on toolchains
that lack full C11 atomics support.

Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This commit is contained in:
Bowen Wang
2025-03-05 20:22:09 +08:00
committed by Lup Yuen Lee
parent ee57ca0800
commit 960bd97bb0
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -531,7 +531,7 @@ int rpmsg_register(FAR const char *path, FAR struct rpmsg_s *rpmsg,
metal_list_init(&rpmsg->bind);
nxrmutex_init(&rpmsg->lock);
rpmsg->ops = ops;
atomic_store(&rpmsg->signals, RPMSG_SIGNAL_RUNNING);
atomic_set(&rpmsg->signals, RPMSG_SIGNAL_RUNNING);
/* Add priv to list */
@@ -605,8 +605,8 @@ void rpmsg_modify_signals(FAR struct rpmsg_s *rpmsg,
FAR struct metal_list *node;
bool needlock;
atomic_fetch_and(&rpmsg->signals, ~clrflags);
atomic_fetch_or(&rpmsg->signals, setflags);
atomic_fetch_and_acquire(&rpmsg->signals, ~clrflags);
atomic_fetch_or_acquire(&rpmsg->signals, setflags);
/* Send signal to Router Hub */
+1 -1
View File
@@ -67,7 +67,7 @@ struct rpmsg_s
#ifdef CONFIG_RPMSG_TEST
struct rpmsg_endpoint test;
#endif
atomic_int signals;
atomic_t signals;
};
struct rpmsg_timestamp_s