summaryrefslogtreecommitdiff
path: root/compat/backport-4.12.c
diff options
context:
space:
mode:
authorDominik Sliwa <dominik.sliwa@toradex.com>2017-12-22 12:07:34 +0000
committerDominik Sliwa <dominik.sliwa@toradex.com>2018-09-18 17:15:11 +0200
commit69ff0b5709d0d06545fcb2d08c7645b56d3687dd (patch)
tree71f1569cc019e16c1b1be22c1e8d382766daebb3 /compat/backport-4.12.c
parentd6a47bfb72f495a72637fbe635220f6af0f4cb6f (diff)
backports: bluetooth: Support 4.9 kernels
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'compat/backport-4.12.c')
-rw-r--r--compat/backport-4.12.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/compat/backport-4.12.c b/compat/backport-4.12.c
index 2c0053f..8f3e5ab 100644
--- a/compat/backport-4.12.c
+++ b/compat/backport-4.12.c
@@ -3,6 +3,9 @@
*/
#include <net/genetlink.h>
#include <net/sock.h>
+#ifdef CONFIG_OF
+#include <linux/of_device.h>
+#endif
enum nlmsgerr_attrs {
NLMSGERR_ATTR_UNUSED,
@@ -275,3 +278,22 @@ int bp_extack_genl_unregister_family(struct genl_family *family)
return 0;
}
EXPORT_SYMBOL_GPL(bp_extack_genl_unregister_family);
+
+#ifdef CONFIG_OF
+/**
+ * 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