drm: add driver->set_busid() callback

One step closer to dropping all the drm_bus_* code:
Add a driver->set_busid() callback and make all drivers use the generic
helpers. Nouveau is the only driver that uses two different bus-types with
the same drm_driver. This is totally broken if both buses are available on
the same machine (unlikely, but lets be safe). Therefore, we create two
different drivers for each platform during module_init() and set the
set_busid() callback respectively.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
David Herrmann
2014-08-29 12:12:43 +02:00
committed by Dave Airlie
parent 1e444be0ef
commit 915b4d11b8
30 changed files with 59 additions and 9 deletions

View File

@@ -68,7 +68,7 @@ err_free:
return ret;
}
static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *master)
int drm_platform_set_busid(struct drm_device *dev, struct drm_master *master)
{
int id;
@@ -84,6 +84,7 @@ static int drm_platform_set_busid(struct drm_device *dev, struct drm_master *mas
master->unique_len = strlen(master->unique);
return 0;
}
EXPORT_SYMBOL(drm_platform_set_busid);
static struct drm_bus drm_platform_bus = {
.set_busid = drm_platform_set_busid,