summaryrefslogtreecommitdiff
path: root/tests/drmtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drmtest.c')
-rw-r--r--tests/drmtest.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/drmtest.c b/tests/drmtest.c
index cae99a0c..58f71a6a 100644
--- a/tests/drmtest.c
+++ b/tests/drmtest.c
@@ -26,7 +26,9 @@
*/
#include <fcntl.h>
+#include <sys/stat.h>
#include "drmtest.h"
+#include "mmfs.h"
/** Open the first DRM device we can find, searching up to 16 device nodes */
int drm_open_any(void)
@@ -81,3 +83,34 @@ int drm_open_any_master(void)
abort();
}
+static void
+create_mmfs_device()
+{
+ struct stat sb;
+ int ret;
+
+ ret = stat(MMFS_DEVICE_PATH, &sb);
+
+ if (ret == 0)
+ return;
+
+ ret = mknod(MMFS_DEVICE_PATH, S_IFCHR | S_IRUSR | S_IWUSR,
+ makedev(MMFS_DEVICE_MAJOR, 0));
+
+ if (ret != 0)
+ errx(1, "mknod()");
+}
+
+int
+open_mmfs_device()
+{
+ int fd;
+
+ create_mmfs_device();
+
+ fd = open(MMFS_DEVICE_PATH, O_RDWR);
+ if (fd == -1)
+ errx(1, "open()");
+
+ return fd;
+}