162306a36Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright (c) 2019-2020 Marvell International Ltd. All rights reserved. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _PRESTERA_DEVLINK_H_
562306a36Sopenharmony_ci#define _PRESTERA_DEVLINK_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "prestera.h"
862306a36Sopenharmony_ci
962306a36Sopenharmony_cistruct prestera_switch *prestera_devlink_alloc(struct prestera_device *dev);
1062306a36Sopenharmony_civoid prestera_devlink_free(struct prestera_switch *sw);
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_civoid prestera_devlink_register(struct prestera_switch *sw);
1362306a36Sopenharmony_civoid prestera_devlink_unregister(struct prestera_switch *sw);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciint prestera_devlink_port_register(struct prestera_port *port);
1662306a36Sopenharmony_civoid prestera_devlink_port_unregister(struct prestera_port *port);
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_civoid prestera_devlink_trap_report(struct prestera_port *port,
1962306a36Sopenharmony_ci				  struct sk_buff *skb, u8 cpu_code);
2062306a36Sopenharmony_ciint prestera_devlink_traps_register(struct prestera_switch *sw);
2162306a36Sopenharmony_civoid prestera_devlink_traps_unregister(struct prestera_switch *sw);
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#endif /* _PRESTERA_DEVLINK_H_ */
24