162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright (c) 2019, Intel Corporation. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _ICE_DEVLINK_H_
562306a36Sopenharmony_ci#define _ICE_DEVLINK_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_cistruct ice_pf *ice_allocate_pf(struct device *dev);
862306a36Sopenharmony_ci
962306a36Sopenharmony_civoid ice_devlink_register(struct ice_pf *pf);
1062306a36Sopenharmony_civoid ice_devlink_unregister(struct ice_pf *pf);
1162306a36Sopenharmony_ciint ice_devlink_register_params(struct ice_pf *pf);
1262306a36Sopenharmony_civoid ice_devlink_unregister_params(struct ice_pf *pf);
1362306a36Sopenharmony_ciint ice_devlink_create_pf_port(struct ice_pf *pf);
1462306a36Sopenharmony_civoid ice_devlink_destroy_pf_port(struct ice_pf *pf);
1562306a36Sopenharmony_ciint ice_devlink_create_vf_port(struct ice_vf *vf);
1662306a36Sopenharmony_civoid ice_devlink_destroy_vf_port(struct ice_vf *vf);
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_civoid ice_devlink_init_regions(struct ice_pf *pf);
1962306a36Sopenharmony_civoid ice_devlink_destroy_regions(struct ice_pf *pf);
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciint ice_devlink_rate_init_tx_topology(struct devlink *devlink, struct ice_vsi *vsi);
2262306a36Sopenharmony_civoid ice_tear_down_devlink_rate_tree(struct ice_pf *pf);
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci#endif /* _ICE_DEVLINK_H_ */
25