qlcnic: dcb: Add support for CEE Netlink interface.
[deliverable/linux.git] / drivers / net / ethernet / qlogic / qlcnic / qlcnic_dcb.h
1 /*
2 * QLogic qlcnic NIC Driver
3 * Copyright (c) 2009-2013 QLogic Corporation
4 *
5 * See LICENSE.qlcnic for copyright and licensing details.
6 */
7
8 #ifndef __QLCNIC_DCBX_H
9 #define __QLCNIC_DCBX_H
10
11 void qlcnic_clear_dcb_ops(struct qlcnic_adapter *);
12
13 #ifdef CONFIG_QLCNIC_DCB
14 int __qlcnic_register_dcb(struct qlcnic_adapter *);
15 #else
16 static inline int __qlcnic_register_dcb(struct qlcnic_adapter *adapter)
17 { return 0; }
18 #endif
19
20 struct qlcnic_dcb_ops {
21 void (*init_dcbnl_ops) (struct qlcnic_adapter *);
22 void (*free) (struct qlcnic_adapter *);
23 int (*attach) (struct qlcnic_adapter *);
24 int (*query_hw_capability) (struct qlcnic_adapter *, char *);
25 int (*get_hw_capability) (struct qlcnic_adapter *);
26 void (*get_info) (struct qlcnic_adapter *);
27 int (*query_cee_param) (struct qlcnic_adapter *, char *, u8);
28 int (*get_cee_cfg) (struct qlcnic_adapter *);
29 int (*register_aen) (struct qlcnic_adapter *, bool);
30 void (*handle_aen) (struct qlcnic_adapter *, void *);
31 };
32
33 struct qlcnic_dcb {
34 struct qlcnic_dcb_mbx_params *param;
35 struct qlcnic_adapter *adapter;
36 struct delayed_work aen_work;
37 struct workqueue_struct *wq;
38 struct qlcnic_dcb_ops *ops;
39 struct qlcnic_dcb_cfg *cfg;
40 };
41 #endif
This page took 0.047165 seconds and 5 git commands to generate.