summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-06-13 16:04:40 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2017-06-13 16:04:40 +0200
commitb2cb923506b6532ecd06a48e57757d24ccf4940b (patch)
tree9a8c76f8c65b9086f58ea1d43d84fa9e093d9a3c
parent7917ad2b03127f29b463b4d72dc063491ee41a87 (diff)
downloadbarebox-b2cb923506b6532ecd06a48e57757d24ccf4940b.tar.gz
Revert "globalvar: make globalvar functions more consistent"
This reverts commit 1b4a05c9263ae26083526acfabdea1ef96531a1d.
-rw-r--r--arch/arm/boards/beaglebone/board.c2
-rw-r--r--arch/arm/boards/crystalfontz-cfa10036/hwdetect.c2
-rw-r--r--arch/arm/boards/phytec-som-imx6/board.c2
-rw-r--r--arch/arm/boards/vscom-baltos/board.c7
-rw-r--r--arch/ppc/boards/pcm030/eeprom.c4
-rw-r--r--common/boot.c2
-rw-r--r--common/bootchooser.c4
-rw-r--r--common/bootm.c2
-rw-r--r--common/console_common.c6
-rw-r--r--common/globalvar.c28
-rw-r--r--common/password.c2
-rw-r--r--common/reset_source.c2
-rw-r--r--drivers/mtd/peb.c6
-rw-r--r--include/globalvar.h109
14 files changed, 55 insertions, 123 deletions
diff --git a/arch/arm/boards/beaglebone/board.c b/arch/arm/boards/beaglebone/board.c
index 18a9a10..5717c45 100644
--- a/arch/arm/boards/beaglebone/board.c
+++ b/arch/arm/boards/beaglebone/board.c
@@ -87,7 +87,7 @@ static int beaglebone_devices_init(void)
defaultenv_append_directory(defaultenv_beaglebone);
- globalvar_add_simple_string_fixed("board.variant", black ? "boneblack" : "bone");
+ globalvar_add_simple("board.variant", black ? "boneblack" : "bone");
printf("detected 'BeagleBone %s'\n", black ? "Black" : "White");
diff --git a/arch/arm/boards/crystalfontz-cfa10036/hwdetect.c b/arch/arm/boards/crystalfontz-cfa10036/hwdetect.c
index d0907c1..c94cb35 100644
--- a/arch/arm/boards/crystalfontz-cfa10036/hwdetect.c
+++ b/arch/arm/boards/crystalfontz-cfa10036/hwdetect.c
@@ -105,7 +105,7 @@ void cfa10036_detect_hw(void)
return;
}
- globalvar_add_simple_string_fixed("board.variant", board_name);
+ globalvar_add_simple("board.variant", board_name);
pr_info("Booting on a CFA10036 with %s\n", board_name);
}
diff --git a/arch/arm/boards/phytec-som-imx6/board.c b/arch/arm/boards/phytec-som-imx6/board.c
index 31b2761..ed9453b 100644
--- a/arch/arm/boards/phytec-som-imx6/board.c
+++ b/arch/arm/boards/phytec-som-imx6/board.c
@@ -152,7 +152,7 @@ static int physom_imx6_devices_init(void)
phyflex_err006282_workaround();
pfla02_module_revision = get_module_rev();
- globalvar_add_simple_uint32_fixed("board.revision", pfla02_module_revision, "%u");
+ globalvar_add_simple_int("board.revision", &pfla02_module_revision, "%u");
pr_info("Module Revision: %u\n", pfla02_module_revision);
barebox_set_hostname("phyFLEX-i.MX6");
diff --git a/arch/arm/boards/vscom-baltos/board.c b/arch/arm/boards/vscom-baltos/board.c
index 1a4dc30..39f40a6 100644
--- a/arch/arm/boards/vscom-baltos/board.c
+++ b/arch/arm/boards/vscom-baltos/board.c
@@ -64,7 +64,7 @@ static int baltos_read_eeprom(void)
{
struct bsp_vs_hwparam hw_param;
size_t size;
- char *buf;
+ char *buf, var_buf[32];
int rc;
unsigned char mac_addr[6];
@@ -107,7 +107,8 @@ static int baltos_read_eeprom(void)
hw_param.SystemId = 0;
}
- globalvar_add_simple_uint32_fixed("board.id", hw_param.SystemId, "%u");
+ sprintf(var_buf, "%d", hw_param.SystemId);
+ globalvar_add_simple("board.id", var_buf);
/* enable mPCIe slot */
gpio_direction_output(100, 1);
@@ -130,7 +131,7 @@ static int baltos_devices_init(void)
if (!of_machine_is_compatible("vscom,onrisc"))
return 0;
- globalvar_add_simple_string_fixed("board.variant", "baltos");
+ globalvar_add_simple("board.variant", "baltos");
if (bootsource_get() == BOOTSOURCE_MMC)
omap_set_bootmmc_devname("mmc0");
diff --git a/arch/ppc/boards/pcm030/eeprom.c b/arch/ppc/boards/pcm030/eeprom.c
index 34bce85..aa00f36 100644
--- a/arch/ppc/boards/pcm030/eeprom.c
+++ b/arch/ppc/boards/pcm030/eeprom.c
@@ -53,7 +53,7 @@ static void pcm030_read_factory_data(const struct pcm030_eeprom *buf)
continue;
board = xstrndup(&buf->product[u], l);
u += l + 1;
- globalvar_add_simple_string_fixed("model.type", board);
+ globalvar_add_simple("model.type", board);
free(board);
}
@@ -62,7 +62,7 @@ static void pcm030_read_factory_data(const struct pcm030_eeprom *buf)
continue;
serial = xstrndup(&buf->product[u], l);
u += l + 1;
- globalvar_add_simple_string_fixed("model.serial", serial);
+ globalvar_add_simple("model.serial", serial);
free(serial);
}
diff --git a/common/boot.c b/common/boot.c
index a2d27d1..cef3d5e 100644
--- a/common/boot.c
+++ b/common/boot.c
@@ -123,7 +123,7 @@ void boot_set_watchdog_timeout(unsigned int timeout)
static int init_boot_watchdog_timeout(void)
{
- return globalvar_add_simple_uint32("boot.watchdog_timeout",
+ return globalvar_add_simple_int("boot.watchdog_timeout",
&boot_watchdog_timeout, "%u");
}
late_initcall(init_boot_watchdog_timeout);
diff --git a/common/bootchooser.c b/common/bootchooser.c
index f6d99d1..455f290 100644
--- a/common/bootchooser.c
+++ b/common/bootchooser.c
@@ -907,8 +907,8 @@ static int bootchooser_init(void)
globalvar_add_simple_bool("bootchooser.retry", &retry);
globalvar_add_simple_string("bootchooser.targets", &available_targets);
globalvar_add_simple_string("bootchooser.state_prefix", &state_prefix);
- globalvar_add_simple_uint32("bootchooser.default_attempts", &global_default_attempts, "%u");
- globalvar_add_simple_uint32("bootchooser.default_priority", &global_default_priority, "%u");
+ globalvar_add_simple_int("bootchooser.default_attempts", &global_default_attempts, "%u");
+ globalvar_add_simple_int("bootchooser.default_priority", &global_default_priority, "%u");
globalvar_add_simple_bitmask("bootchooser.reset_attempts", &reset_attempts,
reset_attempts_names, ARRAY_SIZE(reset_attempts_names));
globalvar_add_simple_bitmask("bootchooser.reset_priorities", &reset_priorities,
diff --git a/common/bootm.c b/common/bootm.c
index 92cfeb6..81625d9 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -668,7 +668,7 @@ static int bootm_init(void)
if (IS_ENABLED(CONFIG_BOOTM_FORCE_SIGNED_IMAGES))
bootm_verify_mode = BOOTM_VERIFY_SIGNATURE;
- globalvar_add_simple_uint32("bootm.verbose", &bootm_verbosity, "%u");
+ globalvar_add_simple_int("bootm.verbose", &bootm_verbosity, "%u");
globalvar_add_simple_enum("bootm.verify", (unsigned int *)&bootm_verify_mode,
bootm_verify_names, ARRAY_SIZE(bootm_verify_names));
diff --git a/common/console_common.c b/common/console_common.c
index b36b3ff..d051458 100644
--- a/common/console_common.c
+++ b/common/console_common.c
@@ -148,10 +148,10 @@ int dev_printf(int level, const struct device_d *dev, const char *format, ...)
static int loglevel_init(void)
{
if (IS_ENABLED(CONFIG_LOGBUF))
- globalvar_add_simple_uint32("log_max_messages",
- &barebox_log_max_messages, "%u");
+ globalvar_add_simple_int("log_max_messages",
+ &barebox_log_max_messages, "%d");
- return globalvar_add_simple_uint32("loglevel", &barebox_loglevel, "%u");
+ return globalvar_add_simple_int("loglevel", &barebox_loglevel, "%d");
}
device_initcall(loglevel_init);
diff --git a/common/globalvar.c b/common/globalvar.c
index 2f65ca8..32ca6a2 100644
--- a/common/globalvar.c
+++ b/common/globalvar.c
@@ -424,7 +424,7 @@ int globalvar_add_simple(const char *name, const char *value)
return 0;
}
-int __globalvar_add_simple_string(const char *name, char **value)
+int globalvar_add_simple_string(const char *name, char **value)
{
struct param_d *p;
@@ -439,14 +439,28 @@ int __globalvar_add_simple_string(const char *name, char **value)
return 0;
}
-int __globalvar_add_simple_int(const char *name, void *value,
- enum param_type type,
- const char *format)
+int globalvar_add_simple_int(const char *name, int *value,
+ const char *format)
{
struct param_d *p;
- p = __dev_add_param_int(&global_device, name, NULL, NULL,
- value, type, format, NULL);
+ p = dev_add_param_int(&global_device, name, NULL, NULL,
+ value, format, NULL);
+
+ if (IS_ERR(p))
+ return PTR_ERR(p);
+
+ globalvar_nv_sync(name);
+
+ return 0;
+}
+
+int globalvar_add_simple_bool(const char *name, int *value)
+{
+ struct param_d *p;
+
+ p = dev_add_param_bool(&global_device, name, NULL, NULL,
+ value, NULL);
if (IS_ERR(p))
return PTR_ERR(p);
@@ -508,7 +522,7 @@ static int globalvar_init(void)
if (IS_ENABLED(CONFIG_NVVAR))
register_device(&nv_device);
- globalvar_add_simple_string_fixed("version", UTS_RELEASE);
+ globalvar_add_simple("version", UTS_RELEASE);
return 0;
}
diff --git a/common/password.c b/common/password.c
index 5e6bfc5..74d328f 100644
--- a/common/password.c
+++ b/common/password.c
@@ -443,7 +443,7 @@ static int login_global_init(void)
{
login_fail_command = xstrdup("boot");
- globalvar_add_simple_uint32("login.timeout", &login_timeout, "%u");
+ globalvar_add_simple_int("login.timeout", &login_timeout, "%d");
globalvar_add_simple_string("login.fail_command", &login_fail_command);
return 0;
diff --git a/common/reset_source.c b/common/reset_source.c
index e18bf6d..06e2ca8 100644
--- a/common/reset_source.c
+++ b/common/reset_source.c
@@ -54,7 +54,7 @@ EXPORT_SYMBOL(reset_source_set_priority);
static int reset_source_init(void)
{
- globalvar_add_simple_enum_ro("system.reset", (unsigned int *)&reset_source,
+ globalvar_add_simple_enum("system.reset", (unsigned int *)&reset_source,
reset_src_names, ARRAY_SIZE(reset_src_names));
return 0;
diff --git a/drivers/mtd/peb.c b/drivers/mtd/peb.c
index 0e64fe1..c35b63f 100644
--- a/drivers/mtd/peb.c
+++ b/drivers/mtd/peb.c
@@ -76,11 +76,11 @@ static int mtd_peb_emulate_erase_failure(void)
#ifdef CONFIG_MTD_PEB_DEBUG
static int mtd_peb_debug_init(void)
{
- globalvar_add_simple_uint32("mtd_peb.mtd_peb_emulate_bitflip",
+ globalvar_add_simple_int("mtd_peb.mtd_peb_emulate_bitflip",
&__mtd_peb_emulate_bitflip, "%u");
- globalvar_add_simple_uint32("mtd_peb.mtd_peb_emulate_write_failure",
+ globalvar_add_simple_int("mtd_peb.mtd_peb_emulate_write_failure",
&__mtd_peb_emulate_write_failure, "%u");
- globalvar_add_simple_uint32("mtd_peb.mtd_peb_emulate_erase_failures",
+ globalvar_add_simple_int("mtd_peb.mtd_peb_emulate_erase_failures",
&__mtd_peb_emulate_erase_failures, "%u");
globalvar_add_simple_bool("mtd_peb.mtd_peb_chk_io",
&__mtd_peb_chk_io);
diff --git a/include/globalvar.h b/include/globalvar.h
index aea43b1..df43f1f 100644
--- a/include/globalvar.h
+++ b/include/globalvar.h
@@ -15,9 +15,10 @@ void globalvar_remove(const char *name);
char *globalvar_get_match(const char *match, const char *separator);
void globalvar_set_match(const char *match, const char *val);
-int __globalvar_add_simple_string(const char *name, char **value);
-int __globalvar_add_simple_int(const char *name, void *value,
- enum param_type type, const char *format);
+int globalvar_add_simple_string(const char *name, char **value);
+int globalvar_add_simple_int(const char *name, int *value,
+ const char *format);
+int globalvar_add_simple_bool(const char *name, int *value);
int globalvar_add_simple_enum(const char *name, int *value,
const char * const *names, int max);
int globalvar_add_simple_bitmask(const char *name, unsigned long *value,
@@ -38,13 +39,19 @@ static inline int globalvar_add_simple(const char *name, const char *value)
return 0;
}
-static inline int __globalvar_add_simple_int(const char *name, void *value,
- enum param_type type, const char *format)
+static inline int globalvar_add_simple_string(const char *name, char **value)
{
return 0;
}
-static inline int __globalvar_add_simple_string(const char *name, char **value)
+static inline int globalvar_add_simple_int(const char *name,
+ int *value, const char *format)
+{
+ return 0;
+}
+
+static inline int globalvar_add_simple_bool(const char *name,
+ int *value)
{
return 0;
}
@@ -108,96 +115,6 @@ static inline void dev_param_init_from_nv(struct device_d *dev, const char *name
#endif
-#define DECLARE_GLOBALVAR_INT(intname, inttype, paramtype) \
- static inline int globalvar_add_simple_##intname(const char *name, \
- inttype *value, \
- const char *format) \
- { \
- return __globalvar_add_simple_int(name, value, \
- paramtype, \
- format); \
- }
-
-DECLARE_GLOBALVAR_INT(uint32, uint32_t, PARAM_TYPE_UINT32)
-DECLARE_GLOBALVAR_INT(int32, int32_t, PARAM_TYPE_INT32)
-DECLARE_GLOBALVAR_INT(uint64, uint64_t, PARAM_TYPE_UINT64)
-DECLARE_GLOBALVAR_INT(int64, int64_t, PARAM_TYPE_INT64)
-
-static inline int globalvar_add_simple_bool(const char *name, uint32_t *value)
-{
- return __globalvar_add_simple_int(name, value, PARAM_TYPE_BOOL, "%u");
-}
-
-static inline int globalvar_add_simple_string(const char *name, char **value)
-{
- return __globalvar_add_simple_string(name, value);
-}
-
-#define DECLARE_GLOBALVAR_INT_RO(intname, inttype, paramtype) \
- static inline int globalvar_add_simple_##intname##_ro(const char *name, \
- inttype *value, \
- const char *format) \
- { \
- return PTR_ERR_OR_ZERO(__dev_add_param_int(&global_device, name,\
- param_set_readonly, \
- NULL, value, \
- paramtype, \
- format, NULL)); \
- }
-
-DECLARE_GLOBALVAR_INT_RO(uint32, uint32_t, PARAM_TYPE_UINT32)
-DECLARE_GLOBALVAR_INT_RO(int32, int32_t, PARAM_TYPE_INT32)
-DECLARE_GLOBALVAR_INT_RO(uint64, uint64_t, PARAM_TYPE_UINT64)
-DECLARE_GLOBALVAR_INT_RO(int64, int64_t, PARAM_TYPE_INT64)
-
-static inline int globalvar_add_simple_bool_ro(const char *name, uint32_t *value)
-{
- return PTR_ERR_OR_ZERO(__dev_add_param_int(&global_device, name,
- param_set_readonly, NULL,
- value, PARAM_TYPE_BOOL, "%u",
- NULL));
-}
-
-static inline int globalvar_add_simple_string_ro(const char *name, char **value)
-{
- return __globalvar_add_simple_string(name, value);
-}
-
-#define DECLARE_GLOBALVAR_INT_FIXED(intname, inttype, paramtype) \
- static inline int globalvar_add_simple_##intname##_fixed(const char *name, \
- inttype value, \
- const char *format) \
- { \
- return PTR_ERR_OR_ZERO(__dev_add_param_int(&global_device, name, \
- ERR_PTR(-EROFS), NULL, \
- &value, paramtype, \
- format, NULL)); \
- }
-
-DECLARE_GLOBALVAR_INT_FIXED(uint32, uint32_t, PARAM_TYPE_UINT32)
-DECLARE_GLOBALVAR_INT_FIXED(int32, int32_t, PARAM_TYPE_INT32)
-DECLARE_GLOBALVAR_INT_FIXED(uint64, uint64_t, PARAM_TYPE_UINT64)
-DECLARE_GLOBALVAR_INT_FIXED(int64, int64_t, PARAM_TYPE_INT64)
-
-static inline int globalvar_add_simple_bool_fixed(const char *name, uint32_t value)
-{
- return PTR_ERR_OR_ZERO(__dev_add_param_int(&global_device, name, ERR_PTR(-EROFS),
- NULL, &value, PARAM_TYPE_BOOL, "%u",
- NULL));
-}
-
-static inline int globalvar_add_simple_string_fixed(const char *name, char *value)
-{
- return PTR_ERR_OR_ZERO(dev_add_param_string_fixed(&global_device, name, value));
-}
-
-static inline int globalvar_add_simple_enum_ro(const char *name, int *value,
- const char * const *names, int max)
-{
- return PTR_ERR_OR_ZERO(dev_add_param_enum_ro(&global_device, name, value, names,
- max));
-}
-
void nv_var_set_clean(void);
int nvvar_save(void);
int nv_global_complete(struct string_list *sl, char *instr);