Fix 2.6.31 build: iw_handler needs asm/compat.h
[~emulex/for-vlad/old/compat.git] / include / linux / compat-2.6.32.h
1 #ifndef LINUX_26_32_COMPAT_H
2 #define LINUX_26_32_COMPAT_H
3
4 #include <linux/autoconf.h>
5 #include <linux/version.h>
6
7 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32))
8
9 #include <linux/netdevice.h>
10 #include <asm/compat.h>
11 #include <net/iw_handler.h>
12
13 #define SDIO_VENDOR_ID_INTEL                    0x0089
14 #define SDIO_DEVICE_ID_INTEL_IWMC3200WIMAX      0x1402
15 #define SDIO_DEVICE_ID_INTEL_IWMC3200WIFI       0x1403
16 #define SDIO_DEVICE_ID_INTEL_IWMC3200TOP        0x1404
17 #define SDIO_DEVICE_ID_INTEL_IWMC3200GPS        0x1405
18 #define SDIO_DEVICE_ID_INTEL_IWMC3200BT         0x1406
19
20 /*
21  * struct genl_multicast_group was made netns aware through
22  * patch "genetlink: make netns aware" by johannes, we just
23  * force this to always use the default init_net
24  */
25 #define genl_info_net(x) &init_net
26 /* Just use init_net for older kernels */
27 #define get_net_ns_by_pid(x) &init_net
28
29 /* net namespace is lost */
30 #define genlmsg_multicast_netns(a, b, c, d, e)  genlmsg_multicast(b, c, d, e)
31 #define genlmsg_multicast_allns(a, b, c, d)     genlmsg_multicast(a, b, c, d)
32
33 #define dev_change_net_namespace(a, b, c) (-EOPNOTSUPP)
34
35 #define SET_NETDEV_DEVTYPE(netdev, type)
36
37 #ifdef __KERNEL__
38 /* Driver transmit return codes */
39 enum netdev_tx {
40         BACKPORT_NETDEV_TX_OK = NETDEV_TX_OK,       /* driver took care of packet */
41         BACKPORT_NETDEV_TX_BUSY = NETDEV_TX_BUSY,         /* driver tx path was busy*/
42         BACKPORT_NETDEV_TX_LOCKED = NETDEV_TX_LOCKED,  /* driver tx lock was already taken */
43 };
44 typedef enum netdev_tx netdev_tx_t;
45 #endif /* __KERNEL__ */
46
47 /*
48  * dev_pm_ops is only available on kernels >= 2.6.29, for
49  * older kernels we rely on reverting the work to old
50  * power management style stuff.
51  */
52 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
53 /*
54  * Use this if you want to use the same suspend and resume callbacks for suspend
55  * to RAM and hibernation.
56  */
57 #define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
58 struct dev_pm_ops name = { \
59         .suspend = suspend_fn, \
60         .resume = resume_fn, \
61         .freeze = suspend_fn, \
62         .thaw = resume_fn, \
63         .poweroff = suspend_fn, \
64         .restore = resume_fn, \
65 }
66 #else
67 #define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn)
68 #endif /* >= 2.6.29 */
69
70 #define wireless_send_event(a, b, c, d) wireless_send_event(a, b, c, (char * ) d)
71
72 /* The export symbol in changed in compat/patches/15-symbol-export-conflicts.patch */
73 #define ieee80211_rx(hw, skb) mac80211_ieee80211_rx(hw, skb)
74
75 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) */
76
77 #endif /* LINUX_26_32_COMPAT_H */