xref: /linux/drivers/net/ethernet/intel/ice/devlink/devlink.h (revision 0545cc86767e044b0c7bbcbbf59698a2ad78e0c5)
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