Skip to content

Commit 86f349e

Browse files
committed
subsys: retention: Skip mutex usage when in pre-kernel
For early boot mode checking during initalization, skip mutex lock/unlock if in pre-kernel state for the retention and retained mem zephyr ram driver. Signed-off-by: Peter Johanson <[email protected]>
1 parent 902eefb commit 86f349e

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

drivers/retained_mem/retained_mem_zephyr_ram.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ static inline void zephyr_retained_mem_ram_lock_take(const struct device *dev)
3333
#ifdef CONFIG_RETAINED_MEM_MUTEXES
3434
struct zephyr_retained_mem_ram_data *data = dev->data;
3535

36-
k_mutex_lock(&data->lock, K_FOREVER);
36+
if (!k_is_pre_kernel()) {
37+
k_mutex_lock(&data->lock, K_FOREVER);
38+
}
3739
#else
3840
ARG_UNUSED(dev);
3941
#endif
@@ -44,7 +46,9 @@ static inline void zephyr_retained_mem_ram_lock_release(const struct device *dev
4446
#ifdef CONFIG_RETAINED_MEM_MUTEXES
4547
struct zephyr_retained_mem_ram_data *data = dev->data;
4648

47-
k_mutex_unlock(&data->lock);
49+
if (!k_is_pre_kernel()) {
50+
k_mutex_unlock(&data->lock);
51+
}
4852
#else
4953
ARG_UNUSED(dev);
5054
#endif

subsys/retention/retention.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ static inline void retention_lock_take(const struct device *dev)
6363
#ifdef CONFIG_RETENTION_MUTEXES
6464
struct retention_data *data = dev->data;
6565

66-
k_mutex_lock(&data->lock, K_FOREVER);
66+
if (!k_is_pre_kernel()) {
67+
k_mutex_lock(&data->lock, K_FOREVER);
68+
}
6769
#else
6870
ARG_UNUSED(dev);
6971
#endif
@@ -74,7 +76,9 @@ static inline void retention_lock_release(const struct device *dev)
7476
#ifdef CONFIG_RETENTION_MUTEXES
7577
struct retention_data *data = dev->data;
7678

77-
k_mutex_unlock(&data->lock);
79+
if (!k_is_pre_kernel()) {
80+
k_mutex_unlock(&data->lock);
81+
}
7882
#else
7983
ARG_UNUSED(dev);
8084
#endif

0 commit comments

Comments
 (0)