mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
netdevsim: implement dev probe/remove skeleton with port initialization
Implement netdevsim bus probing of netdevsim devices. For every probed device create a devlink instance. According to the user-passed value, create a number of ports represented by devlink port instances. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
ab1d0cc004
commit
8320d14591
@@ -74,7 +74,6 @@ static void nsim_free(struct net_device *dev)
|
||||
{
|
||||
struct netdevsim *ns = netdev_priv(dev);
|
||||
|
||||
nsim_dev_destroy(ns->nsim_dev);
|
||||
nsim_bus_dev_del(ns->nsim_bus_dev);
|
||||
/* netdev and vf state will be freed out of device_release() */
|
||||
}
|
||||
@@ -364,26 +363,20 @@ static int nsim_newlink(struct net *src_net, struct net_device *dev,
|
||||
struct netdevsim *ns = netdev_priv(dev);
|
||||
int err;
|
||||
|
||||
ns->nsim_bus_dev = nsim_bus_dev_new(~0, 0);
|
||||
ns->netdev = dev;
|
||||
ns->nsim_bus_dev = nsim_bus_dev_new_with_ns(ns);
|
||||
if (IS_ERR(ns->nsim_bus_dev))
|
||||
return PTR_ERR(ns->nsim_bus_dev);
|
||||
|
||||
SET_NETDEV_DEV(dev, &ns->nsim_bus_dev->dev);
|
||||
ns->netdev = dev;
|
||||
|
||||
ns->nsim_dev = nsim_dev_create_with_ns(ns->nsim_bus_dev, ns);
|
||||
if (IS_ERR(ns->nsim_dev)) {
|
||||
err = PTR_ERR(ns->nsim_dev);
|
||||
goto err_dev_del;
|
||||
}
|
||||
ns->nsim_dev = dev_get_drvdata(&ns->nsim_bus_dev->dev);
|
||||
|
||||
err = register_netdevice(dev);
|
||||
if (err)
|
||||
goto err_dev_destroy;
|
||||
goto err_dev_del;
|
||||
return 0;
|
||||
|
||||
err_dev_destroy:
|
||||
nsim_dev_destroy(ns->nsim_dev);
|
||||
err_dev_del:
|
||||
nsim_bus_dev_del(ns->nsim_bus_dev);
|
||||
return err;
|
||||
|
||||
Reference in New Issue
Block a user