[dpdk-dev] [PATCH v5 11/12] drivers: update PMDs to use rte_driver probe and remove

Ferruh Yigit ferruh.yigit at intel.com
Mon Jan 9 16:19:27 CET 2017


On 12/26/2016 1:24 PM, Shreyansh Jain wrote:
> These callbacks now act as first layer of PCI interfaces from the Bus.
> Bus probe would enter the PMDs through the rte_driver->probe/remove
> callbacks, falling to rte_xxx_driver->probe/remove (Currently, all the
> drivers are rte_pci_driver).
> 
> This patch also changes QAT which is the only crypto PMD based on PCI.
> All others would be changed in a separate patch focused on VDEV.
> 
> Signed-off-by: Shreyansh Jain <shreyansh.jain at nxp.com>
> ---
>  drivers/crypto/qat/rte_qat_cryptodev.c  | 4 ++++
>  drivers/net/bnx2x/bnx2x_ethdev.c        | 8 ++++++++
>  drivers/net/bnxt/bnxt_ethdev.c          | 4 ++++
>  drivers/net/cxgbe/cxgbe_ethdev.c        | 4 ++++
>  drivers/net/e1000/em_ethdev.c           | 4 ++++
>  drivers/net/e1000/igb_ethdev.c          | 8 ++++++++
>  drivers/net/ena/ena_ethdev.c            | 4 ++++
>  drivers/net/enic/enic_ethdev.c          | 4 ++++
>  drivers/net/fm10k/fm10k_ethdev.c        | 4 ++++
>  drivers/net/i40e/i40e_ethdev.c          | 4 ++++
>  drivers/net/i40e/i40e_ethdev_vf.c       | 4 ++++
>  drivers/net/ixgbe/ixgbe_ethdev.c        | 8 ++++++++
>  drivers/net/mlx4/mlx4.c                 | 3 ++-
>  drivers/net/mlx5/mlx5.c                 | 3 ++-
>  drivers/net/nfp/nfp_net.c               | 4 ++++
>  drivers/net/qede/qede_ethdev.c          | 8 ++++++++
>  drivers/net/szedata2/rte_eth_szedata2.c | 4 ++++
>  drivers/net/thunderx/nicvf_ethdev.c     | 4 ++++
>  drivers/net/virtio/virtio_ethdev.c      | 2 ++
>  drivers/net/vmxnet3/vmxnet3_ethdev.c    | 4 ++++
>  20 files changed, 90 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/crypto/qat/rte_qat_cryptodev.c b/drivers/crypto/qat/rte_qat_cryptodev.c
> index 1e7ee61..bc1a9c6 100644
> --- a/drivers/crypto/qat/rte_qat_cryptodev.c
> +++ b/drivers/crypto/qat/rte_qat_cryptodev.c
> @@ -120,6 +120,10 @@ crypto_qat_dev_init(__attribute__((unused)) struct rte_cryptodev_driver *crypto_
>  
>  static struct rte_cryptodev_driver rte_qat_pmd = {
>  	.pci_drv = {
> +		.driver = {
> +			.probe = rte_eal_pci_probe,
> +			.remove = rte_eal_pci_remove,
> +		},

Since this part is common for all PCI drivers, why not make this part of
RTE_PMD_REGISTER_PCI macro?

<...>



More information about the dev mailing list