@@ -22,7 +22,6 @@ LOG_MODULE_DECLARE(settings, CONFIG_SETTINGS_LOG_LEVEL);
2222
2323sys_slist_t  settings_load_srcs ;
2424struct  settings_store  * settings_save_dst ;
25- extern  struct  k_mutex  settings_lock ;
2625
2726void  settings_src_register (struct  settings_store  * cs )
2827{
@@ -53,12 +52,12 @@ int settings_load_subtree(const char *subtree)
5352	 *    apply config 
5453	 *    commit all 
5554	 */ 
56- 	k_mutex_lock ( & settings_lock ,  K_FOREVER );
55+ 	settings_lock_take ( );
5756	SYS_SLIST_FOR_EACH_CONTAINER (& settings_load_srcs , cs , cs_next ) {
5857		cs -> cs_itf -> csi_load (cs , & arg );
5958	}
6059	rc  =  settings_commit_subtree (subtree );
61- 	k_mutex_unlock ( & settings_lock );
60+ 	settings_lock_release ( );
6261	return  rc ;
6362}
6463
@@ -80,11 +79,11 @@ int settings_load_subtree_direct(
8079	 *    apply config 
8180	 *    commit all 
8281	 */ 
83- 	k_mutex_lock ( & settings_lock ,  K_FOREVER );
82+ 	settings_lock_take ( );
8483	SYS_SLIST_FOR_EACH_CONTAINER (& settings_load_srcs , cs , cs_next ) {
8584		cs -> cs_itf -> csi_load (cs , & arg );
8685	}
87- 	k_mutex_unlock ( & settings_lock );
86+ 	settings_lock_release ( );
8887	return  0 ;
8988}
9089
@@ -144,7 +143,7 @@ ssize_t settings_get_val_len(const char *name)
144143	 * for every config store that supports this function 
145144	 * get the value's length. 
146145	 */ 
147- 	k_mutex_lock ( & settings_lock ,  K_FOREVER );
146+ 	settings_lock_take ( );
148147	SYS_SLIST_FOR_EACH_CONTAINER (& settings_load_srcs , cs , cs_next ) {
149148		if  (cs -> cs_itf -> csi_get_val_len ) {
150149			val_len  =  cs -> cs_itf -> csi_get_val_len (cs , name );
@@ -157,7 +156,7 @@ ssize_t settings_get_val_len(const char *name)
157156			rc  =  cs -> cs_itf -> csi_load (cs , & arg );
158157		}
159158	}
160- 	k_mutex_unlock ( & settings_lock );
159+ 	settings_lock_release ( );
161160
162161	if  (rc  >= 0 ) {
163162		return  val_len ;
@@ -177,7 +176,7 @@ ssize_t settings_load_one(const char *name, void *buf, size_t buf_len)
177176	 * For every config store that defines csi_load_one() function use it. 
178177	 * Otherwise, use the csi_load() function to load the key/value pair 
179178	 */ 
180- 	k_mutex_lock ( & settings_lock ,  K_FOREVER );
179+ 	settings_lock_take ( );
181180	SYS_SLIST_FOR_EACH_CONTAINER (& settings_load_srcs , cs , cs_next ) {
182181		if  (cs -> cs_itf -> csi_load_one ) {
183182			rc  =  cs -> cs_itf -> csi_load_one (cs , name , (char  * )buf , buf_len );
@@ -196,7 +195,7 @@ ssize_t settings_load_one(const char *name, void *buf, size_t buf_len)
196195			rc  =  cs -> cs_itf -> csi_load (cs , & arg );
197196		}
198197	}
199- 	k_mutex_unlock ( & settings_lock );
198+ 	settings_lock_release ( );
200199
201200	if  (rc  >= 0 ) {
202201		return  val_len ;
@@ -217,11 +216,11 @@ int settings_save_one(const char *name, const void *value, size_t val_len)
217216		return  - ENOENT ;
218217	}
219218
220- 	k_mutex_lock ( & settings_lock ,  K_FOREVER );
219+ 	settings_lock_take ( );
221220
222221	rc  =  cs -> cs_itf -> csi_save (cs , name , (char  * )value , val_len );
223222
224- 	k_mutex_unlock ( & settings_lock );
223+ 	settings_lock_release ( );
225224
226225	return  rc ;
227226}
0 commit comments