qed_fcoe.h (1255B)
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 2/* QLogic qed NIC Driver 3 * Copyright (c) 2015-2017 QLogic Corporation 4 * Copyright (c) 2019-2020 Marvell International Ltd. 5 */ 6 7#ifndef _QED_FCOE_H 8#define _QED_FCOE_H 9#include <linux/types.h> 10#include <linux/list.h> 11#include <linux/slab.h> 12#include <linux/spinlock.h> 13#include <linux/qed/qed_fcoe_if.h> 14#include <linux/qed/qed_chain.h> 15#include "qed.h" 16#include "qed_hsi.h" 17#include "qed_mcp.h" 18#include "qed_sp.h" 19 20struct qed_fcoe_info { 21 spinlock_t lock; /* Connection resources. */ 22 struct list_head free_list; 23}; 24 25#if IS_ENABLED(CONFIG_QED_FCOE) 26int qed_fcoe_alloc(struct qed_hwfn *p_hwfn); 27 28void qed_fcoe_setup(struct qed_hwfn *p_hwfn); 29 30void qed_fcoe_free(struct qed_hwfn *p_hwfn); 31void qed_get_protocol_stats_fcoe(struct qed_dev *cdev, 32 struct qed_mcp_fcoe_stats *stats); 33#else /* CONFIG_QED_FCOE */ 34static inline int qed_fcoe_alloc(struct qed_hwfn *p_hwfn) 35{ 36 return -EINVAL; 37} 38 39static inline void qed_fcoe_setup(struct qed_hwfn *p_hwfn) {} 40static inline void qed_fcoe_free(struct qed_hwfn *p_hwfn) {} 41 42static inline void qed_get_protocol_stats_fcoe(struct qed_dev *cdev, 43 struct qed_mcp_fcoe_stats *stats) 44{ 45} 46#endif /* CONFIG_QED_FCOE */ 47 48#endif /* _QED_FCOE_H */