19dd43aa2SAndrew Lunn /* SPDX-License-Identifier: GPL-2.0-or-later */
29dd43aa2SAndrew Lunn 
39dd43aa2SAndrew Lunn /* Marvell 88E6xxx Switch devlink support. */
49dd43aa2SAndrew Lunn 
59dd43aa2SAndrew Lunn #ifndef _MV88E6XXX_DEVLINK_H
69dd43aa2SAndrew Lunn #define _MV88E6XXX_DEVLINK_H
79dd43aa2SAndrew Lunn 
89dd43aa2SAndrew Lunn int mv88e6xxx_setup_devlink_params(struct dsa_switch *ds);
99dd43aa2SAndrew Lunn void mv88e6xxx_teardown_devlink_params(struct dsa_switch *ds);
109dd43aa2SAndrew Lunn int mv88e6xxx_setup_devlink_resources(struct dsa_switch *ds);
119dd43aa2SAndrew Lunn int mv88e6xxx_devlink_param_get(struct dsa_switch *ds, u32 id,
129dd43aa2SAndrew Lunn 				struct devlink_param_gset_ctx *ctx);
139dd43aa2SAndrew Lunn int mv88e6xxx_devlink_param_set(struct dsa_switch *ds, u32 id,
149dd43aa2SAndrew Lunn 				struct devlink_param_gset_ctx *ctx);
15*fd292c18SVladimir Oltean int mv88e6xxx_setup_devlink_regions_global(struct dsa_switch *ds);
16*fd292c18SVladimir Oltean void mv88e6xxx_teardown_devlink_regions_global(struct dsa_switch *ds);
17*fd292c18SVladimir Oltean int mv88e6xxx_setup_devlink_regions_port(struct dsa_switch *ds, int port);
18*fd292c18SVladimir Oltean void mv88e6xxx_teardown_devlink_regions_port(struct dsa_switch *ds, int port);
199dd43aa2SAndrew Lunn 
2093157307SAndrew Lunn int mv88e6xxx_devlink_info_get(struct dsa_switch *ds,
2193157307SAndrew Lunn 			       struct devlink_info_req *req,
2293157307SAndrew Lunn 			       struct netlink_ext_ack *extack);
239dd43aa2SAndrew Lunn #endif /* _MV88E6XXX_DEVLINK_H */
24