[dpdk-dev] [PATCH 3/9] drivers: no more pdev drivers

Jan Viktorin viktorin at rehivetech.com
Tue Feb 9 18:05:55 CET 2016


Maybe, a better subject?

drivers: init pdev drivers in constructors

On Fri, 29 Jan 2016 15:08:30 +0100
David Marchand <david.marchand at 6wind.com> wrote:

> Now that pdev drivers have been converted to pci drivers, there is nothing
> left in their init functions that can't go in a constructor.
> pdev / vdev drivers init order is changed by this commit, but I can't see
> why we would need to preserve it.
> 
> Signed-off-by: David Marchand <david.marchand at 6wind.com>
> ---
>  drivers/crypto/qat/rte_qat_cryptodev.c | 13 +++---------
>  drivers/net/bnx2x/bnx2x_ethdev.c       | 26 +++---------------------
>  drivers/net/cxgbe/cxgbe_ethdev.c       | 19 +++---------------
>  drivers/net/e1000/em_ethdev.c          | 13 +++---------
>  drivers/net/e1000/igb_ethdev.c         | 34 ++++----------------------------
>  drivers/net/enic/enic_ethdev.c         | 18 +++--------------
>  drivers/net/fm10k/fm10k_ethdev.c       | 19 +++---------------
>  drivers/net/i40e/i40e_ethdev.c         | 19 +++---------------
>  drivers/net/i40e/i40e_ethdev_vf.c      | 19 +++---------------
>  drivers/net/ixgbe/ixgbe_ethdev.c       | 36 +++-------------------------------
>  drivers/net/mlx4/mlx4.c                | 19 +++---------------
>  drivers/net/mlx5/mlx5.c                | 19 +++---------------
>  drivers/net/nfp/nfp_net.c              | 14 +++----------
>  drivers/net/virtio/virtio_ethdev.c     | 22 ++++-----------------
>  drivers/net/vmxnet3/vmxnet3_ethdev.c   | 18 +++--------------
>  15 files changed, 47 insertions(+), 261 deletions(-)
> 
> diff --git a/drivers/crypto/qat/rte_qat_cryptodev.c b/drivers/crypto/qat/rte_qat_cryptodev.c
> index 6853aee..ded5d60 100644
> --- a/drivers/crypto/qat/rte_qat_cryptodev.c
> +++ b/drivers/crypto/qat/rte_qat_cryptodev.c
> @@ -124,17 +124,10 @@ static struct rte_cryptodev_driver rte_qat_pmd = {
>  	.dev_private_size = sizeof(struct qat_pmd_private),
>  };
>  
> -static int
> -rte_qat_pmd_init(const char *name __rte_unused, const char *params __rte_unused)
> +/* Driver registration */
> +static void __attribute__((constructor, used))
> +rte_qat_pmd_init(void)
>  {
>  	PMD_INIT_FUNC_TRACE();
>  	rte_eal_pci_register(&rte_qat_pmd.pci_drv);
> -	return 0;
>  }
> -
> -static struct rte_driver pmd_qat_drv = {
> -	.type = PMD_PDEV,
> -	.init = rte_qat_pmd_init,
> -};
> -
> -PMD_REGISTER_DRIVER(pmd_qat_drv);

What about introducing a macro for this?

RTE_REGISTER_PCI_DRIVER(rte_qad_pmd);

Regards
Jan


More information about the dev mailing list