73fc91c8a0de2603e62c7a9cb97e46e9afc3f1b6
[~emulex/for-vlad/old/compat.git] / include / linux / compat-2.6.33.h
1 #ifndef LINUX_26_33_COMPAT_H
2 #define LINUX_26_33_COMPAT_H
3
4 #include <linux/version.h>
5
6 #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33))
7
8 #include <linux/skbuff.h>
9 #include <pcmcia/cs_types.h>
10 #include <pcmcia/cistpl.h>
11 #include <pcmcia/ds.h>
12 #include <linux/kfifo.h>
13 #include <linux/firmware.h>
14
15 #define release_firmware compat_release_firmware
16 #define request_firmware compat_request_firmware
17 #define request_firmware_nowait compat_request_firmware_nowait
18
19 #if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE)
20 int compat_request_firmware(const struct firmware **fw, const char *name,
21                      struct device *device);
22 int compat_request_firmware_nowait(
23         struct module *module, int uevent,
24         const char *name, struct device *device, gfp_t gfp, void *context,
25         void (*cont)(const struct firmware *fw, void *context));
26
27 void compat_release_firmware(const struct firmware *fw);
28 #else
29 static inline int compat_request_firmware(const struct firmware **fw,
30                                    const char *name,
31                                    struct device *device)
32 {
33         return -EINVAL;
34 }
35 static inline int request_firmware_nowait(
36         struct module *module, int uevent,
37         const char *name, struct device *device, gfp_t gfp, void *context,
38         void (*cont)(const struct firmware *fw, void *context))
39 {
40         return -EINVAL;
41 }
42
43 static inline void compat_release_firmware(const struct firmware *fw)
44 {
45 }
46 #endif
47
48 #define IFF_DONT_BRIDGE 0x800           /* disallow bridging this ether dev */
49 /* source: include/linux/if.h */
50
51 #define kparam_block_sysfs_write(a)
52 #define kparam_unblock_sysfs_write(a)
53
54 /* this will never happen on older kernels */
55 #define NETDEV_POST_INIT 0xffff
56
57 static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev,
58                 unsigned int length)
59 {
60         struct sk_buff *skb = netdev_alloc_skb(dev, length + NET_IP_ALIGN);
61
62         if (NET_IP_ALIGN && skb)
63                 skb_reserve(skb, NET_IP_ALIGN);
64         return skb;
65 }
66
67 #if defined(CONFIG_PCCARD) || defined(CONFIG_PCCARD_MODULE)
68
69 #if defined(CONFIG_PCMCIA) || defined(CONFIG_PCMCIA_MODULE)
70
71 #define pcmcia_request_window(a, b, c) pcmcia_request_window(&a, b, c)
72
73 #define pcmcia_map_mem_page(a, b, c) pcmcia_map_mem_page(b, c)
74
75 /* loop over CIS entries */
76 int pcmcia_loop_tuple(struct pcmcia_device *p_dev, cisdata_t code,
77                       int (*loop_tuple) (struct pcmcia_device *p_dev,
78                                          tuple_t *tuple,
79                                          void *priv_data),
80                       void *priv_data);
81
82 #endif /* CONFIG_PCMCIA */
83
84 /* loop over CIS entries */
85 int pccard_loop_tuple(struct pcmcia_socket *s, unsigned int function,
86                       cisdata_t code, cisparse_t *parse, void *priv_data,
87                       int (*loop_tuple) (tuple_t *tuple,
88                                          cisparse_t *parse,
89                                          void *priv_data));
90
91 #endif /* CONFIG_PCCARD */
92
93 /* Backport for kfifo
94  * kfifo_alloc and kfifo_free must be backported manually 
95  */
96 #define kfifo_in(a, b, c) __kfifo_put(*a, b, c)
97 #define kfifo_out(a, b, c) __kfifo_get(*a, b, c)
98 #define kfifo_len(a) __kfifo_len(*a)
99
100 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)) */
101
102 #endif /* LINUX_26_33_COMPAT_H */