浏览代码

drm: drm_connector->s/connector_id/index/ for consistency

connector_id in the uapi actually means drm_connector->base.id, which
is something entirely different. And ->index is also consistent with
plane/encoder/CRTCS and the various drm_*_index() functions.

While at it also improve/align the kerneldoc comment.

v2: Mention where those ids are from ...

v3: Add -ing to supporting and try to not break the world.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1468945501-23166-1-git-send-email-daniel.vetter@ffwll.ch
Daniel Vetter 9 年之前
父节点
当前提交
6942559980
共有 2 个文件被更改,包括 16 次插入9 次删除
  1. 6 6
      drivers/gpu/drm/drm_crtc.c
  2. 10 3
      include/drm/drm_crtc.h

+ 6 - 6
drivers/gpu/drm/drm_crtc.c

@@ -928,11 +928,11 @@ int drm_connector_init(struct drm_device *dev,
 	connector->dev = dev;
 	connector->dev = dev;
 	connector->funcs = funcs;
 	connector->funcs = funcs;
 
 
-	connector->connector_id = ida_simple_get(&config->connector_ida, 0, 0, GFP_KERNEL);
-	if (connector->connector_id < 0) {
-		ret = connector->connector_id;
+	ret = ida_simple_get(&config->connector_ida, 0, 0, GFP_KERNEL);
+	if (ret < 0)
 		goto out_put;
 		goto out_put;
-	}
+	connector->index = ret;
+	ret = 0;
 
 
 	connector->connector_type = connector_type;
 	connector->connector_type = connector_type;
 	connector->connector_type_id =
 	connector->connector_type_id =
@@ -980,7 +980,7 @@ out_put_type_id:
 		ida_remove(connector_ida, connector->connector_type_id);
 		ida_remove(connector_ida, connector->connector_type_id);
 out_put_id:
 out_put_id:
 	if (ret)
 	if (ret)
-		ida_remove(&config->connector_ida, connector->connector_id);
+		ida_remove(&config->connector_ida, connector->index);
 out_put:
 out_put:
 	if (ret)
 	if (ret)
 		drm_mode_object_unregister(dev, &connector->base);
 		drm_mode_object_unregister(dev, &connector->base);
@@ -1024,7 +1024,7 @@ void drm_connector_cleanup(struct drm_connector *connector)
 		   connector->connector_type_id);
 		   connector->connector_type_id);
 
 
 	ida_remove(&dev->mode_config.connector_ida,
 	ida_remove(&dev->mode_config.connector_ida,
-		   connector->connector_id);
+		   connector->index);
 
 
 	kfree(connector->display_info.bus_formats);
 	kfree(connector->display_info.bus_formats);
 	drm_mode_object_unregister(dev, &connector->base);
 	drm_mode_object_unregister(dev, &connector->base);

+ 10 - 3
include/drm/drm_crtc.h

@@ -1246,7 +1246,6 @@ struct drm_encoder {
  * @head: list management
  * @head: list management
  * @base: base KMS object
  * @base: base KMS object
  * @name: human readable name, can be overwritten by the driver
  * @name: human readable name, can be overwritten by the driver
- * @connector_id: compacted connector id useful indexing arrays
  * @connector_type: one of the %DRM_MODE_CONNECTOR_<foo> types from drm_mode.h
  * @connector_type: one of the %DRM_MODE_CONNECTOR_<foo> types from drm_mode.h
  * @connector_type_id: index into connector type enum
  * @connector_type_id: index into connector type enum
  * @interlace_allowed: can this connector handle interlaced modes?
  * @interlace_allowed: can this connector handle interlaced modes?
@@ -1303,7 +1302,15 @@ struct drm_connector {
 	struct drm_mode_object base;
 	struct drm_mode_object base;
 
 
 	char *name;
 	char *name;
-	int connector_id;
+
+	/**
+	 * @index: Compacted connector index, which matches the position inside
+	 * the mode_config.list for drivers not supporting hot-add/removing. Can
+	 * be used as an array index. It is invariant over the lifetime of the
+	 * connector.
+	 */
+	unsigned index;
+
 	int connector_type;
 	int connector_type;
 	int connector_type_id;
 	int connector_type_id;
 	bool interlace_allowed;
 	bool interlace_allowed;
@@ -2764,7 +2771,7 @@ void drm_connector_unregister(struct drm_connector *connector);
 extern void drm_connector_cleanup(struct drm_connector *connector);
 extern void drm_connector_cleanup(struct drm_connector *connector);
 static inline unsigned drm_connector_index(struct drm_connector *connector)
 static inline unsigned drm_connector_index(struct drm_connector *connector)
 {
 {
-	return connector->connector_id;
+	return connector->index;
 }
 }
 
 
 extern __printf(5, 6)
 extern __printf(5, 6)