|
@@ -956,6 +956,33 @@ struct drm_connector_funcs {
|
|
|
int (*set_property)(struct drm_connector *connector, struct drm_property *property,
|
|
|
uint64_t val);
|
|
|
|
|
|
+ /**
|
|
|
+ * @late_register:
|
|
|
+ *
|
|
|
+ * This optional hook can be used to register additional userspace
|
|
|
+ * interfaces attached to the connector, light backlight control, i2c,
|
|
|
+ * DP aux or similar interfaces. It is called late in the driver load
|
|
|
+ * sequence from drm_connector_register() when registering all the
|
|
|
+ * core drm connector interfaces. Everything added from this callback
|
|
|
+ * should be unregistered in the early_unregister callback.
|
|
|
+ *
|
|
|
+ * Returns:
|
|
|
+ *
|
|
|
+ * 0 on success, or a negative error code on failure.
|
|
|
+ */
|
|
|
+ int (*late_register)(struct drm_connector *connector);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @early_unregister:
|
|
|
+ *
|
|
|
+ * This optional hook should be used to unregister the additional
|
|
|
+ * userspace interfaces attached to the connector from
|
|
|
+ * late_unregister(). It is called from drm_connector_unregister(),
|
|
|
+ * early in the driver unload sequence to disable userspace access
|
|
|
+ * before data structures are torndown.
|
|
|
+ */
|
|
|
+ void (*early_unregister)(struct drm_connector *connector);
|
|
|
+
|
|
|
/**
|
|
|
* @destroy:
|
|
|
*
|