compat: move br_port_exists() to compat-2.6.36.h
[~emulex/for-vlad/old/compat.git] / include / linux / compat-3.3.h
1 #ifndef LINUX_3_3_COMPAT_H
2 #define LINUX_3_3_COMPAT_H
3
4 #include <linux/version.h>
5
6 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0))
7
8 /* include to override NL80211_FEATURE_SK_TX_STATUS */
9 #include <linux/nl80211.h>
10
11 static inline void skb_complete_wifi_ack(struct sk_buff *skb, bool acked)
12 {
13         WARN_ON(1);
14 }
15 #define NL80211_FEATURE_SK_TX_STATUS 0
16
17 typedef u32 netdev_features_t;
18
19 /* source include/linux/device.h */
20 /**
21  * module_driver() - Helper macro for drivers that don't do anything
22  * special in module init/exit. This eliminates a lot of boilerplate.
23  * Each module may only use this macro once, and calling it replaces
24  * module_init() and module_exit().
25  *
26  * Use this macro to construct bus specific macros for registering
27  * drivers, and do not use it on its own.
28  */
29 #define module_driver(__driver, __register, __unregister) \
30 static int __init __driver##_init(void) \
31 { \
32         return __register(&(__driver)); \
33 } \
34 module_init(__driver##_init); \
35 static void __exit __driver##_exit(void) \
36 { \
37         __unregister(&(__driver)); \
38 } \
39 module_exit(__driver##_exit);
40
41 /* source include/linux/usb.h */
42 /**
43  * module_usb_driver() - Helper macro for registering a USB driver
44  * @__usb_driver: usb_driver struct
45  *
46  * Helper macro for USB drivers which do not do anything special in module
47  * init/exit. This eliminates a lot of boilerplate. Each module may only
48  * use this macro once, and calling it replaces module_init() and module_exit()
49  */
50 #define module_usb_driver(__usb_driver) \
51         module_driver(__usb_driver, usb_register, \
52                        usb_deregister)
53
54 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)) */
55
56 #endif /* LINUX_3_3_COMPAT_H */