1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */ 2 /* Copyright (c) 2019-2020 Marvell International Ltd. All rights reserved. */ 3 4 #ifndef _PRESTERA_DEVLINK_H_ 5 #define _PRESTERA_DEVLINK_H_ 6 7 #include "prestera.h" 8 9 struct prestera_switch *prestera_devlink_alloc(struct prestera_device *dev); 10 void prestera_devlink_free(struct prestera_switch *sw); 11 12 void prestera_devlink_register(struct prestera_switch *sw); 13 void prestera_devlink_unregister(struct prestera_switch *sw); 14 15 int prestera_devlink_port_register(struct prestera_port *port); 16 void prestera_devlink_port_unregister(struct prestera_port *port); 17 18 void prestera_devlink_port_set(struct prestera_port *port); 19 void prestera_devlink_port_clear(struct prestera_port *port); 20 21 struct devlink_port *prestera_devlink_get_port(struct net_device *dev); 22 23 void prestera_devlink_trap_report(struct prestera_port *port, 24 struct sk_buff *skb, u8 cpu_code); 25 int prestera_devlink_traps_register(struct prestera_switch *sw); 26 void prestera_devlink_traps_unregister(struct prestera_switch *sw); 27 28 #endif /* _PRESTERA_DEVLINK_H_ */ 29