Support rdmavt on RHEL7.2 and SLES12 in OFED-4.8
[compat-rdma/compat.git] / include / linux / compat-3.11.h
1 #ifndef LINUX_3_11_COMPAT_H
2 #define LINUX_3_11_COMPAT_H
3
4 #include <linux/version.h>
5
6 #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0))
7 #include <linux/netdevice.h>
8 #include <linux/sched/prio.h>
9
10 #ifndef AF_IB
11 #define AF_IB           27      /* Native InfiniBand address    */
12 #define PF_IB           AF_IB
13 #endif /* AF_IB */
14
15 #define netdev_notifier_info_to_dev LINUX_BACKPORT(netdev_notifier_info_to_dev)
16 static inline struct net_device *
17 netdev_notifier_info_to_dev(void *ptr)
18 {
19         return (struct net_device *)ptr;
20 }
21
22 #if !defined(CONFIG_COMPAT_IFLA_VF_LINK_STATE_MAX)
23 enum {
24         IFLA_VF_LINK_STATE_AUTO,        /* link state of the uplink */
25         IFLA_VF_LINK_STATE_ENABLE,      /* link always up */
26         IFLA_VF_LINK_STATE_DISABLE,     /* link always down */
27         __IFLA_VF_LINK_STATE_MAX,
28 };
29 #endif
30
31 #include <linux/scatterlist.h>
32
33 #define sg_copy_from_buffer LINUX_BACKPORT(sg_copy_from_buffer)
34 size_t sg_copy_from_buffer(struct scatterlist *sgl, unsigned int nents,
35                            void *buf, size_t buflen);
36 #define sg_copy_to_buffer LINUX_BACKPORT(sg_copy_to_buffer)
37 size_t sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents,
38                          void *buf, size_t buflen);
39
40 #define sg_pcopy_from_buffer LINUX_BACKPORT(sg_pcopy_from_buffer)
41 size_t sg_pcopy_from_buffer(struct scatterlist *sgl, unsigned int nents,
42                             void *buf, size_t buflen, off_t skip);
43 #define sg_pcopy_to_buffer LINUX_BACKPORT(sg_pcopy_to_buffer)
44 size_t sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents,
45                           void *buf, size_t buflen, off_t skip);
46
47 #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0)) */
48 #endif /* LINUX_3_11_COMPAT_H */