cryptodev: store device pointer in virtual devices
[dpdk.git] / lib / librte_cryptodev / rte_cryptodev.c
index 6f5080c..2b2f0fe 100644 (file)
@@ -233,22 +233,6 @@ rte_crypto_auth_operation_strings[] = {
                [RTE_CRYPTO_AUTH_OP_GENERATE]   = "generate"
 };
 
-static uint8_t
-number_of_sockets(void)
-{
-       int sockets = 0;
-       int i;
-       const struct rte_memseg *ms = rte_eal_get_physmem_layout();
-
-       for (i = 0; ((i < RTE_MAX_MEMSEG) && (ms[i].addr != NULL)); i++) {
-               if (sockets < ms[i].socket_id)
-                       sockets = ms[i].socket_id;
-       }
-
-       /* Number of sockets = maximum socket_id + 1 */
-       return ++sockets;
-}
-
 /** Parse integer from integer argument */
 static int
 parse_integer_arg(const char *key __rte_unused,
@@ -325,12 +309,6 @@ rte_cryptodev_parse_vdev_init_params(struct rte_crypto_vdev_init_params *params,
                                        params);
                if (ret < 0)
                        goto free_kvlist;
-
-               if (params->socket_id >= number_of_sockets()) {
-                       CDEV_LOG_ERR("Invalid socket id specified to create "
-                               "the virtual crypto device on");
-                       goto free_kvlist;
-               }
        }
 
 free_kvlist:
@@ -439,7 +417,7 @@ rte_cryptodev_get_feature_name(uint64_t flag)
 int
 rte_cryptodev_create_vdev(const char *name, const char *args)
 {
-       return rte_eal_vdev_init(name, args);
+       return rte_vdev_init(name, args);
 }
 
 struct rte_cryptodev *
@@ -673,7 +651,7 @@ rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev)
 
 struct rte_cryptodev *
 rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
-               int socket_id)
+               int socket_id, struct rte_vdev_device *vdev)
 {
        struct rte_cryptodev *cryptodev;
 
@@ -695,6 +673,8 @@ rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
                                        " data");
        }
 
+       cryptodev->device = &vdev->device;
+
        /* initialise user call-back tail queue */
        TAILQ_INIT(&(cryptodev->link_intr_cbs));
 
@@ -716,7 +696,7 @@ rte_cryptodev_pci_probe(struct rte_pci_driver *pci_drv,
        if (cryptodrv == NULL)
                return -ENODEV;
 
-       rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name,
+       rte_pci_device_name(&pci_dev->addr, cryptodev_name,
                        sizeof(cryptodev_name));
 
        cryptodev = rte_cryptodev_pmd_allocate(cryptodev_name, rte_socket_id());
@@ -772,7 +752,7 @@ rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
        if (pci_dev == NULL)
                return -EINVAL;
 
-       rte_eal_pci_device_name(&pci_dev->addr, cryptodev_name,
+       rte_pci_device_name(&pci_dev->addr, cryptodev_name,
                        sizeof(cryptodev_name));
 
        cryptodev = rte_cryptodev_pmd_get_named_dev(cryptodev_name);