Staging: unisys: Remove RETINT macro
[linux/fpc-iii.git] / drivers / staging / rtl8821ae / compat.h
blob68269cc2d477f78edd4fe65f937e599fd8b23c5b
1 #ifndef __RTL_COMPAT_H__
2 #define __RTL_COMPAT_H__
4 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29))
5 /*
6 * Use this if you want to use the same suspend and resume callbacks for suspend
7 * to RAM and hibernation.
8 */
9 #define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
10 struct dev_pm_ops name = { \
11 .suspend = suspend_fn, \
12 .resume = resume_fn, \
13 .freeze = suspend_fn, \
14 .thaw = resume_fn, \
15 .poweroff = suspend_fn, \
16 .restore = resume_fn, \
19 #define compat_pci_suspend(fn) \
20 int fn##_compat(struct pci_dev *pdev, pm_message_t state) \
21 { \
22 int r; \
24 r = fn(&pdev->dev); \
25 if (r) \
26 return r; \
28 pci_save_state(pdev); \
29 pci_disable_device(pdev); \
30 pci_set_power_state(pdev, PCI_D3hot); \
32 return 0; \
35 #define compat_pci_resume(fn) \
36 int fn##_compat(struct pci_dev *pdev) \
37 { \
38 int r; \
40 pci_set_power_state(pdev, PCI_D0); \
41 r = pci_enable_device(pdev); \
42 if (r) \
43 return r; \
44 pci_restore_state(pdev); \
46 return fn(&pdev->dev); \
48 #endif
50 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39))
51 #define RX_FLAG_MACTIME_MPDU RX_FLAG_TSFT
52 #else
53 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
54 #define RX_FLAG_MACTIME_MPDU RX_FLAG_MACTIME_START
55 #else
56 #endif
57 //#define NETDEV_TX_OK
58 #endif
60 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
61 #define IEEE80211_KEY_FLAG_SW_MGMT IEEE80211_KEY_FLAG_SW_MGMT_TX
62 #endif
64 struct ieee80211_mgmt_compat {
65 __le16 frame_control;
66 __le16 duration;
67 u8 da[6];
68 u8 sa[6];
69 u8 bssid[6];
70 __le16 seq_ctrl;
71 union {
72 struct {
73 u8 category;
74 union {
75 struct {
76 u8 action_code;
77 u8 dialog_token;
78 u8 status_code;
79 u8 variable[0];
80 } __attribute__ ((packed)) wme_action;
81 struct{
82 u8 action_code;
83 u8 dialog_token;
84 __le16 capab;
85 __le16 timeout;
86 __le16 start_seq_num;
87 } __attribute__((packed)) addba_req;
88 struct{
89 u8 action_code;
90 u8 dialog_token;
91 __le16 status;
92 __le16 capab;
93 __le16 timeout;
94 } __attribute__((packed)) addba_resp;
95 struct{
96 u8 action_code;
97 __le16 params;
98 __le16 reason_code;
99 } __attribute__((packed)) delba;
100 struct{
101 u8 action_code;
102 /* capab_info for open and confirm,
103 * reason for close
105 __le16 aux;
106 /* Followed in plink_confirm by status
107 * code, AID and supported rates,
108 * and directly by supported rates in
109 * plink_open and plink_close
111 u8 variable[0];
112 } __attribute__((packed)) plink_action;
113 struct{
114 u8 action_code;
115 u8 variable[0];
116 } __attribute__((packed)) mesh_action;
117 struct {
118 u8 action;
119 u8 smps_control;
120 } __attribute__ ((packed)) ht_smps;
121 } u;
122 } __attribute__ ((packed)) action;
123 } u;
124 } __attribute__ ((packed));
125 #endif