DPDK patches and discussions
 help / color / mirror / Atom feed
From: Neil Horman <nhorman@tuxdriver.com>
To: Gaetan Rivet <gaetan.rivet@6wind.com>
Cc: dev@dpdk.org, Jan Blunck <jblunck@infradead.org>
Subject: Re: [dpdk-dev] [PATCH v2 38/42] ethdev: remove unused ethdev PCI probe/remove
Date: Wed, 12 Apr 2017 07:28:51 -0400	[thread overview]
Message-ID: <20170412112851.GB8797@hmswarspite.think-freely.org> (raw)
In-Reply-To: <20170412112426.GA8797@hmswarspite.think-freely.org>

On Wed, Apr 12, 2017 at 07:24:26AM -0400, Neil Horman wrote:
> On Tue, Apr 11, 2017 at 05:44:45PM +0200, Gaetan Rivet wrote:
> > From: Jan Blunck <jblunck@infradead.org>
> > 
> > This removes the now unused rte_eth_dev_pci_probe() and
> > rte_eth_dev_pci_remove() functions.
> > 
> > Signed-off-by: Jan Blunck <jblunck@infradead.org>
> > ---
> >  lib/librte_ether/rte_ethdev.c          | 97 ----------------------------------
> >  lib/librte_ether/rte_ethdev.h          | 15 ------
> >  lib/librte_ether/rte_ethdev_pci.h      | 10 ++++
> >  lib/librte_ether/rte_ether_version.map | 10 +---
> >  4 files changed, 11 insertions(+), 121 deletions(-)
> > 
> > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> > index 6ed2321..5bb016d 100644
> > --- a/lib/librte_ether/rte_ethdev.c
> > +++ b/lib/librte_ether/rte_ethdev.c
> > @@ -285,103 +285,6 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
> >  }
> >  
> >  int
> > -rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
> > -		      struct rte_pci_device *pci_dev)
> > -{
> > -	struct eth_driver    *eth_drv;
> > -	struct rte_eth_dev *eth_dev;
> > -	char ethdev_name[RTE_ETH_NAME_MAX_LEN];
> > -
> > -	int diag;
> > -
> > -	eth_drv = (struct eth_driver *)pci_drv;
> > -
> > -	rte_eal_pci_device_name(&pci_dev->addr, ethdev_name,
> > -			sizeof(ethdev_name));
> > -
> > -	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
> > -		eth_dev = rte_eth_dev_allocate(ethdev_name);
> > -		if (eth_dev == NULL)
> > -			return -ENOMEM;
> > -
> > -		eth_dev->data->dev_private = rte_zmalloc("ethdev private structure",
> > -				  eth_drv->dev_private_size,
> > -				  RTE_CACHE_LINE_SIZE);
> > -		if (eth_dev->data->dev_private == NULL)
> > -			rte_panic("Cannot allocate memzone for private port data\n");
> > -	} else {
> > -		eth_dev = rte_eth_dev_attach_secondary(ethdev_name);
> > -		if (eth_dev == NULL) {
> > -			/*
> > -			 * if we failed to attach a device, it means the
> > -			 * device is skipped in primary process, due to
> > -			 * some errors. If so, we return a positive value,
> > -			 * to let EAL skip it for the secondary process
> > -			 * as well.
> > -			 */
> > -			return 1;
> > -		}
> > -	}
> > -	eth_dev->device = &pci_dev->device;
> > -	eth_dev->intr_handle = &pci_dev->intr_handle;
> > -	eth_dev->driver = eth_drv;
> > -
> > -	/* Invoke PMD device initialization function */
> > -	diag = (*eth_drv->eth_dev_init)(eth_dev);
> > -	if (diag == 0)
> > -		return 0;
> > -
> > -	RTE_PMD_DEBUG_TRACE("driver %s: eth_dev_init(vendor_id=0x%x device_id=0x%x) failed\n",
> > -			pci_drv->driver.name,
> > -			(unsigned) pci_dev->id.vendor_id,
> > -			(unsigned) pci_dev->id.device_id);
> > -	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
> > -		rte_free(eth_dev->data->dev_private);
> > -	rte_eth_dev_release_port(eth_dev);
> > -	return diag;
> > -}
> > -
> > -int
> > -rte_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
> > -{
> > -	const struct eth_driver *eth_drv;
> > -	struct rte_eth_dev *eth_dev;
> > -	char ethdev_name[RTE_ETH_NAME_MAX_LEN];
> > -	int ret;
> > -
> > -	if (pci_dev == NULL)
> > -		return -EINVAL;
> > -
> > -	rte_eal_pci_device_name(&pci_dev->addr, ethdev_name,
> > -			sizeof(ethdev_name));
> > -
> > -	eth_dev = rte_eth_dev_allocated(ethdev_name);
> > -	if (eth_dev == NULL)
> > -		return -ENODEV;
> > -
> > -	eth_drv = (const struct eth_driver *)pci_dev->driver;
> > -
> > -	/* Invoke PMD device uninit function */
> > -	if (*eth_drv->eth_dev_uninit) {
> > -		ret = (*eth_drv->eth_dev_uninit)(eth_dev);
> > -		if (ret)
> > -			return ret;
> > -	}
> > -
> > -	/* free ether device */
> > -	rte_eth_dev_release_port(eth_dev);
> > -
> > -	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
> > -		rte_free(eth_dev->data->dev_private);
> > -
> > -	eth_dev->device = NULL;
> > -	eth_dev->driver = NULL;
> > -	eth_dev->data = NULL;
> > -
> > -	return 0;
> > -}
> > -
> > -int
> >  rte_eth_dev_is_valid_port(uint8_t port_id)
> >  {
> >  	if (port_id >= RTE_MAX_ETHPORTS ||
> > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
> > index 8cd1a11..abef70f 100644
> > --- a/lib/librte_ether/rte_ethdev.h
> > +++ b/lib/librte_ether/rte_ethdev.h
> > @@ -4608,21 +4608,6 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id);
> >  int
> >  rte_eth_dev_get_name_by_port(uint8_t port_id, char *name);
> >  
> > -/**
> > - * @internal
> > - * Wrapper for use by pci drivers as a .probe function to attach to a ethdev
> > - * interface.
> > - */
> > -int rte_eth_dev_pci_probe(struct rte_pci_driver *pci_drv,
> > -			  struct rte_pci_device *pci_dev);
> > -
> > -/**
> > - * @internal
> > - * Wrapper for use by pci drivers as a .remove function to detach a ethdev
> > - * interface.
> > - */
> > -int rte_eth_dev_pci_remove(struct rte_pci_device *pci_dev);
> > -
> >  #ifdef __cplusplus
> >  }
> >  #endif
> > diff --git a/lib/librte_ether/rte_ethdev_pci.h b/lib/librte_ether/rte_ethdev_pci.h
> > index 4b728db..fe62589 100644
> > --- a/lib/librte_ether/rte_ethdev_pci.h
> > +++ b/lib/librte_ether/rte_ethdev_pci.h
> > @@ -108,6 +108,11 @@ rte_eth_dev_pci_release(struct rte_eth_dev *eth_dev)
> >  
> >  typedef int (*eth_dev_pci_callback_t)(struct rte_eth_dev *eth_dev);
> >  
> > +/**
> > + * @internal
> > + * Wrapper for use by pci drivers in a .probe function to attach to a ethdev
> > + * interface.
> > + */
> >  static inline int
> >  rte_eth_dev_pci_generic_probe(struct rte_pci_device *pci_dev,
> >  	size_t private_data_size, eth_dev_pci_callback_t dev_init)
> > @@ -127,6 +132,11 @@ rte_eth_dev_pci_generic_probe(struct rte_pci_device *pci_dev,
> >  	return ret;
> >  }
> >  
> > +/**
> > + * @internal
> > + * Wrapper for use by pci drivers in a .remove function to detach a ethdev
> > + * interface.
> > + */
> >  static inline int
> >  rte_eth_dev_pci_generic_remove(struct rte_pci_device *pci_dev,
> >  	eth_dev_pci_callback_t dev_uninit)
> > diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
> > index f2bed58..b95312f 100644
> > --- a/lib/librte_ether/rte_ether_version.map
> > +++ b/lib/librte_ether/rte_ether_version.map
> > @@ -134,14 +134,6 @@ DPDK_16.07 {
> >  
> >  } DPDK_16.04;
> >  
> > -DPDK_16.11 {
> > -	global:
> > -
> > -	rte_eth_dev_pci_probe;
> > -	rte_eth_dev_pci_remove;
> > -
> > -} DPDK_16.07;
> > -
> >  DPDK_17.02 {
> >  	global:
> >  
> > @@ -153,7 +145,7 @@ DPDK_17.02 {
> >  	rte_flow_query;
> >  	rte_flow_validate;
> >  
> > -} DPDK_16.11;
> > +} DPDK_16.07;
> >  
> >  DPDK_17.05 {
> >  	global:
> > -- 
> > 2.1.4
> > 
> > 
> 
> given that this was an exported function, there may be other application out
> there using this method.  You need to go through the deprecation process before
> this can be integrated.
> 
> Neil
> 
> 
Scratch that, was looking at an old version of the deprecation file, this has
already been announced.

Neil

  reply	other threads:[~2017-04-12 11:29 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-06  9:59 [dpdk-dev] [PATCH 00/38] Remove struct eth_driver Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 01/38] eal: add name field to generic device Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 02/38] eal: parse "driver" device argument before probing drivers Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 03/38] net/nfp: use library function for DMA zone reserve Jan Blunck
