summaryrefslogtreecommitdiff
path: root/compat/backport-4.12.c
diff options
context:
space:
mode:
Diffstat (limited to 'compat/backport-4.12.c')
-rw-r--r--compat/backport-4.12.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/compat/backport-4.12.c b/compat/backport-4.12.c
new file mode 100644
index 0000000..4f9de26
--- /dev/null
+++ b/compat/backport-4.12.c
@@ -0,0 +1,24 @@
+#ifdef CONFIG_OF
+#include <linux/of_device.h>
+#endif
+
+#ifdef CONFIG_OF
+#if LINUX_VERSION_IS_GEQ(4,4,0)
+/**
+ * of_device_modalias - Fill buffer with newline terminated modalias string
+ */
+ssize_t bp_of_device_modalias(struct device *dev, char *str, ssize_t len)
+{
+ ssize_t sl = of_device_get_modalias(dev, str, len - 2);
+ if (sl < 0)
+ return sl;
+ if (sl > len - 2)
+ return -ENOMEM;
+
+ str[sl++] = '\n';
+ str[sl] = 0;
+ return sl;
+}
+EXPORT_SYMBOL_GPL(bp_of_device_modalias);
+#endif
+#endif