X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fring%2Frte_eth_ring.c;h=cc60008c9165bbab493b9760a178cea4a6cacb22;hb=32b12e75679230b1104b9e6547a1ff3c4a360e05;hp=d851f9e28d5be9d8ad0eb7b64bb68853db92508d;hpb=f3a0daf3473f1aec9ae60a8744404a0fcb1593be;p=dpdk.git diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index d851f9e28d..cc60008c91 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -46,8 +46,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 @@ -254,15 +252,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, @@ -271,7 +260,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; @@ -317,12 +305,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], goto error; } - pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node); - if (pci_dev == NULL) { - rte_errno = ENOMEM; - goto error; - } - internals = rte_zmalloc_socket(name, sizeof(*internals), 0, numa_node); if (internals == NULL) { rte_errno = ENOMEM; @@ -336,11 +318,10 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], 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 @@ -357,12 +338,6 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], data->tx_queues[i] = &internals->tx_ring_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)); @@ -372,9 +347,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 = drivername; + eth_dev->data->numa_node = numa_node; + TAILQ_INIT(&(eth_dev->link_intr_cbs)); /* finally assign rx and tx ops */ @@ -387,7 +366,6 @@ error: rte_free(data->rx_queues); rte_free(data->tx_queues); rte_free(data); - rte_free(pci_dev); rte_free(internals); return -1; @@ -604,7 +582,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;