summaryrefslogtreecommitdiffstats
path: root/cpukit/libdrvmgr
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2015-04-13 11:26:52 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2015-04-17 01:10:30 +0200
commit4d3e70f4a62324c42e5db621bc411256a096d752 (patch)
tree741d900c7a371bf491a52204ef71c8a97424a8cd /cpukit/libdrvmgr
parentDRVMGR: renamed info_dev to get_info_dev (diff)
downloadrtems-4d3e70f4a62324c42e5db621bc411256a096d752.tar.bz2
DRVMGR: KEY_TYPE now a enum drvmgr_kt
Diffstat (limited to 'cpukit/libdrvmgr')
-rw-r--r--cpukit/libdrvmgr/drvmgr.h23
-rw-r--r--cpukit/libdrvmgr/drvmgr_print.c2
-rw-r--r--cpukit/libdrvmgr/drvmgr_res.c9
3 files changed, 19 insertions, 15 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;