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