1 /* 2 * Copyright (c) 2018 Nordic Semiconductor ASA 3 * Copyright (c) 2015 Runtime Inc 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8 #include <string.h> 9 #include <stdio.h> 10 #include <stdbool.h> 11 12 #include <errno.h> 13 14 #include <zephyr/settings/settings.h> 15 #include "settings/settings_file.h" 16 #include <zephyr/kernel.h> 17 #include "settings_priv.h" 18 19 bool settings_subsys_initialized; 20 21 void settings_init(void); 22 23 int settings_backend_init(void); 24 settings_subsys_init(void)25int settings_subsys_init(void) 26 { 27 28 int err = 0; 29 30 settings_lock_take(); 31 32 if (!settings_subsys_initialized) { 33 settings_init(); 34 35 err = settings_backend_init(); 36 37 if (!err) { 38 settings_subsys_initialized = true; 39 } 40 } 41 42 settings_lock_release(); 43 44 return err; 45 } 46