2017-03-10  7:03   ` Shreyansh Jain
2017-03-10  7:20     ` Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 04/38] net/vmxnet3: " Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 05/38] ether: add allocation helper for virtual drivers Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 06/38] net/tap: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06  9:59 ` [dpdk-dev] [PATCH 07/38] net/vhost: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 08/38] net/virtio: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 09/38] net/af_packet: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 10/38] app/test: don't short-circuit null device creation Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 11/38] net/null: internalize eth_dev_null_create() Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 12/38] net/null: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 13/38] net/bonding: make bonding API call through EAL on create/free Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 14/38] net/bonding: use ethdev allocation helper for virtual devices Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 15/38] ethdev: add PCI driver helpers Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 16/38] net/virtio: Don't use eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 17/38] net/bnx2x: " Jan Blunck
2017-03-06 19:32   ` Harish Patil
2017-03-06 10:00 ` [dpdk-dev] [PATCH 18/38] net/bnxt: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 19/38] net/cxgbe: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 20/38] net/em: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 21/38] net/igb: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 22/38] net/ena: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 23/38] net/enic: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 24/38] net/fm10k: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 25/38] net/i40e: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 26/38] net/i40evf: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 27/38] net/ixgbe: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 28/38] net/mlx: Don't reference eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 29/38] net/nfp: Don't use eth_driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 30/38] net/qede: " Jan Blunck
2017-03-06 19:33   ` Harish Patil
2017-03-06 10:00 ` [dpdk-dev] [PATCH 31/38] net/sfc: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 32/38] net/szedata2: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 33/38] net/thunderx: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 34/38] net/vmxnet3: " Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 35/38] ethdev: remove unused ethdev PCI probe/remove Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 36/38] ethdev: remove unused ethdev driver Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 37/38] ethdev: remove PCI specific helper from generic ethdev header Jan Blunck
2017-03-06 10:00 ` [dpdk-dev] [PATCH 38/38] ethdev: don't include PCI header Jan Blunck
2017-03-23 15:34 ` [dpdk-dev] [PATCH 00/38] Remove struct eth_driver Stephen Hemminger
2017-03-25 10:50   ` Jan Blunck
2017-04-11 15:44 ` [dpdk-dev] [PATCH v2 00/42] " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 01/42] eal: add name field to generic device Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 02/42] eal: parse "driver" device argument before probing drivers Gaetan Rivet
2017-05-10  2:34     ` Ferruh Yigit
2017-05-10 11:01       ` Ferruh Yigit
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 03/42] net/nfp: use library function for DMA zone reserve Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 04/42] ether: add allocation helper for virtual drivers Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 05/42] net/tap: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 06/42] net/vhost: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 07/42] net/virtio: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 08/42] net/af_packet: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 09/42] app/test: don't short-circuit null device creation Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 10/42] net/null: internalize eth_dev_null_create() Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 11/42] net/null: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 12/42] net/bonding: make bonding API call through EAL on create/free Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 13/42] net/bonding: use ethdev allocation helper for virtual devices Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 14/42] net/kni: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 15/42] net/pcap: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 16/42] ethdev: add PCI driver helpers Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 17/42] net/virtio: Don't use eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 18/42] net/bnx2x: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 19/42] net/bnxt: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 20/42] net/cxgbe: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 21/42] net/em: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 22/42] net/igb: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 23/42] net/ena: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 24/42] net/enic: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 25/42] net/fm10k: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 26/42] net/i40e: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 27/42] net/i40evf: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 28/42] net/ixgbe: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 29/42] net/mlx: Don't reference eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 30/42] net/nfp: Don't use eth_driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 31/42] net/qede: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 32/42] net/sfc: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 33/42] net/szedata2: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 34/42] net/thunderx: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 35/42] net/vmxnet3: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 36/42] net/avp: " Gaetan Rivet
2017-04-11 18:48     ` Legacy, Allain
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 37/42] net/liquidio: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 38/42] ethdev: remove unused ethdev PCI probe/remove Gaetan Rivet
2017-04-12 11:24     ` Neil Horman
2017-04-12 11:28       ` Neil Horman [this message]
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 39/42] ethdev: remove unused ethdev driver Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 40/42] test: " Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 41/42] ethdev: remove PCI specific helper from generic ethdev header Gaetan Rivet
2017-04-11 15:44   ` [dpdk-dev] [PATCH v2 42/42] ethdev: don't include PCI header Gaetan Rivet
2017-04-12 16:25   ` [dpdk-dev] [PATCH v2 00/42] Remove struct eth_driver Stephen Hemminger
2017-04-14 13:09     ` Thomas Monjalon
2017-04-18 18:27       ` [dpdk-dev] [PATCH 0/2] next-net: remove ethdev driver Ferruh Yigit
2017-04-18 18:27         ` [dpdk-dev] [PATCH 1/2] net/ark: remove eth_dev Ferruh Yigit
2017-04-18 19:24           ` Ed Czeck
2017-04-19 10:03             ` Ferruh Yigit
2017-04-18 18:27         ` [dpdk-dev] [PATCH 2/2] net/xenvirt: remove ethdev driver Ferruh Yigit
2017-04-19  9:52           ` [dpdk-dev] [PATCH v2] net/xenvirt: fix build error Ferruh Yigit
2017-04-19 12:12             ` Thomas Monjalon
2017-04-18 18:38         ` [dpdk-dev] [PATCH 0/2] next-net: remove ethdev driver Ferruh Yigit
2017-04-19 11:37         ` Shreyansh Jain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170412112851.GB8797@hmswarspite.think-freely.org \
    --to=nhorman@tuxdriver.com \
    --cc=dev@dpdk.org \
    --cc=gaetan.rivet@6wind.com \
    --cc=jblunck@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).