summaryrefslogtreecommitdiff
path: root/include/drm/drm_device.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2020-02-20 18:16:28 +0300
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2021-01-05 08:20:29 +0300
commit8dbe1b4a15977f31f6b3b79e577ad96a795c9827 (patch)
treea9c5577798d630be49656861d6dee0bea6d2bfc8 /include/drm/drm_device.h
parent47f10854ca8958c5bf31c3a3fcd8e2c73ccc9925 (diff)
downloadlinux-8dbe1b4a15977f31f6b3b79e577ad96a795c9827.tar.xz
drm: Move legacy device list out of drm_driver
The drm_driver structure contains a single field (legacy_dev_list) that is modified by the DRM core, used to store a linked list of legacy DRM devices associated with the driver. In order to make the structure const, move the field out to a global variable. This requires locking access to the global where the local field didn't require serialization, but this only affects legacy drivers, and isn't in any hot path. While at it, compile-out the legacy_dev_list field when DRM_LEGACY isn't defined. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'include/drm/drm_device.h')
-rw-r--r--include/drm/drm_device.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
index 283a93ce4617..bd5abe7cd48f 100644
--- a/include/drm/drm_device.h
+++ b/include/drm/drm_device.h
@@ -51,13 +51,6 @@ enum switch_power_state {
* may contain multiple heads.
*/
struct drm_device {
- /**
- * @legacy_dev_list:
- *
- * List of devices per driver for stealth attach cleanup
- */
- struct list_head legacy_dev_list;
-
/** @if_version: Highest interface version set */
int if_version;
@@ -336,6 +329,9 @@ struct drm_device {
/* Everything below here is for legacy driver, never use! */
/* private: */
#if IS_ENABLED(CONFIG_DRM_LEGACY)
+ /* List of devices per driver for stealth attach cleanup */
+ struct list_head legacy_dev_list;
+
/* Context handle management - linked list of context handles */
struct list_head ctxlist;