include/drm/drm_bridge.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)
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
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
include/drm/drm_bridge.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index 8ed80cad77ec4b40d0aa6159e802a2839d5b8792..b0e6653ee42ecc088f420a9a32cf3b0428737a4a 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -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);
---
base-commit: a933d3dc1968fcfb0ab72879ec304b1971ed1b9a
change-id: 20250801-drm-hdmi-cec-docs-541ee6afa5fa
Best regards,
--
With best wishes
Dmitry
On 01/08/2025 12:46, Dmitry Baryshkov wrote:
> 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
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> include/drm/drm_bridge.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
>
> diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
> index 8ed80cad77ec4b40d0aa6159e802a2839d5b8792..b0e6653ee42ecc088f420a9a32cf3b0428737a4a 100644
> --- a/include/drm/drm_bridge.h
> +++ b/include/drm/drm_bridge.h
> @@ -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);
>
>
> ---
> base-commit: a933d3dc1968fcfb0ab72879ec304b1971ed1b9a
> change-id: 20250801-drm-hdmi-cec-docs-541ee6afa5fa
>
> Best regards,
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
On Fri, 01 Aug 2025 13:46:41 +0300, Dmitry Baryshkov wrote:
> Provide documentation for the drm_bridge callbacks related to the
> DRM_BRIDGE_OP_HDMI_CEC_ADAPTER flag.
>
>
Applied to drm-misc-next-fixes, thanks!
[1/1] drm/bridge: document HDMI CEC callbacks
commit: eec8e8c048caa826ecbde7bf40f0ac2d11eef99d
Best regards,
--
With best wishes
Dmitry
© 2016 - 2026 Red Hat, Inc.