drm: add driver->set_busid() callback
[cascardo/linux.git] / drivers / gpu / drm / drm_ioctl.c
index cb6b54a..4770bd7 100644 (file)
@@ -244,7 +244,13 @@ static int drm_set_busid(struct drm_device *dev, struct drm_file *file_priv)
        if (master->unique != NULL)
                drm_unset_busid(dev, master);
 
-       if (dev->driver->bus && dev->driver->bus->set_busid) {
+       if (dev->driver->set_busid) {
+               ret = dev->driver->set_busid(dev, master);
+               if (ret) {
+                       drm_unset_busid(dev, master);
+                       return ret;
+               }
+       } else if (dev->driver->bus && dev->driver->bus->set_busid) {
                ret = dev->driver->bus->set_busid(dev, master);
                if (ret) {
                        drm_unset_busid(dev, master);