fjes: platform_driver's .probe and .remove routine
[cascardo/linux.git] / drivers / net / fjes / fjes.h
1 /*
2  *  FUJITSU Extended Socket Network Device driver
3  *  Copyright (c) 2015 FUJITSU LIMITED
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, see <http://www.gnu.org/licenses/>.
16  *
17  * The full GNU General Public License is included in this distribution in
18  * the file called "COPYING".
19  *
20  */
21
22 #ifndef FJES_H_
23 #define FJES_H_
24
25 #include <linux/acpi.h>
26
27 #include "fjes_hw.h"
28
29 #define FJES_ACPI_SYMBOL        "Extended Socket"
30 #define FJES_MAX_QUEUES         1
31 #define FJES_TX_RETRY_INTERVAL  (20 * HZ)
32
33 /* board specific private data structure */
34 struct fjes_adapter {
35         struct net_device *netdev;
36         struct platform_device *plat_dev;
37
38         struct napi_struct napi;
39         struct rtnl_link_stats64 stats64;
40
41         unsigned int tx_retry_count;
42         unsigned long tx_start_jiffies;
43         unsigned long rx_last_jiffies;
44         bool unset_rx_last;
45
46         bool force_reset;
47         bool open_guard;
48
49         bool irq_registered;
50
51         struct fjes_hw hw;
52 };
53
54 extern char fjes_driver_name[];
55 extern char fjes_driver_version[];
56 extern const u32 fjes_support_mtu[];
57
58 #endif /* FJES_H_ */