X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fraw%2Fskeleton%2Fskeleton_rawdev.c;h=16ecae3d9250599e662d505f6b96d32dee7142ad;hb=f0243339496d48e6f5d76e6ef6741d6986b965d0;hp=586183a5b857c87c6395bff1c310c43a1d98fc38;hpb=473c88f9b391c2cd8b8622dcc488116cb09b624a;p=dpdk.git diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c index 586183a5b8..16ecae3d92 100644 --- a/drivers/raw/skeleton/skeleton_rawdev.c +++ b/drivers/raw/skeleton/skeleton_rawdev.c @@ -28,9 +28,6 @@ #include "skeleton_rawdev.h" -/* Dynamic log type identifier */ -int skeleton_pmd_logtype; - /* Count of instances */ static uint16_t skeldev_init_once; @@ -44,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); @@ -65,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; @@ -77,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; } @@ -189,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; } @@ -219,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]; @@ -237,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 @@ -251,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; @@ -259,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); @@ -759,10 +768,4 @@ static struct rte_vdev_driver skeleton_pmd_drv = { }; RTE_PMD_REGISTER_VDEV(SKELETON_PMD_RAWDEV_NAME, skeleton_pmd_drv); - -RTE_INIT(skeleton_pmd_init_log) -{ - skeleton_pmd_logtype = rte_log_register("rawdev.skeleton"); - if (skeleton_pmd_logtype >= 0) - rte_log_set_level(skeleton_pmd_logtype, RTE_LOG_INFO); -} +RTE_LOG_REGISTER_DEFAULT(skeleton_pmd_logtype, INFO);