Simplified NULL as default params implementation by setting
default params only once (by re-using the param_init API call).

Signed-off-by: Petri Savolainen <[email protected]>
---
 platform/linux-generic/odp_queue.c | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/platform/linux-generic/odp_queue.c 
b/platform/linux-generic/odp_queue.c
index 26c0063..b2519a0 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -93,21 +93,13 @@ static int queue_init(queue_entry_t *queue, const char 
*name,
 {
        strncpy(queue->s.name, name, ODP_QUEUE_NAME_LEN - 1);
 
-       if (param) {
-               memcpy(&queue->s.param, param, sizeof(odp_queue_param_t));
-               if (queue->s.param.sched.lock_count >
-                   ODP_CONFIG_MAX_ORDERED_LOCKS_PER_QUEUE)
-                       return -1;
+       memcpy(&queue->s.param, param, sizeof(odp_queue_param_t));
+       if (queue->s.param.sched.lock_count >
+           ODP_CONFIG_MAX_ORDERED_LOCKS_PER_QUEUE)
+               return -1;
 
-               if (param->type == ODP_QUEUE_TYPE_SCHED)
-                       queue->s.param.deq_mode = ODP_QUEUE_OP_DISABLED;
-       } else {
-               /* Defaults */
-               odp_queue_param_init(&queue->s.param);
-               queue->s.param.sched.prio  = ODP_SCHED_PRIO_DEFAULT;
-               queue->s.param.sched.sync  = ODP_SCHED_SYNC_ATOMIC;
-               queue->s.param.sched.group = ODP_SCHED_GROUP_ALL;
-       }
+       if (param->type == ODP_QUEUE_TYPE_SCHED)
+               queue->s.param.deq_mode = ODP_QUEUE_OP_DISABLED;
 
        queue->s.type = queue->s.param.type;
 
@@ -262,6 +254,12 @@ odp_queue_t odp_queue_create(const char *name, const 
odp_queue_param_t *param)
        queue_entry_t *queue;
        odp_queue_t handle = ODP_QUEUE_INVALID;
        odp_queue_type_t type;
+       odp_queue_param_t default_param;
+
+       if (param == NULL) {
+               odp_queue_param_init(&default_param);
+               param = &default_param;
+       }
 
        for (i = 0; i < ODP_CONFIG_QUEUES; i++) {
                queue = &queue_tbl->queue[i];
-- 
2.7.1

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

Reply via email to