Hi Gaetan,
On 8/29/2017 5:50 AM, Gaëtan Rivet wrote:
Hi,
On Fri, Aug 25, 2017 at 09:40:42AM +0000, Jianfeng Tan wrote:
We can call bus->plug() to avoid calling rte_vdev_init() explicitly.
Signed-off-by: Jianfeng Tan <jianfeng....@intel.com>
---
lib/librte_eal/common/eal_common_dev.c | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_dev.c
b/lib/librte_eal/common/eal_common_dev.c
index e251275..066dfbf 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -67,7 +67,6 @@ static int cmp_dev_name(const struct rte_device *dev, const
void *_name)
int rte_eal_dev_attach(const char *name, const char *devargs)
{
struct rte_bus *bus;
- int ret;
if (name == NULL || devargs == NULL) {
RTE_LOG(ERR, EAL, "Invalid device or arguments provided\n");
@@ -80,22 +79,12 @@ int rte_eal_dev_attach(const char *name, const char
*devargs)
name);
return -EINVAL;
}
- if (strcmp(bus->name, "pci") == 0)
- return rte_eal_hotplug_add("pci", name, devargs);
- if (strcmp(bus->name, "vdev") != 0) {
- RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev
devices.\n");
- return -ENOTSUP;
- }
+ if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") != 0)
It seems to be a copy / paste error, it should probably be:
+ if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") == 0)
Nice catch. Will fix it in next version.
Now, one could question the relevancy of keeping this API
(rte_eal_dev_attach / detach), but I guess this is beyond the scope of
this series.
This is a valid ask. It seems a duplication of
rte_eal_hotplug_add()/rte_eal_hotplug_remove().
Thanks,
Jianfeng
+ return rte_eal_hotplug_add(bus->name, name, devargs);
- /*
- * If we haven't found a bus device the user meant to "hotplug" a
- * virtual device instead.
- */
- ret = rte_vdev_init(name, devargs);
- if (ret)
- RTE_LOG(ERR, EAL, "Driver cannot attach the device (%s)\n",
- name);
- return ret;
+ RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev
devices.\n");
+
+ return -ENOTSUP;
}
int rte_eal_dev_detach(struct rte_device *dev)
--
2.7.4