aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_platform.c')
-rw-r--r--drivers/gpu/drm/drm_platform.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_platform.c b/drivers/gpu/drm/drm_platform.c
index ae9db5e2b27c..82431dcae37b 100644
--- a/drivers/gpu/drm/drm_platform.c
+++ b/drivers/gpu/drm/drm_platform.c
@@ -122,7 +122,7 @@ static const char *drm_platform_get_name(struct drm_device *dev)
122 122
123static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *master) 123static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *master)
124{ 124{
125 int len, ret; 125 int len, ret, id;
126 126
127 master->unique_len = 13 + strlen(dev->platformdev->name); 127 master->unique_len = 13 + strlen(dev->platformdev->name);
128 master->unique_size = master->unique_len; 128 master->unique_size = master->unique_len;
@@ -131,8 +131,16 @@ static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *mas
131 if (master->unique == NULL) 131 if (master->unique == NULL)
132 return -ENOMEM; 132 return -ENOMEM;
133 133
134 id = dev->platformdev->id;
135
136 /* if only a single instance of the platform device, id will be
137 * set to -1.. use 0 instead to avoid a funny looking bus-id:
138 */
139 if (id == -1)
140 id = 0;
141
134 len = snprintf(master->unique, master->unique_len, 142 len = snprintf(master->unique, master->unique_len,
135 "platform:%s:%02d", dev->platformdev->name, dev->platformdev->id); 143 "platform:%s:%02d", dev->platformdev->name, id);
136 144
137 if (len > master->unique_len) { 145 if (len > master->unique_len) {
138 DRM_ERROR("Unique buffer overflowed\n"); 146 DRM_ERROR("Unique buffer overflowed\n");