[dpdk-dev] [PATCH v2 05/20] ring: remove pci device driver
Bernard Iremonger
bernard.iremonger at intel.com
Mon Oct 5 12:30:20 CEST 2015
remove rte_ring_pmd and pci_dev.
initialise dev_flags, driver, drv_name, kdrv and numa_node fields in eth_dev data.
Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
---
drivers/net/ring/rte_eth_ring.c | 37 ++++++++-----------------------------
1 file changed, 8 insertions(+), 29 deletions(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 0ba36d5..65608b2 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -44,8 +44,6 @@
#define ETH_RING_ACTION_CREATE "CREATE"
#define ETH_RING_ACTION_ATTACH "ATTACH"
-static const char *ring_ethdev_driver_name = "Ring PMD";
-
static const char *valid_arguments[] = {
ETH_RING_NUMA_NODE_ACTION_ARG,
NULL
@@ -252,15 +250,6 @@ static const struct eth_dev_ops ops = {
.mac_addr_add = eth_mac_addr_add,
};
-static struct eth_driver rte_ring_pmd = {
- .pci_drv = {
- .name = "rte_ring_pmd",
- .drv_flags = RTE_PCI_DRV_DETACHABLE,
- },
-};
-
-static struct rte_pci_id id_table;
-
int
rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
const unsigned nb_rx_queues,
@@ -269,7 +258,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
const unsigned numa_node)
{
struct rte_eth_dev_data *data = NULL;
- struct rte_pci_device *pci_dev = NULL;
struct pmd_internals *internals = NULL;
struct rte_eth_dev *eth_dev = NULL;
@@ -291,10 +279,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
if (data == NULL)
goto error;
- pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
- if (pci_dev == NULL)
- goto error;
-
internals = rte_zmalloc_socket(name, sizeof(*internals), 0, numa_node);
if (internals == NULL)
goto error;
@@ -304,11 +288,10 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
if (eth_dev == NULL)
goto error;
-
/* now put it all together
* - store queue data in internals,
- * - store numa_node info in pci_driver
- * - point eth_dev_data to internals and pci_driver
+ * - store numa_node info in eth_dev_data
+ * - point eth_dev_data to internals
* - and point eth_dev structure to new eth_dev_data structure
*/
/* NOTE: we'll replace the data element, of originally allocated eth_dev
@@ -323,12 +306,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
internals->tx_ring_queues[i].rng = tx_queues[i];
}
- rte_ring_pmd.pci_drv.name = ring_ethdev_driver_name;
- rte_ring_pmd.pci_drv.id_table = &id_table;
-
- pci_dev->numa_node = numa_node;
- pci_dev->driver = &rte_ring_pmd.pci_drv;
-
data->dev_private = internals;
data->port_id = eth_dev->data->port_id;
memmove(data->name, eth_dev->data->name, sizeof(data->name));
@@ -338,9 +315,13 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
data->mac_addrs = &internals->address;
eth_dev->data = data;
- eth_dev->driver = &rte_ring_pmd;
+ eth_dev->driver = NULL;
eth_dev->dev_ops = &ops;
- eth_dev->pci_dev = pci_dev;
+ eth_dev->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
+ eth_dev->data->kdrv = RTE_KDRV_NONE;
+ eth_dev->data->drv_name = NULL;
+ eth_dev->data->numa_node = numa_node;
+
TAILQ_INIT(&(eth_dev->link_intr_cbs));
/* finally assign rx and tx ops */
@@ -351,7 +332,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
error:
rte_free(data);
- rte_free(pci_dev);
rte_free(internals);
return -1;
@@ -561,7 +541,6 @@ rte_pmd_ring_devuninit(const char *name)
eth_dev_stop(eth_dev);
rte_free(eth_dev->data->dev_private);
rte_free(eth_dev->data);
- rte_free(eth_dev->pci_dev);
rte_eth_dev_release_port(eth_dev);
return 0;
--
1.9.1
More information about the dev
mailing list