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 <jblu...@infradead.org>
> > 
> > This removes the now unused rte_eth_dev_pci_probe() and
> > rte_eth_dev_pci_remove() functions.
> > 
> > Signed-off-by: Jan Blunck <jblu...@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 via email to