Added type into queue parameters structure, since the type
specifies other parameters usage (e.g. sched params must be
filled for SCHED queue type). It's also provides future proof
odp_queue_create(), etc function prototype definition.

Defined PLAIN as the default type, since it does not require
definition of any other queue params (e.g. sched params).

Signed-off-by: Petri Savolainen <[email protected]>
---
 example/classifier/odp_classifier.c                | 12 +++----
 example/generator/odp_generator.c                  |  9 ++---
 example/ipsec/odp_ipsec.c                          | 39 ++++++++++++----------
 example/packet/odp_pktio.c                         | 10 +++---
 example/time/time_global_test.c                    |  8 +----
 example/timer/odp_timer_test.c                     |  3 +-
 include/odp/api/queue.h                            | 31 +++++++++++++----
 platform/linux-generic/odp_packet_io.c             | 25 +++++++++-----
 platform/linux-generic/odp_queue.c                 | 13 +++++---
 platform/linux-generic/odp_schedule.c              |  5 ++-
 platform/linux-generic/pktio/loop.c                |  2 +-
 test/performance/odp_pktio_perf.c                  |  4 +--
 test/performance/odp_scheduling.c                  |  6 ++--
 .../classification/odp_classification_common.c     |  9 ++---
 .../classification/odp_classification_test_pmr.c   |  8 ++---
 .../classification/odp_classification_tests.c      | 37 +++++++++-----------
 test/validation/crypto/crypto.c                    |  3 +-
 test/validation/pktio/pktio.c                      |  8 ++---
 test/validation/queue/queue.c                      | 19 ++++++-----
 test/validation/scheduler/scheduler.c              | 36 +++++++++++---------
 test/validation/timer/timer.c                      |  6 ++--
 21 files changed, 155 insertions(+), 138 deletions(-)

diff --git a/example/classifier/odp_classifier.c 
b/example/classifier/odp_classifier.c
index afa5444..57a58d9 100644
--- a/example/classifier/odp_classifier.c
+++ b/example/classifier/odp_classifier.c
@@ -250,6 +250,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t 
pool)
        }
 
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -257,7 +258,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t 
pool)
                 odp_pktio_to_u64(pktio));
        inq_name[ODP_QUEUE_NAME_LEN - 1] = '\0';
 
-       inq_def = odp_queue_create(inq_name, ODP_QUEUE_TYPE_PKTIN, &qparam);
+       inq_def = odp_queue_create(inq_name, &qparam);
        if (inq_def == ODP_QUEUE_INVALID) {
                EXAMPLE_ERR("pktio inq create failed for %s\n", dev);
                exit(EXIT_FAILURE);
@@ -369,11 +370,11 @@ static void configure_default_cos(odp_pktio_t pktio, 
appl_args_t *args)
 
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
-       queue_default = odp_queue_create(queue_name,
-                                        ODP_QUEUE_TYPE_SCHED, &qparam);
+       queue_default = odp_queue_create(queue_name, &qparam);
        if (queue_default == ODP_QUEUE_INVALID) {
                EXAMPLE_ERR("Error: default queue create failed.\n");
                exit(EXIT_FAILURE);
@@ -442,15 +443,14 @@ static void configure_cos(odp_pktio_t pktio, appl_args_t 
*args)
 
                stats->pmr = odp_pmr_create(&match);
                odp_queue_param_init(&qparam);
+               qparam.type       = ODP_QUEUE_TYPE_SCHED;
                qparam.sched.prio = i % odp_schedule_num_prio();
                qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
                qparam.sched.group = ODP_SCHED_GROUP_ALL;
 
                snprintf(queue_name, sizeof(queue_name), "%sQueue%d",
                         args->stats[i].cos_name, i);
-               stats->queue = odp_queue_create(queue_name,
-                                                ODP_QUEUE_TYPE_SCHED,
-                                                &qparam);
+               stats->queue = odp_queue_create(queue_name, &qparam);
                if (ODP_QUEUE_INVALID == stats->queue) {
                        EXAMPLE_ERR("odp_queue_create failed");
                        exit(EXIT_FAILURE);
diff --git a/example/generator/odp_generator.c 
b/example/generator/odp_generator.c
index f597fea..ab8c7fa 100644
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@ -347,6 +347,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t 
pool)
         * resource
         */
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -354,7 +355,7 @@ static odp_pktio_t create_pktio(const char *dev, odp_pool_t 
pool)
                 odp_pktio_to_u64(pktio));
        inq_name[ODP_QUEUE_NAME_LEN - 1] = '\0';
 
-       inq_def = odp_queue_create(inq_name, ODP_QUEUE_TYPE_PKTIN, &qparam);
+       inq_def = odp_queue_create(inq_name, &qparam);
        if (inq_def == ODP_QUEUE_INVALID)
                EXAMPLE_ABORT("Error: pktio inq create failed for %s\n", dev);
 
@@ -771,7 +772,7 @@ int main(int argc, char *argv[])
                cpu_first = odp_cpumask_first(&cpumask);
                odp_cpumask_set(&cpu_mask, cpu_first);
 
-               tq = odp_queue_create("", ODP_QUEUE_TYPE_PLAIN, NULL);
+               tq = odp_queue_create("", NULL);
                if (tq == ODP_QUEUE_INVALID)
                        abort();
                args->thread[1].pktio_dev = args->appl.if_names[0];
@@ -789,7 +790,7 @@ int main(int argc, char *argv[])
                                          gen_recv_thread, &args->thread[1],
                                          ODP_THREAD_WORKER);
 
-               tq = odp_queue_create("", ODP_QUEUE_TYPE_PLAIN, NULL);
+               tq = odp_queue_create("", NULL);
                if (tq == ODP_QUEUE_INVALID)
                        abort();
                args->thread[0].pktio_dev = args->appl.if_names[0];
@@ -821,7 +822,7 @@ int main(int argc, char *argv[])
                        if_idx = i % args->appl.if_count;
 
                        args->thread[i].pktio_dev = args->appl.if_names[if_idx];
