11adf7eadSJacob Keller /* SPDX-License-Identifier: GPL-2.0 */ 21adf7eadSJacob Keller /* Copyright (c) 2019, Intel Corporation. */ 31adf7eadSJacob Keller 41adf7eadSJacob Keller #ifndef _ICE_DEVLINK_H_ 51adf7eadSJacob Keller #define _ICE_DEVLINK_H_ 61adf7eadSJacob Keller 71adf7eadSJacob Keller struct ice_pf *ice_allocate_pf(struct device *dev); 81adf7eadSJacob Keller 9db4278c5SLeon Romanovsky void ice_devlink_register(struct ice_pf *pf); 101adf7eadSJacob Keller void ice_devlink_unregister(struct ice_pf *pf); 11e523af4eSShiraz Saleem int ice_devlink_register_params(struct ice_pf *pf); 12e523af4eSShiraz Saleem void ice_devlink_unregister_params(struct ice_pf *pf); 132ae0aa47SWojciech Drewek int ice_devlink_create_pf_port(struct ice_pf *pf); 142ae0aa47SWojciech Drewek void ice_devlink_destroy_pf_port(struct ice_pf *pf); 152ae0aa47SWojciech Drewek int ice_devlink_create_vf_port(struct ice_vf *vf); 162ae0aa47SWojciech Drewek void ice_devlink_destroy_vf_port(struct ice_vf *vf); 171adf7eadSJacob Keller 18dce730f1SJacob Keller void ice_devlink_init_regions(struct ice_pf *pf); 19dce730f1SJacob Keller void ice_devlink_destroy_regions(struct ice_pf *pf); 20dce730f1SJacob Keller 2142c2eb6bSMichal Wilczynski int ice_devlink_rate_init_tx_topology(struct devlink *devlink, struct ice_vsi *vsi); 22*80fe30a8SMichal Wilczynski void ice_tear_down_devlink_rate_tree(struct ice_pf *pf); 2342c2eb6bSMichal Wilczynski 241adf7eadSJacob Keller #endif /* _ICE_DEVLINK_H_ */ 25