linux/drivers/net/ethernet/qlogic/qed/qed_fcoe.h
<<
>>
Prefs
   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 */
  49