-                       tq = odp_queue_create("", ODP_QUEUE_TYPE_PLAIN, NULL);
+                       tq = odp_queue_create("", NULL);
                        if (tq == ODP_QUEUE_INVALID)
                                abort();
                        args->thread[i].pool = pool;
diff --git a/example/ipsec/odp_ipsec.c b/example/ipsec/odp_ipsec.c
index a038dda..6134ab6 100644
--- a/example/ipsec/odp_ipsec.c
+++ b/example/ipsec/odp_ipsec.c
@@ -222,7 +222,7 @@ void free_pkt_ctx(pkt_ctx_t *ctx)
  * Example supports either polling queues or using odp_schedule
  */
 typedef odp_queue_t (*queue_create_func_t)
-                   (const char *, odp_queue_type_t, odp_queue_param_t *);
+                   (const char *, const odp_queue_param_t *);
 typedef odp_event_t (*schedule_func_t) (odp_queue_t *);
 
 static queue_create_func_t queue_create;
@@ -238,18 +238,24 @@ static int num_polled_queues;
  */
 static
 odp_queue_t polled_odp_queue_create(const char *name,
-                                   odp_queue_type_t type,
-                                   odp_queue_param_t *param EXAMPLE_UNUSED)
+                                   const odp_queue_param_t *param)
 {
        odp_queue_t my_queue;
-       odp_queue_type_t my_type = type;
+       odp_queue_param_t qp;
+       odp_queue_type_t type;
+
+       odp_queue_param_init(&qp);
+       if (param)
+               memcpy(&qp, param, sizeof(odp_queue_param_t));
+
+       type = qp.type;
 
        if (ODP_QUEUE_TYPE_SCHED == type) {
                printf("%s: change %s to PLAIN\n", __func__, name);
-               my_type = ODP_QUEUE_TYPE_PLAIN;
+               qp.type = ODP_QUEUE_TYPE_PLAIN;
        }
 
-       my_queue = odp_queue_create(name, my_type, NULL);
+       my_queue = odp_queue_create(name, &qp);
 
        if ((ODP_QUEUE_TYPE_SCHED == type) || (ODP_QUEUE_TYPE_PKTIN == type)) {
                poll_queues[num_polled_queues++] = my_queue;
@@ -309,25 +315,23 @@ void ipsec_init_pre(void)
         *  - sequence number queue (must be ATOMIC)
         */
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio  = ODP_SCHED_PRIO_HIGHEST;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
 
-       completionq = queue_create("completion",
-                                  ODP_QUEUE_TYPE_SCHED,
-                                  &qparam);
+       completionq = queue_create("completion", &qparam);
        if (ODP_QUEUE_INVALID == completionq) {
                EXAMPLE_ERR("Error: completion queue creation failed\n");
                exit(EXIT_FAILURE);
        }
 
+       qparam.type        = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio  = ODP_SCHED_PRIO_HIGHEST;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
 
-       seqnumq = queue_create("seqnum",
-                              ODP_QUEUE_TYPE_SCHED,
-                              &qparam);
+       seqnumq = queue_create("seqnum", &qparam);
        if (ODP_QUEUE_INVALID == seqnumq) {
                EXAMPLE_ERR("Error: sequence number queue creation failed\n");
                exit(EXIT_FAILURE);
@@ -435,26 +439,24 @@ void initialize_loop(char *intf)
 
        /* Create input queue */
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        snprintf(queue_name, sizeof(queue_name), "%i-loop_inq_def", idx);
        queue_name[ODP_QUEUE_NAME_LEN - 1] = '\0';
 
-       inq_def = queue_create(queue_name, ODP_QUEUE_TYPE_SCHED, &qparam);
+       inq_def = queue_create(queue_name, &qparam);
        if (ODP_QUEUE_INVALID == inq_def) {
                EXAMPLE_ERR("Error: input queue creation failed for %s\n",
                            intf);
                exit(EXIT_FAILURE);
        }
        /* Create output queue */
-       qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
-       qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
-       qparam.sched.group = ODP_SCHED_GROUP_ALL;
        snprintf(queue_name, sizeof(queue_name), "%i-loop_outq_def", idx);
        queue_name[ODP_QUEUE_NAME_LEN - 1] = '\0';
 
-       outq_def = queue_create(queue_name, ODP_QUEUE_TYPE_PLAIN, &qparam);
+       outq_def = queue_create(queue_name, NULL);
        if (ODP_QUEUE_INVALID == outq_def) {
                EXAMPLE_ERR("Error: output queue creation failed for %s\n",
                            intf);
@@ -520,6 +522,7 @@ void initialize_intf(char *intf)
         * resource
         */
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -527,7 +530,7 @@ void initialize_intf(char *intf)
                 odp_pktio_to_u64(pktio));
        inq_name[ODP_QUEUE_NAME_LEN - 1] = '\0';
 
-       inq_def = queue_create(inq_name, ODP_QUEUE_TYPE_PKTIN, &qparam);
+       inq_def = queue_create(inq_name, &qparam);
        if (ODP_QUEUE_INVALID == inq_def) {
                EXAMPLE_ERR("Error: pktio queue creation failed for %s\n",
                            intf);
diff --git a/example/packet/odp_pktio.c b/example/packet/odp_pktio.c
index 135caf3..adabc03 100644
--- a/example/packet/odp_pktio.c
+++ b/example/packet/odp_pktio.c
@@ -151,17 +151,17 @@ static odp_pktio_t create_pktio(const char *dev, 
odp_pool_t pool, int mode)
                        EXAMPLE_ABORT("Error: unable to start %s\n", dev);
                return pktio;
        case APPL_MODE_PKT_QUEUE:
-               inq_def = odp_queue_create(inq_name,
-                                          ODP_QUEUE_TYPE_PKTIN, NULL);
+               odp_queue_param_init(&qparam);
+               qparam.type = ODP_QUEUE_TYPE_PKTIN;
+               inq_def = odp_queue_create(inq_name, &qparam);
                break;
        case APPL_MODE_PKT_SCHED:
                odp_queue_param_init(&qparam);
+               qparam.type        = ODP_QUEUE_TYPE_PKTIN;
                qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
                qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
                qparam.sched.group = ODP_SCHED_GROUP_ALL;
-
-               inq_def = odp_queue_create(inq_name,
-                                          ODP_QUEUE_TYPE_PKTIN, &qparam);
+               inq_def = odp_queue_create(inq_name, &qparam);
                break;
        default:
                EXAMPLE_ABORT("invalid mode %d\n", mode);
diff --git a/example/time/time_global_test.c b/example/time/time_global_test.c
index 717f0bf..7cfd969 100644
--- a/example/time/time_global_test.c
+++ b/example/time/time_global_test.c
@@ -171,7 +171,6 @@ static void *run_thread(void *ptr)
        odp_buffer_t buf;
        test_globals_t *gbls;
        odp_pool_t buffer_pool;
-       odp_queue_param_t qparams;
        odp_queue_t queue, queue_next;
        timestamp_event_t *timestamp_ev;
        char queue_name[sizeof(QUEUE_NAME_PREFIX) + 2];
@@ -185,14 +184,9 @@ static void *run_thread(void *ptr)
         * Own queue is needed to guarantee that next thread for receiving
         * buffer is not the same thread.
         */
-       odp_queue_param_init(&qparams);
-       qparams.sched.prio = ODP_SCHED_PRIO_LOWEST;
-       qparams.sched.sync = ODP_SCHED_SYNC_PARALLEL;
-       qparams.sched.group = ODP_SCHED_GROUP_WORKER;
-
        id = odp_atomic_fetch_inc_u32(&gbls->id_counter);
        sprintf(queue_name, QUEUE_NAME_PREFIX "%d", id);
-       queue = odp_queue_create(queue_name, ODP_QUEUE_TYPE_PLAIN, &qparams);
+       queue = odp_queue_create(queue_name, NULL);
        if (queue == ODP_QUEUE_INVALID)
                EXAMPLE_ABORT("Cannot create thread queue, thread %d", thr);
 
diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c
index 62fc07e..e6717bf 100644
--- a/example/timer/odp_timer_test.c
+++ b/example/timer/odp_timer_test.c
@@ -447,11 +447,12 @@ int main(int argc, char *argv[])
         * Create a queue for timer test
         */
        odp_queue_param_init(&param);
+       param.type        = ODP_QUEUE_TYPE_SCHED;
        param.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        param.sched.sync  = ODP_SCHED_SYNC_PARALLEL;
        param.sched.group = ODP_SCHED_GROUP_ALL;
 
-       queue = odp_queue_create("timer_queue", ODP_QUEUE_TYPE_SCHED, &param);
+       queue = odp_queue_create("timer_queue", &param);
 
        if (queue == ODP_QUEUE_INVALID) {
                err = 1;
diff --git a/include/odp/api/queue.h b/include/odp/api/queue.h
index 723a9cf..a3cc448 100644
--- a/include/odp/api/queue.h
+++ b/include/odp/api/queue.h
@@ -74,25 +74,43 @@ typedef enum odp_queue_type_t {
  * ODP Queue parameters
  */
 typedef struct odp_queue_param_t {
-       /** Scheduler parameters */
+       /** Queue type
+         *
+         * Valid values for other parameters in this structure depend on
+         * the queue type. */
+       odp_queue_type_t type;
+
+       /** Scheduler parameters
+         *
+         * These parameters are considered only when queue type is
+         * ODP_QUEUE_TYPE_SCHED. */
        odp_schedule_param_t sched;
-       /** Queue context */
+
+       /** Queue context pointer
+         *
+         * User defined context pointer associated with the queue. The same
+         * pointer can be accessed with odp_queue_context() and
+         * odp_queue_context_set() calls. The implementation may read the
+         * pointer for prefetching the context data. Default value of the
+         * pointer is NULL. */
        void *context;
 } odp_queue_param_t;
 
-
 /**
  * Queue create
  *
+ * Create a queue according to the queue parameters. Queue type is specified by
+ * queue parameter 'type'. Use odp_queue_param_init() to initialize parameters
+ * into their default values. Default values are also used when 'param' pointer
+ * is NULL. The default queue type is ODP_QUEUE_TYPE_PLAIN.
+ *
  * @param name    Queue name
- * @param type    Queue type
  * @param param   Queue parameters. Uses defaults if NULL.
  *
  * @return Queue handle
  * @retval ODP_QUEUE_INVALID on failure
  */
-odp_queue_t odp_queue_create(const char *name, odp_queue_type_t type,
-                            odp_queue_param_t *param);
+odp_queue_t odp_queue_create(const char *name, const odp_queue_param_t *param);
 
 /**
  * Destroy ODP queue
@@ -284,7 +302,6 @@ void odp_queue_param_init(odp_queue_param_t *param);
  */
 typedef struct odp_queue_info_t {
        const char *name;         /**< queue name */
-       odp_queue_type_t type;    /**< queue type */
        odp_queue_param_t param;  /**< queue parameters */
 } odp_queue_info_t;
 
diff --git a/platform/linux-generic/odp_packet_io.c 
b/platform/linux-generic/odp_packet_io.c
index 1b42f81..cdbef22 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -53,6 +53,8 @@ int odp_pktio_init_global(void)
        odp_spinlock_init(&pktio_tbl->lock);
 
        for (id = 1; id <= ODP_CONFIG_PKTIO_ENTRIES; ++id) {
+               odp_queue_param_t param;
+
                pktio_entry = &pktio_tbl->entries[id - 1];
 
                odp_ticketlock_init(&pktio_entry->s.rxl);
@@ -66,7 +68,10 @@ int odp_pktio_init_global(void)
                snprintf(name, sizeof(name), "%i-pktio_outq_default", (int)id);
                name[ODP_QUEUE_NAME_LEN-1] = '\0';
 
-               qid = odp_queue_create(name, ODP_QUEUE_TYPE_PKTOUT, NULL);
+               odp_queue_param_init(&param);
+               param.type = ODP_QUEUE_TYPE_PKTOUT;
+
+               qid = odp_queue_create(name, &param);
                if (qid == ODP_QUEUE_INVALID)
                        return -1;
                pktio_entry->s.outq_default = qid;
@@ -1088,17 +1093,19 @@ int odp_pktio_input_queues_config(odp_pktio_t pktio,
        for (i = 0; i < num_queues; i++) {
                if (mode == ODP_PKTIN_MODE_QUEUE ||
                    mode == ODP_PKTIN_MODE_SCHED) {
-                       odp_queue_type_t type = ODP_QUEUE_TYPE_PLAIN;
+                       odp_queue_param_t queue_param;
+
+                       memcpy(&queue_param, &param->queue_param,
+                              sizeof(odp_queue_param_t));
+
+                       queue_param.type = ODP_QUEUE_TYPE_PLAIN;
 
                        if (mode == ODP_PKTIN_MODE_SCHED)
-                               type = ODP_QUEUE_TYPE_SCHED;
+                               queue_param.type = ODP_QUEUE_TYPE_SCHED;
+
+                       queue = odp_queue_create("pktio_in",
+                                                &queue_param);
 
-                       /* Ugly cast to uintptr_t is needed since queue_param
-                        * is not defined as const in odp_queue_create() */
-                       queue = odp_queue_create("pktio_in", type,
-                                                (odp_queue_param_t *)
-                                                (uintptr_t)
-                                                &param->queue_param);
                        if (queue == ODP_QUEUE_INVALID) {
                                destroy_in_queues(entry, i + 1);
                                return -1;
diff --git a/platform/linux-generic/odp_queue.c 
b/platform/linux-generic/odp_queue.c
index 17a26e8..f689f51 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -89,7 +89,7 @@ queue_entry_t *get_qentry(uint32_t queue_id)
 }
 
 static int queue_init(queue_entry_t *queue, const char *name,
-                     odp_queue_type_t type, odp_queue_param_t *param)
+                     odp_queue_type_t type, const odp_queue_param_t *param)
 {
        strncpy(queue->s.name, name, ODP_QUEUE_NAME_LEN - 1);
        queue->s.type = type;
@@ -252,12 +252,17 @@ int odp_queue_lock_count(odp_queue_t handle)
                (int)queue->s.param.sched.lock_count : -1;
 }
 
-odp_queue_t odp_queue_create(const char *name, odp_queue_type_t type,
-                            odp_queue_param_t *param)
+odp_queue_t odp_queue_create(const char *name, const odp_queue_param_t *param)
 {
        uint32_t i;
        queue_entry_t *queue;
        odp_queue_t handle = ODP_QUEUE_INVALID;
+       odp_queue_type_t type;
+
+       if (param == NULL)
+               type = ODP_QUEUE_TYPE_PLAIN;
+       else
+               type = param->type;
 
        for (i = 0; i < ODP_CONFIG_QUEUES; i++) {
                queue = &queue_tbl->queue[i];
@@ -1003,6 +1008,7 @@ void queue_unlock(queue_entry_t *queue)
 void odp_queue_param_init(odp_queue_param_t *params)
 {
        memset(params, 0, sizeof(odp_queue_param_t));
+       params->type = ODP_QUEUE_TYPE_PLAIN;
 }
 
 /* These routines exists here rather than in odp_schedule
@@ -1158,7 +1164,6 @@ int odp_queue_info(odp_queue_t handle, odp_queue_info_t 
*info)
        }
 
        info->name = queue->s.name;
-       info->type = queue->s.type;
        info->param = queue->s.param;
 
        UNLOCK(&queue->s.lock);
diff --git a/platform/linux-generic/odp_schedule.c 
b/platform/linux-generic/odp_schedule.c
index cd1c9db..fc54ee5 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -178,8 +178,7 @@ int odp_schedule_init_global(void)
                        name[10] = '0' + j / 10;
                        name[11] = '0' + j - 10*(j / 10);
 
-                       queue = odp_queue_create(name,
-                                                ODP_QUEUE_TYPE_PLAIN, NULL);
+                       queue = odp_queue_create(name, NULL);
 
                        if (queue == ODP_QUEUE_INVALID) {
                                ODP_ERR("Sched init: Queue create failed.\n");
@@ -199,7 +198,7 @@ int odp_schedule_init_global(void)
                name[13] = '0' + i / 10;
                name[14] = '0' + i - 10 * (i / 10);
 
-               queue = odp_queue_create(name, ODP_QUEUE_TYPE_PLAIN, NULL);
+               queue = odp_queue_create(name, NULL);
 
                if (queue == ODP_QUEUE_INVALID) {
                        ODP_ERR("Sched init: Queue create failed.\n");
diff --git a/platform/linux-generic/pktio/loop.c 
b/platform/linux-generic/pktio/loop.c
index a9823d9..e8203ff 100644
--- a/platform/linux-generic/pktio/loop.c
+++ b/platform/linux-generic/pktio/loop.c
@@ -33,7 +33,7 @@ static int loopback_open(odp_pktio_t id, pktio_entry_t 
*pktio_entry,
        snprintf(loopq_name, sizeof(loopq_name), "%" PRIu64 "-pktio_loopq",
                 odp_pktio_to_u64(id));
        pktio_entry->s.pkt_loop.loopq =
-               odp_queue_create(loopq_name, ODP_QUEUE_TYPE_PLAIN, NULL);
+               odp_queue_create(loopq_name, NULL);
 
        if (pktio_entry->s.pkt_loop.loopq == ODP_QUEUE_INVALID)
                return -1;
diff --git a/test/performance/odp_pktio_perf.c 
b/test/performance/odp_pktio_perf.c
index 59ddb98..71407f2 100644
--- a/test/performance/odp_pktio_perf.c
+++ b/test/performance/odp_pktio_perf.c
@@ -766,6 +766,7 @@ static int test_init(void)
 
        /* create and associate an input queue for the RX side */
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -774,8 +775,7 @@ static int test_init(void)
                 odp_pktio_to_u64(gbl_args->pktio_rx));
        inq_def = odp_queue_lookup(inq_name);
        if (inq_def == ODP_QUEUE_INVALID)
-               inq_def = odp_queue_create(inq_name,
-                               ODP_QUEUE_TYPE_PKTIN, &qparam);
+               inq_def = odp_queue_create(inq_name, &qparam);
 
        if (inq_def == ODP_QUEUE_INVALID)
                return -1;
diff --git a/test/performance/odp_scheduling.c 
b/test/performance/odp_scheduling.c
index 7458614..564c517 100644
--- a/test/performance/odp_scheduling.c
+++ b/test/performance/odp_scheduling.c
@@ -902,7 +902,7 @@ int main(int argc, char *argv[])
        /*
         * Create a queue for direct poll test
         */
-       queue = odp_queue_create("poll_queue", ODP_QUEUE_TYPE_PLAIN, NULL);
+       queue = odp_queue_create("poll_queue", NULL);
 
        if (queue == ODP_QUEUE_INVALID) {
                LOG_ERR("Poll queue create failed.\n");
@@ -926,6 +926,7 @@ int main(int argc, char *argv[])
                name[7] = '0' + i - 10*(i/10);
 
                odp_queue_param_init(&param);
+               param.type        = ODP_QUEUE_TYPE_SCHED;
                param.sched.prio  = i;
                param.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
                param.sched.group = ODP_SCHED_GROUP_ALL;
@@ -934,8 +935,7 @@ int main(int argc, char *argv[])
                        name[9]  = '0' + j/10;
                        name[10] = '0' + j - 10*(j/10);
 
-                       queue = odp_queue_create(name, ODP_QUEUE_TYPE_SCHED,
-                                                &param);
+                       queue = odp_queue_create(name, &param);
 
                        if (queue == ODP_QUEUE_INVALID) {
                                LOG_ERR("Schedule queue create failed.\n");
diff --git a/test/validation/classification/odp_classification_common.c 
b/test/validation/classification/odp_classification_common.c
index 86ac4de..54ce594 100644
--- a/test/validation/classification/odp_classification_common.c
+++ b/test/validation/classification/odp_classification_common.c
@@ -161,17 +161,14 @@ odp_queue_t queue_create(const char *queuename, bool 
sched)
 
        if (sched) {
                odp_queue_param_init(&qparam);
+               qparam.type       = ODP_QUEUE_TYPE_SCHED;
                qparam.sched.prio = ODP_SCHED_PRIO_HIGHEST;
                qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
                qparam.sched.group = ODP_SCHED_GROUP_ALL;
 
-               queue = odp_queue_create(queuename,
-                                        ODP_QUEUE_TYPE_SCHED,
-                                        &qparam);
+               queue = odp_queue_create(queuename, &qparam);
        } else {
-               queue = odp_queue_create(queuename,
-                                        ODP_QUEUE_TYPE_PLAIN,
-                                        NULL);
+               queue = odp_queue_create(queuename, NULL);
        }
 
        return queue;
diff --git a/test/validation/classification/odp_classification_test_pmr.c 
b/test/validation/classification/odp_classification_test_pmr.c
index 7edfd90..5f516a7 100644
--- a/test/validation/classification/odp_classification_test_pmr.c
+++ b/test/validation/classification/odp_classification_test_pmr.c
@@ -56,13 +56,14 @@ odp_pktio_t create_pktio(odp_queue_type_t q_type)
        return pktio;
 }
 
-int create_default_inq(odp_pktio_t pktio, odp_queue_type_t qtype)
+int create_default_inq(odp_pktio_t pktio, odp_queue_type_t qtype ODP_UNUSED)
 {
        odp_queue_param_t qparam;
        odp_queue_t inq_def;
        char inq_name[ODP_QUEUE_NAME_LEN];
 
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -71,10 +72,7 @@ int create_default_inq(odp_pktio_t pktio, odp_queue_type_t 
qtype)
                 odp_pktio_to_u64(pktio));
        inq_def = odp_queue_lookup(inq_name);
        if (inq_def == ODP_QUEUE_INVALID)
-               inq_def = odp_queue_create(
-                       inq_name,
-                       ODP_QUEUE_TYPE_PKTIN,
-                       qtype == ODP_QUEUE_TYPE_PLAIN ? NULL : &qparam);
+               inq_def = odp_queue_create(inq_name, &qparam);
 
        CU_ASSERT_FATAL(inq_def != ODP_QUEUE_INVALID);
 
diff --git a/test/validation/classification/odp_classification_tests.c 
b/test/validation/classification/odp_classification_tests.c
index 0e39348..a194259 100644
--- a/test/validation/classification/odp_classification_tests.c
+++ b/test/validation/classification/odp_classification_tests.c
@@ -51,13 +51,13 @@ int classification_suite_init(void)
        }
 
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
 
        sprintf(queuename, "%s", "inq_loop");
-       inq_def = odp_queue_create(queuename,
-                       ODP_QUEUE_TYPE_PKTIN, &qparam);
+       inq_def = odp_queue_create(queuename, &qparam);
        odp_pktio_inq_setdef(pktio_loop, inq_def);
 
        for (i = 0; i < CLS_ENTRIES; i++)
@@ -140,15 +140,14 @@ void configure_cls_pmr_chain(void)
 
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_NORMAL;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        qparam.sched.lock_count = ODP_CONFIG_MAX_ORDERED_LOCKS_PER_QUEUE;
        sprintf(queuename, "%s", "SrcQueue");
 
-       queue_list[CLS_PMR_CHAIN_SRC] = odp_queue_create(queuename,
-                                                    ODP_QUEUE_TYPE_SCHED,
-                                                    &qparam);
+       queue_list[CLS_PMR_CHAIN_SRC] = odp_queue_create(queuename, &qparam);
 
        CU_ASSERT_FATAL(queue_list[CLS_PMR_CHAIN_SRC] != ODP_QUEUE_INVALID);
 
@@ -166,14 +165,13 @@ void configure_cls_pmr_chain(void)
 
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_NORMAL;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        sprintf(queuename, "%s", "DstQueue");
 
-       queue_list[CLS_PMR_CHAIN_DST] = odp_queue_create(queuename,
-                                                    ODP_QUEUE_TYPE_SCHED,
-                                                    &qparam);
+       queue_list[CLS_PMR_CHAIN_DST] = odp_queue_create(queuename, &qparam);
        CU_ASSERT_FATAL(queue_list[CLS_PMR_CHAIN_DST] != ODP_QUEUE_INVALID);
 
        sprintf(poolname, "%s", "DstPool");
@@ -279,12 +277,12 @@ void configure_pktio_default_cos(void)
        char poolname[ODP_POOL_NAME_LEN];
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        sprintf(queuename, "%s", "DefaultQueue");
-       queue_list[CLS_DEFAULT] = odp_queue_create(queuename,
-                                        ODP_QUEUE_TYPE_SCHED, &qparam);
+       queue_list[CLS_DEFAULT] = odp_queue_create(queuename, &qparam);
        CU_ASSERT_FATAL(queue_list[CLS_DEFAULT] != ODP_QUEUE_INVALID);
 
        sprintf(poolname, "DefaultPool");
@@ -338,14 +336,13 @@ void configure_pktio_error_cos(void)
        char poolname[ODP_POOL_NAME_LEN];
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_LOWEST;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        sprintf(queuename, "%s", "ErrorCos");
 
-       queue_list[CLS_ERROR] = odp_queue_create(queuename,
-                                                ODP_QUEUE_TYPE_SCHED,
-                                                &qparam);
+       queue_list[CLS_ERROR] = odp_queue_create(queuename, &qparam);
        CU_ASSERT_FATAL(queue_list[CLS_ERROR] != ODP_QUEUE_INVALID);
 
        sprintf(poolname, "ErrorPool");
@@ -438,13 +435,13 @@ void configure_cos_with_l2_priority(void)
                qos_tbl[i] = 0;
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        for (i = 0; i < num_qos; i++) {
                qparam.sched.prio = ODP_SCHED_PRIO_LOWEST - i;
                sprintf(queuename, "%s_%d", "L2_Queue", i);
-               queue_tbl[i] = odp_queue_create(queuename, ODP_QUEUE_TYPE_SCHED,
-                                             &qparam);
+               queue_tbl[i] = odp_queue_create(queuename, &qparam);
                CU_ASSERT_FATAL(queue_tbl[i] != ODP_QUEUE_INVALID);
                queue_list[CLS_L2_QOS_0 + i] = queue_tbl[i];
 
@@ -523,14 +520,13 @@ void configure_pmr_cos(void)
        CU_ASSERT_FATAL(pmr_list[CLS_PMR] != ODP_PMR_INVAL);
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_HIGHEST;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        sprintf(queuename, "%s", "PMR_CoS");
 
-       queue_list[CLS_PMR] = odp_queue_create(queuename,
-                                              ODP_QUEUE_TYPE_SCHED,
-                                              &qparam);
+       queue_list[CLS_PMR] = odp_queue_create(queuename, &qparam);
        CU_ASSERT_FATAL(queue_list[CLS_PMR] != ODP_QUEUE_INVALID);
 
        sprintf(poolname, "PMR_Pool");
@@ -605,14 +601,13 @@ void configure_pktio_pmr_match_set_cos(void)
        CU_ASSERT(retval > 0);
 
        odp_queue_param_init(&qparam);
+       qparam.type       = ODP_QUEUE_TYPE_SCHED;
        qparam.sched.prio = ODP_SCHED_PRIO_HIGHEST;
        qparam.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
        sprintf(queuename, "%s", "cos_pmr_set_queue");
 
-       queue_list[CLS_PMR_SET] = odp_queue_create(queuename,
-                                                        ODP_QUEUE_TYPE_SCHED,
-                                                        &qparam);
+       queue_list[CLS_PMR_SET] = odp_queue_create(queuename, &qparam);
        CU_ASSERT_FATAL(queue_list[CLS_PMR_SET] != ODP_QUEUE_INVALID);
 
        sprintf(poolname, "cos_pmr_set_pool");
diff --git a/test/validation/crypto/crypto.c b/test/validation/crypto/crypto.c
index c8a84ce..b2d8f45 100644
--- a/test/validation/crypto/crypto.c
+++ b/test/validation/crypto/crypto.c
@@ -51,8 +51,7 @@ int crypto_init(void)
                fprintf(stderr, "Packet pool creation failed.\n");
                return -1;
        }
-       out_queue = odp_queue_create("crypto-out",
-                                    ODP_QUEUE_TYPE_PLAIN, NULL);
+       out_queue = odp_queue_create("crypto-out", NULL);
        if (ODP_QUEUE_INVALID == out_queue) {
                fprintf(stderr, "Crypto outq creation failed.\n");
                return -1;
diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c
index 7a9cf0a..1d5d315 100644
--- a/test/validation/pktio/pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -314,13 +314,14 @@ static odp_pktio_t create_pktio(int iface_idx, 
odp_pktio_input_mode_t imode,
        return pktio;
 }
 
-static int create_inq(odp_pktio_t pktio, odp_queue_type_t qtype)
+static int create_inq(odp_pktio_t pktio, odp_queue_type_t qtype ODP_UNUSED)
 {
        odp_queue_param_t qparam;
        odp_queue_t inq_def;
        char inq_name[ODP_QUEUE_NAME_LEN];
 
        odp_queue_param_init(&qparam);
+       qparam.type        = ODP_QUEUE_TYPE_PKTIN;
        qparam.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
        qparam.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
        qparam.sched.group = ODP_SCHED_GROUP_ALL;
@@ -329,10 +330,7 @@ static int create_inq(odp_pktio_t pktio, odp_queue_type_t 
qtype)
                 odp_pktio_to_u64(pktio));
        inq_def = odp_queue_lookup(inq_name);
        if (inq_def == ODP_QUEUE_INVALID)
-               inq_def = odp_queue_create(
-                       inq_name,
-                       ODP_QUEUE_TYPE_PKTIN,
-                       qtype == ODP_QUEUE_TYPE_PLAIN ? NULL : &qparam);
+               inq_def = odp_queue_create(inq_name, &qparam);
 
        CU_ASSERT(inq_def != ODP_QUEUE_INVALID);
 
diff --git a/test/validation/queue/queue.c b/test/validation/queue/queue.c
index 9205929..35bb7ce 100644
--- a/test/validation/queue/queue.c
+++ b/test/validation/queue/queue.c
@@ -54,15 +54,15 @@ void queue_test_sunnydays(void)
        odp_queue_param_t qparams;
 
        odp_queue_param_init(&qparams);
+       qparams.type       = ODP_QUEUE_TYPE_SCHED;
        qparams.sched.prio = ODP_SCHED_PRIO_LOWEST;
        qparams.sched.sync = ODP_SCHED_SYNC_PARALLEL;
        qparams.sched.group = ODP_SCHED_GROUP_WORKER;
 
-       queue_creat_id = odp_queue_create("test_queue",
-                                         ODP_QUEUE_TYPE_PLAIN, &qparams);
+       queue_creat_id = odp_queue_create("test_queue", &qparams);
        CU_ASSERT(ODP_QUEUE_INVALID != queue_creat_id);
 
-       CU_ASSERT_EQUAL(ODP_QUEUE_TYPE_PLAIN,
+       CU_ASSERT_EQUAL(ODP_QUEUE_TYPE_SCHED,
                        odp_queue_type(queue_creat_id));
 
        queue_id = odp_queue_lookup("test_queue");
@@ -140,25 +140,26 @@ void queue_test_info(void)
        int ret;
 
        /* Create a polled queue and set context */
-       q_poll = odp_queue_create(nq_poll, ODP_QUEUE_TYPE_PLAIN, NULL);
+       q_poll = odp_queue_create(nq_poll, NULL);
        CU_ASSERT(ODP_QUEUE_INVALID != q_poll);
        CU_ASSERT(odp_queue_context_set(q_poll, q_poll_ctx) == 0);
 
        /* Create a scheduled ordered queue with explicitly set params */
        odp_queue_param_init(&param);
+       param.type       = ODP_QUEUE_TYPE_SCHED;
        param.sched.prio = ODP_SCHED_PRIO_NORMAL;
        param.sched.sync = ODP_SCHED_SYNC_ORDERED;
        param.sched.group = ODP_SCHED_GROUP_ALL;
        param.sched.lock_count = 1;
        param.context = q_order_ctx;
-       q_order = odp_queue_create(nq_order, ODP_QUEUE_TYPE_SCHED, &param);
+       q_order = odp_queue_create(nq_order, &param);
        CU_ASSERT(ODP_QUEUE_INVALID != q_order);
 
        /* Check info for the polled queue */
        CU_ASSERT(odp_queue_info(q_poll, &info) == 0);
        CU_ASSERT(strcmp(nq_poll, info.name) == 0);
-       CU_ASSERT(info.type == ODP_QUEUE_TYPE_PLAIN);
-       CU_ASSERT(info.type == odp_queue_type(q_poll));
+       CU_ASSERT(info.param.type == ODP_QUEUE_TYPE_PLAIN);
+       CU_ASSERT(info.param.type == odp_queue_type(q_poll));
        ctx = info.param.context; /* 'char' context ptr */
        CU_ASSERT(ctx == q_poll_ctx);
        CU_ASSERT(info.param.context == odp_queue_context(q_poll));
@@ -166,8 +167,8 @@ void queue_test_info(void)
        /* Check info for the scheduled ordered queue */
        CU_ASSERT(odp_queue_info(q_order, &info) == 0);
        CU_ASSERT(strcmp(nq_order, info.name) == 0);
-       CU_ASSERT(info.type == ODP_QUEUE_TYPE_SCHED);
-       CU_ASSERT(info.type == odp_queue_type(q_order));
+       CU_ASSERT(info.param.type == ODP_QUEUE_TYPE_SCHED);
+       CU_ASSERT(info.param.type == odp_queue_type(q_order));
        ctx = info.param.context; /* 'char' context ptr */
        CU_ASSERT(ctx == q_order_ctx);
        CU_ASSERT(info.param.context == odp_queue_context(q_order));
diff --git a/test/validation/scheduler/scheduler.c 
b/test/validation/scheduler/scheduler.c
index cc19696..fce569b 100644
--- a/test/validation/scheduler/scheduler.c
+++ b/test/validation/scheduler/scheduler.c
@@ -129,7 +129,11 @@ void scheduler_test_wait_time(void)
 
        /* check ODP_SCHED_NO_WAIT */
        odp_queue_param_init(&qp);
-       queue = odp_queue_create("dummy_queue", ODP_QUEUE_TYPE_SCHED, &qp);
+       qp.type        = ODP_QUEUE_TYPE_SCHED;
+       qp.sched.sync  = ODP_SCHED_SYNC_PARALLEL;
+       qp.sched.prio  = ODP_SCHED_PRIO_NORMAL;
+       qp.sched.group = ODP_SCHED_GROUP_ALL;
+       queue = odp_queue_create("dummy_queue", &qp);
        CU_ASSERT_FATAL(queue != ODP_QUEUE_INVALID);
 
        wait_time = odp_schedule_wait_time(ODP_TIME_SEC_IN_NS);
@@ -200,11 +204,12 @@ void scheduler_test_queue_destroy(void)
        CU_ASSERT_FATAL(p != ODP_POOL_INVALID);
 
        for (i = 0; i < 3; i++) {
+               qp.type        = ODP_QUEUE_TYPE_SCHED;
                qp.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
                qp.sched.sync  = sync[i];
+               qp.sched.group = ODP_SCHED_GROUP_ALL;
 
-               queue = odp_queue_create("sched_destroy_queue",
-                                        ODP_QUEUE_TYPE_SCHED, &qp);
+               queue = odp_queue_create("sched_destroy_queue", &qp);
 
                CU_ASSERT_FATAL(queue != ODP_QUEUE_INVALID);
 
@@ -337,13 +342,13 @@ void scheduler_test_groups(void)
        CU_ASSERT_FATAL(p != ODP_POOL_INVALID);
 
        for (i = 0; i < 3; i++) {
+               qp.type        = ODP_QUEUE_TYPE_SCHED;
                qp.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
                qp.sched.sync  = sync[i];
                qp.sched.group = mygrp1;
 
                /* Create and populate a group in group 1 */
-               queue_grp1 = odp_queue_create("sched_group_test_queue_1",
-                                             ODP_QUEUE_TYPE_SCHED, &qp);
+               queue_grp1 = odp_queue_create("sched_group_test_queue_1", &qp);
                CU_ASSERT_FATAL(queue_grp1 != ODP_QUEUE_INVALID);
                CU_ASSERT_FATAL(odp_queue_sched_group(queue_grp1) == mygrp1);
 
@@ -360,8 +365,7 @@ void scheduler_test_groups(void)
 
                /* Now create and populate a queue in group 2 */
                qp.sched.group = mygrp2;
-               queue_grp2 = odp_queue_create("sched_group_test_queue_2",
-                                             ODP_QUEUE_TYPE_SCHED, &qp);
+               queue_grp2 = odp_queue_create("sched_group_test_queue_2", &qp);
                CU_ASSERT_FATAL(queue_grp2 != ODP_QUEUE_INVALID);
                CU_ASSERT_FATAL(odp_queue_sched_group(queue_grp2) == mygrp2);
 
@@ -562,7 +566,9 @@ static void chaos_run(unsigned int qtype)
 
        pool = odp_pool_create("sched_chaos_pool", &params);
        CU_ASSERT_FATAL(pool != ODP_POOL_INVALID);
-       qp.sched.prio = ODP_SCHED_PRIO_DEFAULT;
+       qp.type        = ODP_QUEUE_TYPE_SCHED;
+       qp.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
+       qp.sched.group = ODP_SCHED_GROUP_ALL;
 
        for (i = 0; i < CHAOS_NUM_QUEUES; i++) {
                uint32_t ndx = qtype == num_sync ? i % num_sync : qtype;
@@ -574,9 +580,7 @@ static void chaos_run(unsigned int qtype)
                         qtypes[ndx]);
 
                globals->chaos_q[i].handle =
-                       odp_queue_create(globals->chaos_q[i].name,
-                                        ODP_QUEUE_TYPE_SCHED,
-                                        &qp);
+                       odp_queue_create(globals->chaos_q[i].name, &qp);
                CU_ASSERT_FATAL(globals->chaos_q[i].handle !=
                                ODP_QUEUE_INVALID);
                rc = odp_queue_context_set(globals->chaos_q[i].handle,
@@ -1318,6 +1322,7 @@ static int create_queues(void)
        for (i = 0; i < prios; i++) {
                odp_queue_param_t p;
                odp_queue_param_init(&p);
+               p.type        = ODP_QUEUE_TYPE_SCHED;
                p.sched.prio  = i;
 
                for (j = 0; j < QUEUES_PER_PRIO; j++) {
@@ -1327,7 +1332,7 @@ static int create_queues(void)
 
                        snprintf(name, sizeof(name), "sched_%d_%d_n", i, j);
                        p.sched.sync = ODP_SCHED_SYNC_PARALLEL;
-                       q = odp_queue_create(name, ODP_QUEUE_TYPE_SCHED, &p);
+                       q = odp_queue_create(name, &p);
 
                        if (q == ODP_QUEUE_INVALID) {
                                printf("Schedule queue create failed.\n");
@@ -1336,7 +1341,7 @@ static int create_queues(void)
 
                        snprintf(name, sizeof(name), "sched_%d_%d_a", i, j);
                        p.sched.sync = ODP_SCHED_SYNC_ATOMIC;
-                       q = odp_queue_create(name, ODP_QUEUE_TYPE_SCHED, &p);
+                       q = odp_queue_create(name, &p);
 
                        if (q == ODP_QUEUE_INVALID) {
                                printf("Schedule queue create failed.\n");
@@ -1344,8 +1349,7 @@ static int create_queues(void)
                        }
 
                        snprintf(name, sizeof(name), "poll_%d_%d_o", i, j);
-                       pq = odp_queue_create(name,
-                                             ODP_QUEUE_TYPE_PLAIN, NULL);
+                       pq = odp_queue_create(name, NULL);
                        if (pq == ODP_QUEUE_INVALID) {
                                printf("Poll queue create failed.\n");
                                return -1;
@@ -1373,7 +1377,7 @@ static int create_queues(void)
                        p.sched.sync = ODP_SCHED_SYNC_ORDERED;
                        p.sched.lock_count =
                                ODP_CONFIG_MAX_ORDERED_LOCKS_PER_QUEUE;
-                       q = odp_queue_create(name, ODP_QUEUE_TYPE_SCHED, &p);
+                       q = odp_queue_create(name, &p);
 
                        if (q == ODP_QUEUE_INVALID) {
                                printf("Schedule queue create failed.\n");
diff --git a/test/validation/timer/timer.c b/test/validation/timer/timer.c
index c587368..079114f 100644
--- a/test/validation/timer/timer.c
+++ b/test/validation/timer/timer.c
@@ -161,7 +161,7 @@ void timer_test_odp_timer_cancel(void)
        /* Start all created timer pools */
        odp_timer_pool_start();
 
-       queue = odp_queue_create("timer_queue", ODP_QUEUE_TYPE_PLAIN, NULL);
+       queue = odp_queue_create("timer_queue", NULL);
        if (queue == ODP_QUEUE_INVALID)
                CU_FAIL_FATAL("Queue create failed");
 
@@ -278,9 +278,7 @@ static void *worker_entrypoint(void *arg TEST_UNUSED)
        unsigned seed = thr;
        int rc;
 
-       odp_queue_t queue = odp_queue_create("timer_queue",
-                                            ODP_QUEUE_TYPE_PLAIN,
-                                            NULL);
+       odp_queue_t queue = odp_queue_create("timer_queue", NULL);
        if (queue == ODP_QUEUE_INVALID)
                CU_FAIL_FATAL("Queue create failed");
 
-- 
2.6.3

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to