[dpdk-dev,3/4] event/skeleton: add vdev uninit support

Message ID 1486358620-4075-4-git-send-email-jerin.jacob@caviumnetworks.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation success Compilation OK

Commit Message

Jerin Jacob Feb. 6, 2017, 5:23 a.m. UTC
  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@caviumnetworks.com>
---
 drivers/event/skeleton/skeleton_eventdev.c | 42 ++++--------------------------
 1 file changed, 5 insertions(+), 37 deletions(-)
  

Comments

Van Haaren, Harry Feb. 7, 2017, 3:11 p.m. UTC | #1
> -----Original Message-----
> From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> Sent: Monday, February 6, 2017 5:24 AM
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; hemant.agrawal@nxp.com; Eads, Gage
> <gage.eads@intel.com>; Van Haaren, Harry <harry.van.haaren@intel.com>; Jerin Jacob
> <jerin.jacob@caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH 3/4] event/skeleton: add vdev uninit support
> 
> 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@caviumnetworks.com>

Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
  
Jerin Jacob Feb. 8, 2017, 2:40 p.m. UTC | #2
On Tue, Feb 07, 2017 at 03:11:50PM +0000, Van Haaren, Harry wrote:
> > -----Original Message-----
> > From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> > Sent: Monday, February 6, 2017 5:24 AM
> > To: dev@dpdk.org
> > Cc: Richardson, Bruce <bruce.richardson@intel.com>; hemant.agrawal@nxp.com; Eads, Gage
> > <gage.eads@intel.com>; Van Haaren, Harry <harry.van.haaren@intel.com>; Jerin Jacob
> > <jerin.jacob@caviumnetworks.com>
> > Subject: [dpdk-dev] [PATCH 3/4] event/skeleton: add vdev uninit support
> > 
> > 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@caviumnetworks.com>
> 
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

Applied to dpdk-next-eventdev/master. Thanks.

>
  

Patch

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 = {