diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2015-04-13 11:26:52 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2015-04-17 01:10:30 +0200 |
commit | 4d3e70f4a62324c42e5db621bc411256a096d752 (patch) | |
tree | 741d900c7a371bf491a52204ef71c8a97424a8cd /cpukit | |
parent | DRVMGR: renamed info_dev to get_info_dev (diff) | |
download | rtems-4d3e70f4a62324c42e5db621bc411256a096d752.tar.bz2 |
DRVMGR: KEY_TYPE now a enum drvmgr_kt
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/libdrvmgr/drvmgr.h | 23 | ||||
-rw-r--r-- | cpukit/libdrvmgr/drvmgr_print.c | 2 | ||||
-rw-r--r-- | cpukit/libdrvmgr/drvmgr_res.c | 9 | ||||
-rw-r--r-- | cpukit/libmisc/shell/main_drvmgr.c | 16 |
4 files changed, 27 insertions, 23 deletions
diff --git a/cpukit/libdrvmgr/drvmgr.h b/cpukit/libdrvmgr/drvmgr.h index 71a2850f64..1f5bc80eb8 100644 --- a/cpukit/libdrvmgr/drvmgr.h +++ b/cpukit/libdrvmgr/drvmgr.h @@ -170,12 +170,15 @@ struct drvmgr_func { */ /* Key Data Types */ -#define KEY_TYPE_NONE 0 -#define KEY_TYPE_INT 1 -#define KEY_TYPE_STRING 2 -#define KEY_TYPE_POINTER 3 +enum drvmgr_kt { + DRVMGR_KT_ANY = -1, + DRVMGR_KT_NONE = 0, + DRVMGR_KT_INT = 1, + DRVMGR_KT_STRING = 2, + DRVMGR_KT_POINTER = 3, +}; -#define KEY_EMPTY {NULL, KEY_TYPE_NONE, {0}} +#define DRVMGR_KEY_EMPTY {NULL, DRVMGR_KT_NONE, {0}} #define RES_EMPTY {0, 0, NULL} #define MMAP_EMPTY {0, 0, 0} @@ -189,7 +192,7 @@ union drvmgr_key_value { /* One key. One Value. Holding information relevant to the driver. */ struct drvmgr_key { char *key_name; /* Name of key */ - int key_type; /* How to interpret key_value */ + enum drvmgr_kt key_type; /* How to interpret key_value */ union drvmgr_key_value key_value; /* The value or pointer to value */ }; @@ -438,7 +441,7 @@ extern int drvmgr_keys_get(struct drvmgr_dev *dev, struct drvmgr_key **keys); /*! Return the one key that matches key name from a driver keys array. The keys * can be obtained using drvmgr_keys_get(). * - * \param keys An array of keys ended with KEY_EMPTY to search among. + * \param keys An array of keys ended with DRVMGR_KEY_EMPTY to search among. * \param key_name Name of key to search for among the keys. */ extern struct drvmgr_key *drvmgr_key_get(struct drvmgr_key *keys, char *key_name); @@ -449,7 +452,7 @@ extern struct drvmgr_key *drvmgr_key_get(struct drvmgr_key *keys, char *key_name * name), then determines if the type is correct. A pointer to the key value * is returned. * - * \param keys An array of keys ended with KEY_EMPTY to search among. + * \param keys An array of keys ended with DRVMGR_KEY_EMPTY to search among. * \param key_name Name of key to search for among the keys. * \param key_type Data Type of value. INTEGER, ADDRESS, STRING. * \return Returns NULL if no value found matching Key Name and Key @@ -458,7 +461,7 @@ extern struct drvmgr_key *drvmgr_key_get(struct drvmgr_key *keys, char *key_name extern union drvmgr_key_value *drvmgr_key_val_get( struct drvmgr_key *keys, char *key_name, - int key_type); + enum drvmgr_kt key_type); /*! Get key value from the bus resources matching [device, key name, key type] * if no matching key is found NULL is returned. @@ -475,7 +478,7 @@ extern union drvmgr_key_value *drvmgr_key_val_get( extern union drvmgr_key_value *drvmgr_dev_key_get( struct drvmgr_dev *dev, char *key_name, - int key_type); + enum drvmgr_kt key_type); /*** DRIVER INTERACE USED TO REQUEST INFORMATION/SERVICES FROM BUS DRIVER ***/ diff --git a/cpukit/libdrvmgr/drvmgr_print.c b/cpukit/libdrvmgr/drvmgr_print.c index 9330867fe4..aecf41c641 100644 --- a/cpukit/libdrvmgr/drvmgr_print.c +++ b/cpukit/libdrvmgr/drvmgr_print.c @@ -135,7 +135,7 @@ void drvmgr_print_mem(void) resmem += sizeof(struct drvmgr_drv_res); key = res->keys; - while (key->key_type != KEY_TYPE_NONE) { + while (key->key_type != DRVMGR_KT_NONE) { resmem += sizeof (struct drvmgr_key); key++; diff --git a/cpukit/libdrvmgr/drvmgr_res.c b/cpukit/libdrvmgr/drvmgr_res.c index 5faa61e58e..0322a9897a 100644 --- a/cpukit/libdrvmgr/drvmgr_res.c +++ b/cpukit/libdrvmgr/drvmgr_res.c @@ -61,7 +61,7 @@ struct drvmgr_key *drvmgr_key_get( return NULL; key = keys; - while (key->key_type != KEY_TYPE_NONE) { + while (key->key_type != DRVMGR_KT_NONE) { if (strcmp(key_name, key->key_name) == 0) return key; key++; @@ -72,14 +72,15 @@ struct drvmgr_key *drvmgr_key_get( union drvmgr_key_value *drvmgr_key_val_get( struct drvmgr_key *keys, char *key_name, - int key_type) + enum drvmgr_kt key_type) { struct drvmgr_key *key_match; key_match = drvmgr_key_get(keys, key_name); if (key_match) { /* Found key, put pointer to value into */ - if ((key_type == -1) || (key_match->key_type == key_type)) + if ((key_type == DRVMGR_KT_ANY) || + (key_match->key_type == key_type)) return &key_match->key_value; } return NULL; @@ -88,7 +89,7 @@ union drvmgr_key_value *drvmgr_key_val_get( union drvmgr_key_value *drvmgr_dev_key_get( struct drvmgr_dev *dev, char *key_name, - int key_type) + enum drvmgr_kt key_type) { struct drvmgr_key *keys = NULL; diff --git a/cpukit/libmisc/shell/main_drvmgr.c b/cpukit/libmisc/shell/main_drvmgr.c index a93f6e0f58..8779d1909c 100644 --- a/cpukit/libmisc/shell/main_drvmgr.c +++ b/cpukit/libmisc/shell/main_drvmgr.c @@ -149,7 +149,7 @@ static void shell_drvmgr_print_key_array(struct drvmgr_key *keys) { struct drvmgr_key *key; static char *type_strs[4] = {"UNKNOWN","INTEGER","STRING ","POINTER"}; - int type; + enum drvmgr_kt type; union drvmgr_key_value *val; if (keys == NULL) { @@ -158,23 +158,23 @@ static void shell_drvmgr_print_key_array(struct drvmgr_key *keys) } key = &keys[0]; - while (key->key_type != KEY_TYPE_NONE) { - if (key->key_type > KEY_TYPE_POINTER) - type = 0; + while (key->key_type != DRVMGR_KT_NONE) { + if (key->key_type > DRVMGR_KT_POINTER) + type = DRVMGR_KT_NONE; else type = key->key_type; printf(" NAME=%-14s TYPE=%s VALUE=", key->key_name, type_strs[type]); val = &key->key_value; switch (type) { default: - case 0: - case KEY_TYPE_INT: + case DRVMGR_KT_NONE: + case DRVMGR_KT_INT: printf("0x%x (%d)\n", val->i, val->i); break; - case KEY_TYPE_STRING: + case DRVMGR_KT_STRING: printf("%s\n", val->str); break; - case KEY_TYPE_POINTER: + case DRVMGR_KT_POINTER: printf("%p\n", val->ptr); break; } |