Skip to content

Commit

Permalink
netdevsim: put netdevsim bus code into separate file
Browse files Browse the repository at this point in the history
As the code related to netdevsim bus is going to get bigger, move the
existing code to a separate file.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jiri Pirko authored and David S. Miller committed Apr 26, 2019
1 parent 8fb4bc6 commit 925f5af
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 13 deletions.
2 changes: 1 addition & 1 deletion drivers/net/netdevsim/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
obj-$(CONFIG_NETDEVSIM) += netdevsim.o

netdevsim-objs := \
netdev.o dev.o fib.o sdev.o
netdev.o dev.o fib.o sdev.o bus.o

ifeq ($(CONFIG_BPF_SYSCALL),y)
netdevsim-objs += \
Expand Down
24 changes: 24 additions & 0 deletions drivers/net/netdevsim/bus.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright (C) 2017 Netronome Systems, Inc.
* Copyright (C) 2019 Mellanox Technologies. All rights reserved
*/

#include <linux/device.h>

#include "netdevsim.h"

struct bus_type nsim_bus = {
.name = DRV_NAME,
.dev_name = DRV_NAME,
.num_vf = nsim_num_vf,
};

int nsim_bus_init(void)
{
return bus_register(&nsim_bus);
}

void nsim_bus_exit(void)
{
bus_unregister(&nsim_bus);
}
18 changes: 6 additions & 12 deletions drivers/net/netdevsim/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,13 @@ struct nsim_vf_config {

static struct dentry *nsim_ddir;

static int nsim_num_vf(struct device *dev)
int nsim_num_vf(struct device *dev)
{
struct netdevsim *ns = to_nsim(dev);

return ns->num_vfs;
}

static struct bus_type nsim_bus = {
.name = DRV_NAME,
.dev_name = DRV_NAME,
.num_vf = nsim_num_vf,
};

static int nsim_vfs_enable(struct netdevsim *ns, unsigned int num_vfs)
{
ns->vfconfigs = kcalloc(num_vfs, sizeof(struct nsim_vf_config),
Expand Down Expand Up @@ -544,18 +538,18 @@ static int __init nsim_module_init(void)
if (err)
goto err_debugfs_destroy;

err = bus_register(&nsim_bus);
err = nsim_bus_init();
if (err)
goto err_sdev_exit;

err = rtnl_link_register(&nsim_link_ops);
if (err)
goto err_unreg_bus;
goto err_bus_exit;

return 0;

err_unreg_bus:
bus_unregister(&nsim_bus);
err_bus_exit:
nsim_bus_exit();
err_sdev_exit:
nsim_sdev_exit();
err_debugfs_destroy:
Expand All @@ -566,7 +560,7 @@ static int __init nsim_module_init(void)
static void __exit nsim_module_exit(void)
{
rtnl_link_unregister(&nsim_link_ops);
bus_unregister(&nsim_bus);
nsim_bus_exit();
nsim_sdev_exit();
debugfs_remove_recursive(nsim_ddir);
}
Expand Down
7 changes: 7 additions & 0 deletions drivers/net/netdevsim/netdevsim.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,10 @@ static inline struct netdevsim *to_nsim(struct device *ptr)
{
return container_of(ptr, struct netdevsim, dev);
}

int nsim_num_vf(struct device *dev);

extern struct bus_type nsim_bus;

int nsim_bus_init(void);
void nsim_bus_exit(void);

0 comments on commit 925f5af

Please sign in to comment.