GNU Linux-libre 6.8.9-gnu
[releases.git] / drivers / net / dsa / mv88e6xxx / devlink.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 /* Marvell 88E6xxx Switch devlink support. */
4
5 #ifndef _MV88E6XXX_DEVLINK_H
6 #define _MV88E6XXX_DEVLINK_H
7
8 int mv88e6xxx_setup_devlink_params(struct dsa_switch *ds);
9 void mv88e6xxx_teardown_devlink_params(struct dsa_switch *ds);
10 int mv88e6xxx_setup_devlink_resources(struct dsa_switch *ds);
11 int mv88e6xxx_devlink_param_get(struct dsa_switch *ds, u32 id,
12                                 struct devlink_param_gset_ctx *ctx);
13 int mv88e6xxx_devlink_param_set(struct dsa_switch *ds, u32 id,
14                                 struct devlink_param_gset_ctx *ctx);
15 int mv88e6xxx_setup_devlink_regions_global(struct dsa_switch *ds);
16 void mv88e6xxx_teardown_devlink_regions_global(struct dsa_switch *ds);
17 int mv88e6xxx_setup_devlink_regions_port(struct dsa_switch *ds, int port);
18 void mv88e6xxx_teardown_devlink_regions_port(struct dsa_switch *ds, int port);
19
20 int mv88e6xxx_devlink_info_get(struct dsa_switch *ds,
21                                struct devlink_info_req *req,
22                                struct netlink_ext_ack *extack);
23 #endif /* _MV88E6XXX_DEVLINK_H */