aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-12-11 05:34:31 -0500
committerDave Airlie <airlied@redhat.com>2013-12-17 20:08:36 -0500
commitb3f2333de8e81b089262b26d52272911523e605f (patch)
tree87ef5955626f28cae518ffebce00ece5487f45e9 /include/drm
parente2577d455adb165e1046816e5ed092cc6d60f35a (diff)
drm: restrict the device list for shadow attached drivers
There's really no need for the drm core to keep a list of all devices of a given driver - the linux device model keeps perfect track of this already for us. The exception is old legacy ums drivers using pci shadow attaching. So rename the lists to make the use case clearer and rip out everything else. v2: Rebase on top of David Herrmann's drm device register changes. Also drop the bogus dev_set_drvdata for platform drivers that somehow crept into the original version - drivers really should be in full control of that field. v3: Initialize driver->legacy_dev_list outside of the loop, spotted by David Herrmann. v4: Rebase on top of the newly created host1x drm_bus for tegra. Cc: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drmP.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 2f725b767a19..de86cce1e074 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1012,8 +1012,8 @@ struct drm_driver {
1012 } kdriver; 1012 } kdriver;
1013 struct drm_bus *bus; 1013 struct drm_bus *bus;
1014 1014
1015 /* List of devices hanging off this driver */ 1015 /* List of devices hanging off this driver with stealth attach. */
1016 struct list_head device_list; 1016 struct list_head legacy_dev_list;
1017}; 1017};
1018 1018
1019#define DRM_MINOR_UNASSIGNED 0 1019#define DRM_MINOR_UNASSIGNED 0
@@ -1102,7 +1102,7 @@ struct drm_vblank_crtc {
1102 * may contain multiple heads. 1102 * may contain multiple heads.
1103 */ 1103 */
1104struct drm_device { 1104struct drm_device {
1105 struct list_head driver_item; /**< list of devices per driver */ 1105 struct list_head legacy_dev_list;/**< list of devices per driver for stealth attach cleanup */
1106 char *devname; /**< For /proc/interrupts */ 1106 char *devname; /**< For /proc/interrupts */
1107 int if_version; /**< Highest interface version set */ 1107 int if_version; /**< Highest interface version set */
1108 1108