drm: Remove command line guard for universal planes
[deliverable/linux.git] / drivers / gpu / drm / drm_ioctl.c
index 38269d5aa3337739cb2c5e1da319908ed4e1cd73..ad66f961170e0517f386ceca3519f9da3120a7b0 100644 (file)
@@ -131,13 +131,25 @@ static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv)
        if (master->unique != NULL)
                drm_unset_busid(dev, master);
 
-       ret = dev->driver->bus->set_busid(dev, master);
-       if (ret)
-               goto err;
+       if (dev->driver->bus && dev->driver->bus->set_busid) {
+               ret = dev->driver->bus->set_busid(dev, master);
+               if (ret) {
+                       drm_unset_busid(dev, master);
+                       return ret;
+               }
+       } else {
+               if (WARN(dev->unique == NULL,
+                        "No drm_bus.set_busid() implementation provided by "
+                        "%ps. Use drm_dev_set_unique() to set the unique "
+                        "name explicitly.", dev->driver))
+                       return -EINVAL;
+
+               master->unique = kstrdup(dev->unique, GFP_KERNEL);
+               if (master->unique)
+                       master->unique_len = strlen(dev->unique);
+       }
+
        return 0;
-err:
-       drm_unset_busid(dev, master);
-       return ret;
 }
 
 /**
@@ -330,8 +342,6 @@ drm_setclientcap(struct drm_device *dev, void *data, struct drm_file *file_priv)
                file_priv->stereo_allowed = req->value;
                break;
        case DRM_CLIENT_CAP_UNIVERSAL_PLANES:
-               if (!drm_universal_planes)
-                       return -EINVAL;
                if (req->value > 1)
                        return -EINVAL;
                file_priv->universal_planes = req->value;
This page took 0.043192 seconds and 5 git commands to generate.