drm: Branch 'master'

[email protected] (Rob Clark)
Newsgroups gmane.comp.video.dri.patches
Message-ID <[email protected]>
 xf86drm.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

New commits:
commit eb7c2d5e63e0e9d133b16880e36c14676276d412
Author: Rob Clark <[email protected]>
Date:   Fri Sep 4 08:08:02 2015 -0400

    drm: make individual drm_server_info fxns optional
    
    For android / drm_gralloc, we want to hook up our own debug_print()
    without bothering with the reset of it.
    
    Signed-off-by: Rob Clark <[email protected]>

diff --git a/xf86drm.c b/xf86drm.c
index 4b66612..a5a7b41 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -134,7 +134,8 @@ drmMsg(const char *format, ...)
 {
     va_list	ap;
     const char *env;
-    if (((env = getenv("LIBGL_DEBUG")) && strstr(env, "verbose")) || drm_server_info)
+    if (((env = getenv("LIBGL_DEBUG")) && strstr(env, "verbose")) ||
+        (drm_server_info && drm_server_info->debug_print))
     {
 	va_start(ap, format);
 	if (drm_server_info) {
@@ -339,7 +340,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type)
     sprintf(buf, dev_name, DRM_DIR_NAME, minor);
     drmMsg("drmOpenDevice: node name is %s\n", buf);
 
-    if (drm_server_info) {
+    if (drm_server_info && drm_server_info->get_perms) {
 	drm_server_info->get_perms(&serv_group, &serv_mode);
 	devmode  = serv_mode ? serv_mode : DRM_DEV_MODE;
 	devmode &= ~(S_IXUSR|S_IXGRP|S_IXOTH);
@@ -362,7 +363,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type)
 	mknod(buf, S_IFCHR | devmode, dev);
     }
 
-    if (drm_server_info) {
+    if (drm_server_info && drm_server_info->get_perms) {
 	group = ((int)serv_group >= 0) ? serv_group : DRM_DEV_GID;
 	chown_check_return(buf, user, group);
 	chmod(buf, devmode);
@@ -407,7 +408,7 @@ wait_for_udev:
 	    return DRM_ERR_NOT_ROOT;
 	remove(buf);
 	mknod(buf, S_IFCHR | devmode, dev);
-	if (drm_server_info) {
+	if (drm_server_info && drm_server_info->get_perms) {
 	    chown_check_return(buf, user, group);
 	    chmod(buf, devmode);
 	}
@@ -735,7 +736,8 @@ int drmOpen(const char *name, const char *busid)
  */
 int drmOpenWithType(const char *name, const char *busid, int type)
 {
-    if (!drmAvailable() && name != NULL && drm_server_info) {
+    if (!drmAvailable() && name != NULL && drm_server_info &&
+        drm_server_info->load_module) {
 	/* try to load the kernel module */
 	if (!drm_server_info->load_module(name)) {
 	    drmMsg("[drm] failed to load kernel module \"%s\"\n", name);

------------------------------------------------------------------------------
--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.