net/funeth: devlink support

The devlink part, which is minimal at this time giving just the driver
name.

Signed-off-by: Dimitris Michailidis <dmichail@fungible.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Dimitris Michailidis 2022-02-24 18:58:59 -08:00 committed by David S. Miller
parent 21c5ea95da
commit d1d899f244
2 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,40 @@
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
#include "funeth.h"
#include "funeth_devlink.h"
static int fun_dl_info_get(struct devlink *dl, struct devlink_info_req *req,
struct netlink_ext_ack *extack)
{
int err;
err = devlink_info_driver_name_put(req, KBUILD_MODNAME);
if (err)
return err;
return 0;
}
static const struct devlink_ops fun_dl_ops = {
.info_get = fun_dl_info_get,
};
struct devlink *fun_devlink_alloc(struct device *dev)
{
return devlink_alloc(&fun_dl_ops, sizeof(struct fun_ethdev), dev);
}
void fun_devlink_free(struct devlink *devlink)
{
devlink_free(devlink);
}
void fun_devlink_register(struct devlink *devlink)
{
devlink_register(devlink);
}
void fun_devlink_unregister(struct devlink *devlink)
{
devlink_unregister(devlink);
}

View file

@ -0,0 +1,13 @@
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
#ifndef __FUNETH_DEVLINK_H
#define __FUNETH_DEVLINK_H
#include <net/devlink.h>
struct devlink *fun_devlink_alloc(struct device *dev);
void fun_devlink_free(struct devlink *devlink);
void fun_devlink_register(struct devlink *devlink);
void fun_devlink_unregister(struct devlink *devlink);
#endif /* __FUNETH_DEVLINK_H */