Skip to content

Commit

Permalink
drm: cope with platformdev->id == -1
Browse files Browse the repository at this point in the history
If there are not multiple instances of a platform device, the id
should apparently be set to -1.  Which results in a odd looking
bus-id like "platform:foodrm:-1".  Probably we should just treat
this case as id 0.

Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Rob Clark authored and Dave Airlie committed Mar 7, 2012
1 parent 966e0cd commit b19c19a
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions drivers/gpu/drm/drm_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ static const char *drm_platform_get_name(struct drm_device *dev)

static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *master)
{
int len, ret;
int len, ret, id;

master->unique_len = 13 + strlen(dev->platformdev->name);
master->unique_size = master->unique_len;
Expand All @@ -131,8 +131,16 @@ static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *mas
if (master->unique == NULL)
return -ENOMEM;

id = dev->platformdev->id;

/* if only a single instance of the platform device, id will be
* set to -1.. use 0 instead to avoid a funny looking bus-id:
*/
if (id == -1)
id = 0;

len = snprintf(master->unique, master->unique_len,
"platform:%s:%02d", dev->platformdev->name, dev->platformdev->id);
"platform:%s:%02d", dev->platformdev->name, id);

if (len > master->unique_len) {
DRM_ERROR("Unique buffer overflowed\n");
Expand Down

0 comments on commit b19c19a

Please sign in to comment.