aboutsummaryrefslogtreecommitdiff
path: root/sys/ofed/include/linux
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2015-07-03 11:16:20 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2015-07-03 11:16:20 +0000
commit49557d24817a14e2d11432f2d625bcfe77d136f9 (patch)
tree91f1b4fb0a3e7fde587caaa022c1bb768f8df17d /sys/ofed/include/linux
parent424a3f57a21422f5a0f64748ee34b5da17bad7fc (diff)
Notes
Diffstat (limited to 'sys/ofed/include/linux')
-rw-r--r--sys/ofed/include/linux/device.h16
-rw-r--r--sys/ofed/include/linux/linux_compat.c19
2 files changed, 19 insertions, 16 deletions
diff --git a/sys/ofed/include/linux/device.h b/sys/ofed/include/linux/device.h
index 87cf0e84de51..b7795fc35ec9 100644
--- a/sys/ofed/include/linux/device.h
+++ b/sys/ofed/include/linux/device.h
@@ -416,21 +416,7 @@ static inline int dev_to_node(struct device *dev)
return -1;
}
-static inline char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap)
-{
- unsigned int len;
- char *p = NULL;
- va_list aq;
-
- va_copy(aq, ap);
- len = vsnprintf(NULL, 0, fmt, aq);
- va_end(aq);
-
- vsnprintf(p, len+1, fmt, ap);
-
- return p;
-}
-
+char *kvasprintf(gfp_t, const char *, va_list);
char *kasprintf(gfp_t, const char *, ...);
#endif /* _LINUX_DEVICE_H_ */
diff --git a/sys/ofed/include/linux/linux_compat.c b/sys/ofed/include/linux/linux_compat.c
index cc7be3d47dbe..1acf08e2d9a1 100644
--- a/sys/ofed/include/linux/linux_compat.c
+++ b/sys/ofed/include/linux/linux_compat.c
@@ -715,6 +715,23 @@ vunmap(void *addr)
kfree(vmmap);
}
+char *
+kvasprintf(gfp_t gfp, const char *fmt, va_list ap)
+{
+ unsigned int len;
+ char *p;
+ va_list aq;
+
+ va_copy(aq, ap);
+ len = vsnprintf(NULL, 0, fmt, aq);
+ va_end(aq);
+
+ p = kmalloc(len + 1, gfp);
+ if (p != NULL)
+ vsnprintf(p, len + 1, fmt, ap);
+
+ return (p);
+}
char *
kasprintf(gfp_t gfp, const char *fmt, ...)
@@ -726,7 +743,7 @@ kasprintf(gfp_t gfp, const char *fmt, ...)
p = kvasprintf(gfp, fmt, ap);
va_end(ap);
- return p;
+ return (p);
}
static int