]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/bridge: document HDMI CEC callbacks
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Fri, 1 Aug 2025 10:46:41 +0000 (13:46 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Tue, 5 Aug 2025 10:50:19 +0000 (13:50 +0300)
Provide documentation for the drm_bridge callbacks related to the
DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag.

Fixes: a74288c8ded7 ("drm/display: bridge-connector: handle CEC adapters")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/r/20250611140933.1429a1b8@canb.auug.org.au
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250801-drm-hdmi-cec-docs-v1-1-be63e6008d0e@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
include/drm/drm_bridge.h

index 8ed80cad77ec4b40d0aa6159e802a2839d5b8792..b0e6653ee42ecc088f420a9a32cf3b0428737a4a 100644 (file)
@@ -866,13 +866,61 @@ struct drm_bridge_funcs {
                                      struct drm_connector *connector,
                                      bool enable, int direction);
 
+       /**
+        * @hdmi_cec_init:
+        *
+        * Initialize CEC part of the bridge.
+        *
+        * This callback is optional, it can be implemented by bridges that
+        * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
+        * &drm_bridge->ops.
+        *
+        * Returns:
+        * 0 on success, a negative error code otherwise
+        */
        int (*hdmi_cec_init)(struct drm_bridge *bridge,
                             struct drm_connector *connector);
 
+       /**
+        * @hdmi_cec_enable:
+        *
+        * Enable or disable the CEC adapter inside the bridge.
+        *
+        * This callback is optional, it can be implemented by bridges that
+        * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
+        * &drm_bridge->ops.
+        *
+        * Returns:
+        * 0 on success, a negative error code otherwise
+        */
        int (*hdmi_cec_enable)(struct drm_bridge *bridge, bool enable);
 
+       /**
+        * @hdmi_cec_log_addr:
+        *
+        * Set the logical address of the CEC adapter inside the bridge.
+        *
+        * This callback is optional, it can be implemented by bridges that
+        * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
+        * &drm_bridge->ops.
+        *
+        * Returns:
+        * 0 on success, a negative error code otherwise
+        */
        int (*hdmi_cec_log_addr)(struct drm_bridge *bridge, u8 logical_addr);
 
+       /**
+        * @hdmi_cec_transmit:
+        *
+        * Transmit the message using the CEC adapter inside the bridge.
+        *
+        * This callback is optional, it can be implemented by bridges that
+        * set the @DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag in their
+        * &drm_bridge->ops.
+        *
+        * Returns:
+        * 0 on success, a negative error code otherwise
+        */
        int (*hdmi_cec_transmit)(struct drm_bridge *bridge, u8 attempts,
                                 u32 signal_free_time, struct cec_msg *msg);