diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2017-04-06 11:41:59 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-04-10 08:49:59 +0200 |
commit | c6d839ea1dd2a926bab5ea179b2b72dc409bc2dd (patch) | |
tree | d4dbb85678f7aa32b7c5f8dfe0e51984041833aa /include | |
parent | a2badef726c5a216813e4b2ddf04f35076833395 (diff) | |
download | barebox-c6d839ea1dd2a926bab5ea179b2b72dc409bc2dd.tar.gz barebox-c6d839ea1dd2a926bab5ea179b2b72dc409bc2dd.tar.xz |
parameter: Give device parameters types
This adds a variable type enum and adds this to the device parameters.
This information gives the user a hint which values a parameter expects
and also helps to organize the parameters better internally.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/param.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/param.h b/include/param.h index f9f3398cae..2eb040fea4 100644 --- a/include/param.h +++ b/include/param.h @@ -10,6 +10,19 @@ struct device_d; typedef uint32_t IPaddr_t; +enum param_type { + PARAM_TYPE_STRING = 0, + PARAM_TYPE_INT32, + PARAM_TYPE_UINT32, + PARAM_TYPE_INT64, + PARAM_TYPE_UINT64, + PARAM_TYPE_BOOL, + PARAM_TYPE_ENUM, + PARAM_TYPE_BITMASK, + PARAM_TYPE_IPV4, + PARAM_TYPE_MAC, +}; + struct param_d { const char* (*get)(struct device_d *, struct param_d *param); int (*set)(struct device_d *, struct param_d *param, const char *val); @@ -20,9 +33,11 @@ struct param_d { struct device_d *dev; void *driver_priv; struct list_head list; + enum param_type type; }; #ifdef CONFIG_PARAMETER +const char *get_param_type(struct param_d *param); const char *dev_get_param(struct device_d *dev, const char *name); int dev_set_param(struct device_d *dev, const char *name, const char *val); struct param_d *get_param_by_name(struct device_d *dev, const char *name); |