OSDN Git Service

drm: drm_connector->s/connector_id/index/ for consistency
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Jul 2016 16:25:01 +0000 (18:25 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Jul 2016 19:51:17 +0000 (21:51 +0200)
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
drivers/gpu/drm/drm_crtc.c
include/drm/drm_crtc.h

index 1dfbad9..f1d9f05 100644 (file)
@@ -928,11 +928,11 @@ int drm_connector_init(struct drm_device *dev,
        connector->dev = dev;
        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;
-       }
+       connector->index = ret;
+       ret = 0;
 
        connector->connector_type = connector_type;
        connector->connector_type_id =
@@ -980,7 +980,7 @@ out_put_type_id:
                ida_remove(connector_ida, connector->connector_type_id);
 out_put_id:
        if (ret)
-               ida_remove(&config->connector_ida, connector->connector_id);
+               ida_remove(&config->connector_ida, connector->index);
 out_put:
        if (ret)
                drm_mode_object_unregister(dev, &connector->base);
@@ -1024,7 +1024,7 @@ void drm_connector_cleanup(struct drm_connector *connector)
                   connector->connector_type_id);
 
        ida_remove(&dev->mode_config.connector_ida,
-                  connector->connector_id);
+                  connector->index);
 
        kfree(connector->display_info.bus_formats);
        drm_mode_object_unregister(dev, &connector->base);
index f8ba5aa..3edeaf8 100644 (file)
@@ -1246,7 +1246,6 @@ struct drm_encoder {
  * @head: list management
  * @base: base KMS object
  * @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_id: index into connector type enum
  * @interlace_allowed: can this connector handle interlaced modes?
@@ -1303,7 +1302,15 @@ struct drm_connector {
        struct drm_mode_object base;
 
        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_id;
        bool interlace_allowed;
@@ -2764,7 +2771,7 @@ void drm_connector_unregister(struct drm_connector *connector);
 extern void drm_connector_cleanup(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)