net/sfc: rename array of SW stats descriptions
[dpdk.git] / drivers / raw / skeleton / skeleton_rawdev.c
index 72ece88..16ecae3 100644 (file)
@@ -41,17 +41,18 @@ struct queue_buffers {
 static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {};
 static void clear_queue_bufs(int queue_id);
 
-static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
-                                    rte_rawdev_obj_t dev_info)
+static int skeleton_rawdev_info_get(struct rte_rawdev *dev,
+                                    rte_rawdev_obj_t dev_info,
+                                    size_t dev_info_size)
 {
        struct skeleton_rawdev *skeldev;
        struct skeleton_rawdev_conf *skeldev_conf;
 
        SKELETON_PMD_FUNC_TRACE();
 
-       if (!dev_info) {
+       if (!dev_info || dev_info_size != sizeof(*skeldev_conf)) {
                SKELETON_PMD_ERR("Invalid request");
-               return;
+               return -EINVAL;
        }
 
        skeldev = skeleton_rawdev_get_priv(dev);
@@ -62,10 +63,13 @@ static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
        skeldev_conf->capabilities = skeldev->capabilities;
        skeldev_conf->device_state = skeldev->device_state;
        skeldev_conf->firmware_state = skeldev->fw.firmware_state;
+
+       return 0;
 }
 
 static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
-                                    rte_rawdev_obj_t config)
+                                    rte_rawdev_obj_t config,
+                                    size_t config_size)
 {
        struct skeleton_rawdev *skeldev;
        struct skeleton_rawdev_conf *skeldev_conf;
@@ -74,7 +78,7 @@ static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
 
        RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL);
 
-       if (!config) {
+       if (config == NULL || config_size != sizeof(*skeldev_conf)) {
                SKELETON_PMD_ERR("Invalid configuration");
                return -EINVAL;
        }
@@ -186,9 +190,11 @@ static int skeleton_rawdev_close(struct rte_rawdev *dev)
                }
                break;
        case SKELETON_FW_READY:
+               SKELETON_PMD_DEBUG("Device already in stopped state");
+               break;
        case SKELETON_FW_ERROR:
        default:
-               SKELETON_PMD_DEBUG("Device already in stopped state");
+               SKELETON_PMD_DEBUG("Device in impossible state");
                ret = -EINVAL;
                break;
        }
@@ -216,17 +222,19 @@ static int skeleton_rawdev_reset(struct rte_rawdev *dev)
        return 0;
 }
 
-static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
-                                          uint16_t queue_id,
-                                          rte_rawdev_obj_t queue_conf)
+static int skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
+                                         uint16_t queue_id,
+                                         rte_rawdev_obj_t queue_conf,
+                                         size_t conf_size)
 {
        struct skeleton_rawdev *skeldev;
        struct skeleton_rawdev_queue *skelq;
 
        SKELETON_PMD_FUNC_TRACE();
 
-       if (!dev || !queue_conf)
-               return;
+       if (!dev || !queue_conf ||
+                       conf_size != sizeof(struct skeleton_rawdev_queue))
+               return -EINVAL;
 
        skeldev = skeleton_rawdev_get_priv(dev);
        skelq = &skeldev->queues[queue_id];
@@ -234,6 +242,8 @@ static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
        if (queue_id < SKELETON_MAX_QUEUES)
                rte_memcpy(queue_conf, skelq,
                        sizeof(struct skeleton_rawdev_queue));
+
+       return 0;
 }
 
 static void
@@ -248,7 +258,8 @@ clear_queue_bufs(int queue_id)
 
 static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
                                       uint16_t queue_id,
-                                      rte_rawdev_obj_t queue_conf)
+                                      rte_rawdev_obj_t queue_conf,
+                                      size_t conf_size)
 {
        int ret = 0;
        struct skeleton_rawdev *skeldev;
@@ -256,7 +267,8 @@ static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
 
        SKELETON_PMD_FUNC_TRACE();
 
-       if (!dev || !queue_conf)
+       if (!dev || !queue_conf ||
+                       conf_size != sizeof(struct skeleton_rawdev_queue))
                return -EINVAL;
 
        skeldev = skeleton_rawdev_get_priv(dev);
@@ -756,4 +768,4 @@ static struct rte_vdev_driver skeleton_pmd_drv = {
 };
 
 RTE_PMD_REGISTER_VDEV(SKELETON_PMD_RAWDEV_NAME, skeleton_pmd_drv);
-RTE_LOG_REGISTER(skeleton_pmd_logtype, rawdev.skeleton, INFO);
+RTE_LOG_REGISTER_DEFAULT(skeleton_pmd_logtype, INFO);