1*08135eecSEdward Cree /* SPDX-License-Identifier: GPL-2.0-only */ 2*08135eecSEdward Cree /**************************************************************************** 3*08135eecSEdward Cree * Driver for Solarflare network controllers and boards 4*08135eecSEdward Cree * Copyright 2019 Solarflare Communications Inc. 5*08135eecSEdward Cree * Copyright 2020-2022 Xilinx Inc. 6*08135eecSEdward Cree * 7*08135eecSEdward Cree * This program is free software; you can redistribute it and/or modify it 8*08135eecSEdward Cree * under the terms of the GNU General Public License version 2 as published 9*08135eecSEdward Cree * by the Free Software Foundation, incorporated herein by reference. 10*08135eecSEdward Cree */ 11*08135eecSEdward Cree 12*08135eecSEdward Cree /* Handling for ef100 representor netdevs */ 13*08135eecSEdward Cree #ifndef EF100_REP_H 14*08135eecSEdward Cree #define EF100_REP_H 15*08135eecSEdward Cree 16*08135eecSEdward Cree #include "net_driver.h" 17*08135eecSEdward Cree 18*08135eecSEdward Cree /** 19*08135eecSEdward Cree * struct efx_rep - Private data for an Efx representor 20*08135eecSEdward Cree * 21*08135eecSEdward Cree * @parent: the efx PF which manages this representor 22*08135eecSEdward Cree * @net_dev: representor netdevice 23*08135eecSEdward Cree * @msg_enable: log message enable flags 24*08135eecSEdward Cree * @list: entry on efx->vf_reps 25*08135eecSEdward Cree */ 26*08135eecSEdward Cree struct efx_rep { 27*08135eecSEdward Cree struct efx_nic *parent; 28*08135eecSEdward Cree struct net_device *net_dev; 29*08135eecSEdward Cree u32 msg_enable; 30*08135eecSEdward Cree struct list_head list; 31*08135eecSEdward Cree }; 32*08135eecSEdward Cree 33*08135eecSEdward Cree int efx_ef100_vfrep_create(struct efx_nic *efx, unsigned int i); 34*08135eecSEdward Cree void efx_ef100_vfrep_destroy(struct efx_nic *efx, struct efx_rep *efv); 35*08135eecSEdward Cree void efx_ef100_fini_vfreps(struct efx_nic *efx); 36*08135eecSEdward Cree 37*08135eecSEdward Cree #endif /* EF100_REP_H */ 38