summaryrefslogtreecommitdiff
path: root/backport/backport-include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'backport/backport-include/linux')
-rw-r--r--backport/backport-include/linux/kref.h13
-rw-r--r--backport/backport-include/linux/of_device.h5
-rw-r--r--backport/backport-include/linux/skbuff.h18
3 files changed, 36 insertions, 0 deletions
diff --git a/backport/backport-include/linux/kref.h b/backport/backport-include/linux/kref.h
new file mode 100644
index 00000000..631488f5
--- /dev/null
+++ b/backport/backport-include/linux/kref.h
@@ -0,0 +1,13 @@
+#ifndef __BACKPORT_LINUX_KREF_H
+#define __BACKPORT_LINUX_KREF_H
+#include_next <linux/kref.h>
+
+#if LINUX_VERSION_IS_LESS(4,11,0)
+#include <linux/refcount.h>
+static inline unsigned int kref_read(const struct kref *kref)
+{
+ return refcount_read((const refcount_t *)&kref->refcount);
+}
+#endif /* < 4.11 */
+
+#endif /* __BACKPORT_LINUX_KREF_H */
diff --git a/backport/backport-include/linux/of_device.h b/backport/backport-include/linux/of_device.h
index cdd366e3..2178a338 100644
--- a/backport/backport-include/linux/of_device.h
+++ b/backport/backport-include/linux/of_device.h
@@ -23,4 +23,9 @@ static inline int backport_of_dma_configure(struct device *dev,
#define of_dma_configure LINUX_BACKPORT(of_dma_configure)
#endif /* < 4.18 */
+#if LINUX_VERSION_IS_LESS(4,12,0)
+ssize_t bp_of_device_modalias(struct device *dev, char *str, ssize_t len);
+#define of_device_modalias bp_of_device_modalias
+#endif /* < 4.12 */
+
#endif /* __BP_OF_DEVICE_H */
diff --git a/backport/backport-include/linux/skbuff.h b/backport/backport-include/linux/skbuff.h
index 44b2a5de..7b1fe6ed 100644
--- a/backport/backport-include/linux/skbuff.h
+++ b/backport/backport-include/linux/skbuff.h
@@ -380,6 +380,24 @@ static inline void skb_put_u8(struct sk_buff *skb, u8 val)
{
*(u8 *)skb_put(skb, 1) = val;
}
+
+static inline void *__skb_put_zero(struct sk_buff *skb, unsigned int len)
+{
+ void *tmp = __skb_put(skb, len);
+
+ memset(tmp, 0, len);
+ return tmp;
+}
+
+static inline void *__skb_put_data(struct sk_buff *skb, const void *data,
+ unsigned int len)
+{
+ void *tmp = __skb_put(skb, len);
+
+ memcpy(tmp, data, len);
+ return tmp;
+}
+
#endif
#if LINUX_VERSION_IS_LESS(4,20,0)