From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wes1-so2.wedos.net (wes1-so2.wedos.net [46.28.106.16]) by dpdk.org (Postfix) with ESMTP id 335B97EEF for ; Tue, 9 Feb 2016 18:04:34 +0100 (CET) Received: from pcviktorin.fit.vutbr.cz (pcviktorin.fit.vutbr.cz [147.229.13.147]) by wes1-so2.wedos.net (Postfix) with ESMTPSA id 3q09Ys6RmZzD0F; Tue, 9 Feb 2016 18:04:33 +0100 (CET) Date: Tue, 9 Feb 2016 18:05:55 +0100 From: "Jan Viktorin" To: David Marchand Message-ID: <20160209180555.3ad379cf@pcviktorin.fit.vutbr.cz> In-Reply-To: <1454076516-21591-4-git-send-email-david.marchand@6wind.com> References: <1454076516-21591-1-git-send-email-david.marchand@6wind.com> <1454076516-21591-4-git-send-email-david.marchand@6wind.com> Organization: RehiveTech MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH 3/9] drivers: no more pdev drivers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Feb 2016 17:04:34 -0000 Maybe, a better subject? drivers: init pdev drivers in constructors On Fri, 29 Jan 2016 15:08:30 +0100 David Marchand 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 > --- > 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