On 14/04/2025 17:52, Maxime Ripard wrote:
Hi,

On Mon, Apr 07, 2025 at 06:11:00PM +0300, Dmitry Baryshkov wrote:
+/**
+ * struct drm_connector_cec - DRM Connector CEC-related structure
+ */
+struct drm_connector_cec {
+       /**
+        * @mutex: protects all fields in this structure.
+        */
+       struct mutex mutex;
+
+       /**
+        * @funcs: CEC Control Functions
+        */
+       const struct drm_connector_cec_funcs *funcs;
+
+       /**
+        * @data: CEC implementation-specific data
+        */
+       void *data;

Is there a reason we don't just skip that data? The only user I'm seeing
so far are the helpers, and they only put the cec_adapter pointer in
there.

Can't we pass the connector to CEC and make the adapter part of 
drm_connector_cec?

It will be either cec_notifier or cec_adapter + drm_connector_hdmi_cec_funcs. Initially I sketched a union here, but then I thought that a void pointer makes more sense. It allows us to make CEC data helper-specific. For example, cec-pin might store platform callbacks here. DP CEC might need to store AUX pointer, etc.

--
With best wishes
Dmitry

Reply via email to