netdevsim: move device registration on bus to be done earlier in init

As a dependency of the subsequent patch, mode device registration to be
done earlier, directly in nsim_newlink().

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jiri Pirko 2019-04-25 15:59:41 +02:00 committed by David S. Miller
parent 89eb6e0967
commit 1daf36c0db
1 changed files with 13 additions and 13 deletions

View File

@ -174,25 +174,14 @@ static int nsim_init(struct net_device *dev)
if (err)
goto err_debugfs_destroy;
ns->dev.id = nsim_dev_id++;
ns->dev.bus = &nsim_bus;
ns->dev.type = &nsim_dev_type;
err = device_register(&ns->dev);
if (err)
goto err_bpf_uninit;
SET_NETDEV_DEV(dev, &ns->dev);
err = nsim_devlink_setup(ns);
if (err)
goto err_unreg_dev;
goto err_bpf_uninit;
nsim_ipsec_init(ns);
return 0;
err_unreg_dev:
device_unregister(&ns->dev);
err_bpf_uninit:
nsim_bpf_uninit(ns);
err_debugfs_destroy:
@ -514,11 +503,22 @@ static int nsim_newlink(struct net *src_net, struct net_device *dev,
if (IS_ERR(ns->sdev))
return PTR_ERR(ns->sdev);
err = register_netdevice(dev);
ns->dev.id = nsim_dev_id++;
ns->dev.bus = &nsim_bus;
ns->dev.type = &nsim_dev_type;
err = device_register(&ns->dev);
if (err)
goto err_sdev_put;
SET_NETDEV_DEV(dev, &ns->dev);
err = register_netdevice(dev);
if (err)
goto err_unreg_dev;
return 0;
err_unreg_dev:
device_unregister(&ns->dev);
err_sdev_put:
nsim_sdev_put(ns->sdev);
return err;