1 #ifndef __R8169_COMPAT_H__
2 #define __R8169_COMPAT_H__
3
4 #include <linux/etherdevice.h>
5 #include <linux/if_vlan.h>
6 #include <linux/workqueue.h>
7
8 static inline __be16 backport_eth_type_trans(struct sk_buff *skb,
9 struct net_device *dev)
10 {
11 skb->dev = dev;
12 return eth_type_trans(skb, dev);
13 }
14
15 #define eth_type_trans backport_eth_type_trans
16
17 static inline void vlan_group_set_device(struct vlan_group *vg, int vlan_id,
18 struct net_device *dev)
19 {
20 vg->vlan_devices[vlan_id] = NULL;
21 }
22
23 typedef void (*work_func_t)(struct work_struct *work);
24
25 struct delayed_work {
26 struct work_struct work;
27 };
28
29 static inline void backport_INIT_WORK(struct work_struct *work, void *func)
30 {
31 INIT_WORK(work, func, work);
32 }
33
34 static inline void backport_PREPARE_WORK(struct work_struct *work, void *func)
35 {
36 PREPARE_WORK(work, func, work);
37 }
38
39 static inline int backport_schedule_delayed_work(struct delayed_work *work,
40 unsigned long delay)
41 {
42 if (likely(!delay))
43 return schedule_work(&work->work);
44 else
45 return schedule_delayed_work(&work->work, delay);
46 }
47
48
49 #undef INIT_WORK
50 #define INIT_WORK(_work, _func) backport_INIT_WORK(_work, _func)
51 #define INIT_DELAYED_WORK(_work,_func) INIT_WORK(&(_work)->work, _func)
52
53 #undef PREPARE_WORK
54 #define PREPARE_WORK(_work, _func) backport_PREPARE_WORK(_work, _func)
55 #define PREPARE_DELAYED_WORK(_work, _func) PREPARE_WORK(&(_work)->work, _func)
56
57 #define schedule_delayed_work backport_schedule_delayed_work
58
59 #endif
60
61
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.