[PATCH libdrm v2] xf86drm: use the correct device minor names on OpenBSD
Jonathan Gray
jsg at jsg.id.au
Mon Jul 20 10:12:56 PDT 2015
Add defines for the device minor names and make use of them
in drmGetMinorName() so the correct paths will be used on OpenBSD.
v2: don't add new defines to xf86drm.h to keep them out of the API
as requested by Emil.
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
---
xf86drm.c | 16 +++++++++++++---
xf86drm.h | 7 +++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/xf86drm.c b/xf86drm.c
index 4de5210..c365778 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -64,6 +64,16 @@
#include "xf86drm.h"
#include "libdrm_macros.h"
+#ifdef __OpenBSD__
+#define DRM_PRIMARY_MINOR_NAME "drm"
+#define DRM_CONTROL_MINOR_NAME "drmC"
+#define DRM_RENDER_MINOR_NAME "drmR"
+#else
+#define DRM_PRIMARY_MINOR_NAME "card"
+#define DRM_CONTROL_MINOR_NAME "controlD"
+#define DRM_RENDER_MINOR_NAME "renderD"
+#endif
+
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
#define DRM_MAJOR 145
#endif
@@ -548,11 +558,11 @@ static const char *drmGetMinorName(int type)
{
switch (type) {
case DRM_NODE_PRIMARY:
- return "card";
+ return DRM_PRIMARY_MINOR_NAME;
case DRM_NODE_CONTROL:
- return "controlD";
+ return DRM_CONTROL_MINOR_NAME;
case DRM_NODE_RENDER:
- return "renderD";
+ return DRM_RENDER_MINOR_NAME;
default:
return NULL;
}
diff --git a/xf86drm.h b/xf86drm.h
index 40c55c9..e3a19dc 100644
--- a/xf86drm.h
+++ b/xf86drm.h
@@ -76,11 +76,18 @@ extern "C" {
(S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
#define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP)
+#ifdef __OpenBSD__
+#define DRM_DIR_NAME "/dev"
+#define DRM_DEV_NAME "%s/drm%d"
+#define DRM_CONTROL_DEV_NAME "%s/drmC%d"
+#define DRM_RENDER_DEV_NAME "%s/drmR%d"
+#else
#define DRM_DIR_NAME "/dev/dri"
#define DRM_DEV_NAME "%s/card%d"
#define DRM_CONTROL_DEV_NAME "%s/controlD%d"
#define DRM_RENDER_DEV_NAME "%s/renderD%d"
#define DRM_PROC_NAME "/proc/dri/" /* For backward Linux compatibility */
+#endif
#define DRM_ERR_NO_DEVICE (-1001)
#define DRM_ERR_NO_ACCESS (-1002)
--
2.4.5
More information about the dri-devel
mailing list