From: Jiri Pirko <j...@mellanox.com>

In order to bus probing to work correctly, register a simple  netdevsim
driver implementation.

Signed-off-by: Jiri Pirko <j...@mellanox.com>
---
 drivers/net/netdevsim/bus.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/net/netdevsim/bus.c b/drivers/net/netdevsim/bus.c
index 7e83a2e856d3..5b5a9b0831a9 100644
--- a/drivers/net/netdevsim/bus.c
+++ b/drivers/net/netdevsim/bus.c
@@ -153,12 +153,31 @@ void nsim_bus_dev_del(struct nsim_bus_dev *nsim_bus_dev)
        kfree(nsim_bus_dev);
 }
 
+static struct device_driver nsim_driver = {
+       .name           = DRV_NAME,
+       .bus            = &nsim_bus,
+       .owner          = THIS_MODULE,
+};
+
 int nsim_bus_init(void)
 {
-       return bus_register(&nsim_bus);
+       int err;
+
+       err = bus_register(&nsim_bus);
+       if (err)
+               return err;
+       err = driver_register(&nsim_driver);
+       if (err)
+               goto err_bus_unregister;
+       return 0;
+
+err_bus_unregister:
+       bus_unregister(&nsim_bus);
+       return err;
 }
 
 void nsim_bus_exit(void)
 {
+       driver_unregister(&nsim_driver);
        bus_unregister(&nsim_bus);
 }
-- 
2.17.2

Reply via email to