[dpdk-dev] [PATCH 3/4] event/skeleton: add vdev uninit support
Jerin Jacob
jerin.jacob at caviumnetworks.com
Mon Feb 6 06:23:39 CET 2017
Removed global index based device name
generation as vdev uninit needs the exact driver
name used vdev init.
Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
---
drivers/event/skeleton/skeleton_eventdev.c | 42 ++++--------------------------
1 file changed, 5 insertions(+), 37 deletions(-)
diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index 085cb86..46e75d8 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -439,44 +439,15 @@ RTE_PMD_REGISTER_PCI_TABLE(event_skeleton_pci, pci_id_skeleton_map);
/* VDEV based event device */
-/**
- * Global static parameter used to create a unique name for each skeleton
- * event device.
- */
-static unsigned int skeleton_unique_id;
-
-static inline int
-skeleton_create_unique_device_name(char *name, size_t size)
-{
- int ret;
-
- if (name == NULL)
- return -EINVAL;
-
- ret = snprintf(name, size, "%s_%u", RTE_STR(EVENTDEV_NAME_SKELETON_PMD),
- skeleton_unique_id++);
- if (ret < 0)
- return ret;
- return 0;
-}
-
static int
-skeleton_eventdev_create(int socket_id)
+skeleton_eventdev_create(const char *name, int socket_id)
{
struct rte_eventdev *eventdev;
- char eventdev_name[RTE_EVENTDEV_NAME_MAX_LEN];
- /* Create a unique device name */
- if (skeleton_create_unique_device_name(eventdev_name,
- RTE_EVENTDEV_NAME_MAX_LEN) != 0) {
- PMD_DRV_ERR("Failed to create unique eventdev name");
- return -EINVAL;
- }
-
- eventdev = rte_event_pmd_vdev_init(eventdev_name,
+ eventdev = rte_event_pmd_vdev_init(name,
sizeof(struct skeleton_eventdev), socket_id);
if (eventdev == NULL) {
- PMD_DRV_ERR("Failed to create eventdev vdev");
+ PMD_DRV_ERR("Failed to create eventdev vdev %s", name);
goto fail;
}
@@ -497,18 +468,15 @@ skeleton_eventdev_probe(const char *name, __rte_unused const char *input_args)
{
RTE_LOG(INFO, PMD, "Initializing %s on NUMA node %d\n", name,
rte_socket_id());
- return skeleton_eventdev_create(rte_socket_id());
+ return skeleton_eventdev_create(name, rte_socket_id());
}
static int
skeleton_eventdev_remove(const char *name)
{
- if (name == NULL)
- return -EINVAL;
-
PMD_DRV_LOG(INFO, "Closing %s on NUMA node %d", name, rte_socket_id());
- return 0;
+ return rte_event_pmd_vdev_uninit(name);
}
static struct rte_vdev_driver vdev_eventdev_skeleton_pmd = {
--
2.5.5
More information about the dev
mailing list