summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2016-06-14 20:50:58 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-06-16 10:16:58 +0200
commit34a839c689b093dac6bccc4e0aa6feffcf4c970e (patch)
tree4a6a6414c47a98daae69d218c100a6a8a846d736 /include
parent1a75a222f5ca1063249b5c92972d32dcc3c8966e (diff)
downloadlinux-34a839c689b093dac6bccc4e0aa6feffcf4c970e.tar.bz2
drm: Link directly from drm_master to drm_device
Master-based auth only exists for the legacy/primary drm_minor, hence there can only be one per device. The goal here is to untangle the epic dereference games of minor->master and master->minor which is just massively confusing. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1465930269-7883-4-git-send-email-daniel.vetter@ffwll.ch
Diffstat (limited to 'include')
-rw-r--r--include/drm/drmP.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 04310cb08111..6067fefc1ec9 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -379,16 +379,19 @@ struct drm_lock_data {
* struct drm_master - drm master structure
*
* @refcount: Refcount for this master object.
- * @minor: Link back to minor char device we are master for. Immutable.
+ * @dev: Link back to the DRM device
* @unique: Unique identifier: e.g. busid. Protected by drm_global_mutex.
* @unique_len: Length of unique field. Protected by drm_global_mutex.
* @magic_map: Map of used authentication tokens. Protected by struct_mutex.
* @lock: DRI lock information.
* @driver_priv: Pointer to driver-private information.
+ *
+ * Note that master structures are only relevant for the legacy/primary device
+ * nodes, hence there can only be one per device, not one per drm_minor.
*/
struct drm_master {
struct kref refcount;
- struct drm_minor *minor;
+ struct drm_device *dev;
char *unique;
int unique_len;
struct idr magic_map;