drm: platform multi-device support
authorRob Clark <rob@ti.com>
Thu, 14 Jul 2011 03:12:43 +0000 (03:12 +0000)
committerDave Airlie <airlied@redhat.com>
Fri, 15 Jul 2011 05:52:58 +0000 (06:52 +0100)
Include the device id in the bus-id to give userspace a way to open
the correct "cardN" when there are multiple device instances.

Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_platform.c

index 7223f06..2a8b626 100644 (file)
@@ -123,14 +123,15 @@ static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *mas
 {
        int len, ret;
 
-       master->unique_len = 10 + strlen(dev->platformdev->name);
+       master->unique_len = 13 + strlen(dev->platformdev->name);
+       master->unique_size = master->unique_len;
        master->unique = kmalloc(master->unique_len + 1, GFP_KERNEL);
 
        if (master->unique == NULL)
                return -ENOMEM;
 
        len = snprintf(master->unique, master->unique_len,
-                      "platform:%s", dev->platformdev->name);
+                       "platform:%s:%02d", dev->platformdev->name, dev->platformdev->id);
 
        if (len > master->unique_len) {
                DRM_ERROR("Unique buffer overflowed\n");