From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Horman Subject: Re: [PATCH v2 38/42] ethdev: remove unused ethdev PCI probe/remove Date: Wed, 12 Apr 2017 07:28:51 -0400 Message-ID: <20170412112851.GB8797@hmswarspite.think-freely.org> References: <20170412112426.GA8797@hmswarspite.think-freely.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Jan Blunck To: Gaetan Rivet Return-path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 0B60B3005 for ; Wed, 12 Apr 2017 13:29:06 +0200 (CEST) Content-Disposition: inline In-Reply-To: <20170412112426.GA8797@hmswarspite.think-freely.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 > > > > This removes the now unused rte_eth_dev_pci_probe() and > > rte_eth_dev_pci_remove() functions. > > > > Signed-off-by: Jan Blunck > > --- > > 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