ethdev: export allocate function
authorIntel <intel.com>
Wed, 18 Sep 2013 10:00:00 +0000 (12:00 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 9 Oct 2013 14:16:14 +0000 (16:16 +0200)
The function rte_eth_dev_allocate() was called by rte_eth_dev_init().
In order to use it for non-pci devices, it is now in public API.

Signed-off-by: Intel
lib/librte_ether/rte_ethdev.c
lib/librte_ether/rte_ethdev.h

index 2fc2806..4192811 100644 (file)
@@ -152,7 +152,7 @@ rte_eth_dev_data_alloc(void)
                                RTE_MAX_ETHPORTS * sizeof(*rte_eth_dev_data));
 }
 
-static inline struct rte_eth_dev *
+struct rte_eth_dev *
 rte_eth_dev_allocate(void)
 {
        struct rte_eth_dev *eth_dev;
index 524ef4f..cd4d91e 100644 (file)
@@ -1134,6 +1134,17 @@ extern struct rte_eth_dev rte_eth_devices[];
  */
 extern uint8_t rte_eth_dev_count(void);
 
+/**
+ * Function for internal use by dummy drivers primarily, e.g. ring-based
+ * driver.
+ * Allocates a new ethdev slot for an ethernet device and returns the pointer
+ * to that slot for the driver to use.
+ *
+ * @return
+ *   - Slot in the rte_dev_devices array for a new device;
+ */
+struct rte_eth_dev *rte_eth_dev_allocate(void);
+
 struct eth_driver;
 /**
  * @internal