Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_sysfs.c
index 430e00b..1831303 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/kdev_t.h>
 #include <linux/slab.h>
 
+#include <drm/drm_accel.h>
 #include <drm/drm_connector.h>
 #include <drm/drm_device.h>
 #include <drm/drm_file.h>
@@ -90,7 +91,7 @@ static void drm_sysfs_acpi_register(void) { }
 static void drm_sysfs_acpi_unregister(void) { }
 #endif
 
-static char *drm_devnode(struct device *dev, umode_t *mode)
+static char *drm_devnode(const struct device *dev, umode_t *mode)
 {
        return kasprintf(GFP_KERNEL, "dri/%s", dev_name(dev));
 }
@@ -471,19 +472,26 @@ struct device *drm_sysfs_minor_alloc(struct drm_minor *minor)
        struct device *kdev;
        int r;
 
-       if (minor->type == DRM_MINOR_RENDER)
-               minor_str = "renderD%d";
-       else
-               minor_str = "card%d";
-
        kdev = kzalloc(sizeof(*kdev), GFP_KERNEL);
        if (!kdev)
                return ERR_PTR(-ENOMEM);
 
        device_initialize(kdev);
-       kdev->devt = MKDEV(DRM_MAJOR, minor->index);
-       kdev->class = drm_class;
-       kdev->type = &drm_sysfs_device_minor;
+
+       if (minor->type == DRM_MINOR_ACCEL) {
+               minor_str = "accel%d";
+               accel_set_device_instance_params(kdev, minor->index);
+       } else {
+               if (minor->type == DRM_MINOR_RENDER)
+                       minor_str = "renderD%d";
+               else
+                       minor_str = "card%d";
+
+               kdev->devt = MKDEV(DRM_MAJOR, minor->index);
+               kdev->class = drm_class;
+               kdev->type = &drm_sysfs_device_minor;
+       }
+
        kdev->parent = minor->dev->dev;
        kdev->release = drm_sysfs_release;
        dev_set_drvdata(kdev, minor);