[dpdk-dev,v5,09/17] crypto: get rid of crypto driver register callback

Message ID 1466586396-22618-10-git-send-email-shreyansh.jain@nxp.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Shreyansh Jain June 22, 2016, 9:06 a.m. UTC
  Now that all pdev are pci drivers, we don't need to register crypto drivers
through a dedicated channel.

Signed-off-by: David Marchand <david.marchand@6wind.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 lib/librte_cryptodev/rte_cryptodev.c           | 22 -------------------
 lib/librte_cryptodev/rte_cryptodev_pmd.h       | 30 --------------------------
 lib/librte_cryptodev/rte_cryptodev_version.map |  1 -
 3 files changed, 53 deletions(-)
  

Comments

Neil Horman June 22, 2016, 1:27 p.m. UTC | #1
On Wed, Jun 22, 2016 at 02:36:28PM +0530, Shreyansh Jain wrote:
> Now that all pdev are pci drivers, we don't need to register crypto drivers
> through a dedicated channel.
> 
> Signed-off-by: David Marchand <david.marchand@6wind.com>
> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> ---
>  lib/librte_cryptodev/rte_cryptodev.c           | 22 -------------------
>  lib/librte_cryptodev/rte_cryptodev_pmd.h       | 30 --------------------------
>  lib/librte_cryptodev/rte_cryptodev_version.map |  1 -
>  3 files changed, 53 deletions(-)
> 
> diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
> index 65a2e29..a7cb33a 100644
> --- a/lib/librte_cryptodev/rte_cryptodev.c
> +++ b/lib/librte_cryptodev/rte_cryptodev.c
> @@ -444,28 +444,6 @@ rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
>  	return 0;
>  }
>  
> -int
> -rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *cryptodrv,
> -		enum pmd_type type)
> -{
> -	/* Call crypto device initialization directly if device is virtual */
> -	if (type == PMD_VDEV)
> -		return rte_cryptodev_pci_probe((struct rte_pci_driver *)cryptodrv,
> -				NULL);
> -
> -	/*
> -	 * Register PCI driver for physical device intialisation during
> -	 * PCI probing
> -	 */
> -	cryptodrv->pci_drv.devinit = rte_cryptodev_pci_probe;
> -	cryptodrv->pci_drv.devuninit = rte_cryptodev_pci_remove;
> -
> -	rte_eal_pci_register(&cryptodrv->pci_drv);
> -
> -	return 0;
> -}
> -
> -
>  uint16_t
>  rte_cryptodev_queue_pair_count(uint8_t dev_id)
>  {
> diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
> index 3fb7c7c..99fd69e 100644
> --- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
> +++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
> @@ -491,36 +491,6 @@ rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
>  extern int
>  rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
>  
> -
> -/**
> - * Register a Crypto [Poll Mode] driver.
> - *
> - * Function invoked by the initialization function of a Crypto driver
> - * to simultaneously register itself as Crypto Poll Mode Driver and to either:
> - *
> - *	a - register itself as PCI driver if the crypto device is a physical
> - *		device, by invoking the rte_eal_pci_register() function to
> - *		register the *pci_drv* structure embedded in the *crypto_drv*
> - *		structure, after having stored the address of the
> - *		rte_cryptodev_init() function in the *devinit* field of the
> - *		*pci_drv* structure.
> - *
> - *		During the PCI probing phase, the rte_cryptodev_init()
> - *		function is invoked for each PCI [device] matching the
> - *		embedded PCI identifiers provided by the driver.
> - *
> - *	b, complete the initialization sequence if the device is a virtual
> - *		device by calling the rte_cryptodev_init() directly passing a
> - *		NULL parameter for the rte_pci_device structure.
> - *
> - *   @param crypto_drv	crypto_driver structure associated with the crypto
> - *					driver.
> - *   @param type		pmd type
> - */
> -extern int
> -rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,
> -		enum pmd_type type);
> -
>  /**
>   * Executes all the user application registered callbacks for the specific
>   * device.
> diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map
> index 8d0edfb..e0a9620 100644
> --- a/lib/librte_cryptodev/rte_cryptodev_version.map
> +++ b/lib/librte_cryptodev/rte_cryptodev_version.map
> @@ -14,7 +14,6 @@ DPDK_16.04 {
>  	rte_cryptodev_info_get;
>  	rte_cryptodev_pmd_allocate;
>  	rte_cryptodev_pmd_callback_process;
> -	rte_cryptodev_pmd_driver_register;
>  	rte_cryptodev_pmd_release_device;
>  	rte_cryptodev_pmd_virtual_dev_init;
>  	rte_cryptodev_sym_session_create;
NAK, you can't just remove exported symbols without going through the
deprecation process.  Better still would be to only expose it for DPDK_16.04 and
hide it in the next release

Neil

> -- 
> 2.7.4
> 
>
  
Shreyansh Jain June 22, 2016, 1:43 p.m. UTC | #2
On Wednesday 22 June 2016 06:57 PM, Neil Horman wrote:
> On Wed, Jun 22, 2016 at 02:36:28PM +0530, Shreyansh Jain wrote:
>> Now that all pdev are pci drivers, we don't need to register crypto drivers
>> through a dedicated channel.
>>
>> Signed-off-by: David Marchand <david.marchand@6wind.com>
>> Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>> ---
>>  lib/librte_cryptodev/rte_cryptodev.c           | 22 -------------------
>>  lib/librte_cryptodev/rte_cryptodev_pmd.h       | 30 --------------------------
>>  lib/librte_cryptodev/rte_cryptodev_version.map |  1 -
>>  3 files changed, 53 deletions(-)
>>
>> diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
>> index 65a2e29..a7cb33a 100644
>> --- a/lib/librte_cryptodev/rte_cryptodev.c
>> +++ b/lib/librte_cryptodev/rte_cryptodev.c
>> @@ -444,28 +444,6 @@ rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
>>  	return 0;
>>  }
>>  
>> -int
>> -rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *cryptodrv,
>> -		enum pmd_type type)
>> -{
>> -	/* Call crypto device initialization directly if device is virtual */
>> -	if (type == PMD_VDEV)
>> -		return rte_cryptodev_pci_probe((struct rte_pci_driver *)cryptodrv,
>> -				NULL);
>> -
>> -	/*
>> -	 * Register PCI driver for physical device intialisation during
>> -	 * PCI probing
>> -	 */
>> -	cryptodrv->pci_drv.devinit = rte_cryptodev_pci_probe;
>> -	cryptodrv->pci_drv.devuninit = rte_cryptodev_pci_remove;
>> -
>> -	rte_eal_pci_register(&cryptodrv->pci_drv);
>> -
>> -	return 0;
>> -}
>> -
>> -
>>  uint16_t
>>  rte_cryptodev_queue_pair_count(uint8_t dev_id)
>>  {
>> diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
>> index 3fb7c7c..99fd69e 100644
>> --- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
>> +++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
>> @@ -491,36 +491,6 @@ rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
>>  extern int
>>  rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
>>  
>> -
>> -/**
>> - * Register a Crypto [Poll Mode] driver.
>> - *
>> - * Function invoked by the initialization function of a Crypto driver
>> - * to simultaneously register itself as Crypto Poll Mode Driver and to either:
>> - *
>> - *	a - register itself as PCI driver if the crypto device is a physical
>> - *		device, by invoking the rte_eal_pci_register() function to
>> - *		register the *pci_drv* structure embedded in the *crypto_drv*
>> - *		structure, after having stored the address of the
>> - *		rte_cryptodev_init() function in the *devinit* field of the
>> - *		*pci_drv* structure.
>> - *
>> - *		During the PCI probing phase, the rte_cryptodev_init()
>> - *		function is invoked for each PCI [device] matching the
>> - *		embedded PCI identifiers provided by the driver.
>> - *
>> - *	b, complete the initialization sequence if the device is a virtual
>> - *		device by calling the rte_cryptodev_init() directly passing a
>> - *		NULL parameter for the rte_pci_device structure.
>> - *
>> - *   @param crypto_drv	crypto_driver structure associated with the crypto
>> - *					driver.
>> - *   @param type		pmd type
>> - */
>> -extern int
>> -rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,
>> -		enum pmd_type type);
>> -
>>  /**
>>   * Executes all the user application registered callbacks for the specific
>>   * device.
>> diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map
>> index 8d0edfb..e0a9620 100644
>> --- a/lib/librte_cryptodev/rte_cryptodev_version.map
>> +++ b/lib/librte_cryptodev/rte_cryptodev_version.map
>> @@ -14,7 +14,6 @@ DPDK_16.04 {
>>  	rte_cryptodev_info_get;
>>  	rte_cryptodev_pmd_allocate;
>>  	rte_cryptodev_pmd_callback_process;
>> -	rte_cryptodev_pmd_driver_register;
>>  	rte_cryptodev_pmd_release_device;
>>  	rte_cryptodev_pmd_virtual_dev_init;
>>  	rte_cryptodev_sym_session_create;
> NAK, you can't just remove exported symbols without going through the
> deprecation process.  Better still would be to only expose it for DPDK_16.04 and
> hide it in the next release

Agree. I will fix it.

> 
> Neil
> 
>> -- 
>> 2.7.4
>>
>>
>
  
Thomas Monjalon June 22, 2016, 1:44 p.m. UTC | #3
2016-06-22 09:27, Neil Horman:
> > +++ b/lib/librte_cryptodev/rte_cryptodev_version.map
> > -	rte_cryptodev_pmd_driver_register;
> NAK, you can't just remove exported symbols without going through the
> deprecation process.  Better still would be to only expose it for DPDK_16.04 and
> hide it in the next release

This function is not called by the application.
Thus there is no ABI break.
  

Patch

diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index 65a2e29..a7cb33a 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -444,28 +444,6 @@  rte_cryptodev_pci_remove(struct rte_pci_device *pci_dev)
 	return 0;
 }
 
-int
-rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *cryptodrv,
-		enum pmd_type type)
-{
-	/* Call crypto device initialization directly if device is virtual */
-	if (type == PMD_VDEV)
-		return rte_cryptodev_pci_probe((struct rte_pci_driver *)cryptodrv,
-				NULL);
-
-	/*
-	 * Register PCI driver for physical device intialisation during
-	 * PCI probing
-	 */
-	cryptodrv->pci_drv.devinit = rte_cryptodev_pci_probe;
-	cryptodrv->pci_drv.devuninit = rte_cryptodev_pci_remove;
-
-	rte_eal_pci_register(&cryptodrv->pci_drv);
-
-	return 0;
-}
-
-
 uint16_t
 rte_cryptodev_queue_pair_count(uint8_t dev_id)
 {
diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
index 3fb7c7c..99fd69e 100644
--- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
+++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
@@ -491,36 +491,6 @@  rte_cryptodev_pmd_virtual_dev_init(const char *name, size_t dev_private_size,
 extern int
 rte_cryptodev_pmd_release_device(struct rte_cryptodev *cryptodev);
 
-
-/**
- * Register a Crypto [Poll Mode] driver.
- *
- * Function invoked by the initialization function of a Crypto driver
- * to simultaneously register itself as Crypto Poll Mode Driver and to either:
- *
- *	a - register itself as PCI driver if the crypto device is a physical
- *		device, by invoking the rte_eal_pci_register() function to
- *		register the *pci_drv* structure embedded in the *crypto_drv*
- *		structure, after having stored the address of the
- *		rte_cryptodev_init() function in the *devinit* field of the
- *		*pci_drv* structure.
- *
- *		During the PCI probing phase, the rte_cryptodev_init()
- *		function is invoked for each PCI [device] matching the
- *		embedded PCI identifiers provided by the driver.
- *
- *	b, complete the initialization sequence if the device is a virtual
- *		device by calling the rte_cryptodev_init() directly passing a
- *		NULL parameter for the rte_pci_device structure.
- *
- *   @param crypto_drv	crypto_driver structure associated with the crypto
- *					driver.
- *   @param type		pmd type
- */
-extern int
-rte_cryptodev_pmd_driver_register(struct rte_cryptodev_driver *crypto_drv,
-		enum pmd_type type);
-
 /**
  * Executes all the user application registered callbacks for the specific
  * device.
diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map
index 8d0edfb..e0a9620 100644
--- a/lib/librte_cryptodev/rte_cryptodev_version.map
+++ b/lib/librte_cryptodev/rte_cryptodev_version.map
@@ -14,7 +14,6 @@  DPDK_16.04 {
 	rte_cryptodev_info_get;
 	rte_cryptodev_pmd_allocate;
 	rte_cryptodev_pmd_callback_process;
-	rte_cryptodev_pmd_driver_register;
 	rte_cryptodev_pmd_release_device;
 	rte_cryptodev_pmd_virtual_dev_init;
 	rte_cryptodev_sym_session_create;