1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2019, Intel Corporation. */ 3 4 #ifndef _ICE_DEVLINK_H_ 5 #define _ICE_DEVLINK_H_ 6 7 struct ice_pf *ice_allocate_pf(struct device *dev); 8 9 void ice_devlink_register(struct ice_pf *pf); 10 void ice_devlink_unregister(struct ice_pf *pf); 11 int ice_devlink_register_params(struct ice_pf *pf); 12 void ice_devlink_unregister_params(struct ice_pf *pf); 13 int ice_devlink_create_pf_port(struct ice_pf *pf); 14 void ice_devlink_destroy_pf_port(struct ice_pf *pf); 15 int ice_devlink_create_vf_port(struct ice_vf *vf); 16 void ice_devlink_destroy_vf_port(struct ice_vf *vf); 17 18 void ice_devlink_init_regions(struct ice_pf *pf); 19 void ice_devlink_destroy_regions(struct ice_pf *pf); 20 21 int ice_devlink_rate_init_tx_topology(struct devlink *devlink, struct ice_vsi *vsi); 22 void ice_tear_down_devlink_rate_tree(struct ice_pf *pf); 23 void ice_devlink_rate_clear_tx_topology(struct ice_vsi *vsi); 24 25 #endif /* _ICE_DEVLINK_H_ */ 26