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 */
24