[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87plgtvqla.fsf@intel.com>
Date: Wed, 30 Apr 2025 14:25:21 +0300
From: Jani Nikula <jani.nikula@...ux.intel.com>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>, Maarten Lankhorst
<maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>, Dave Stevenson
<dave.stevenson@...pberrypi.com>, MaĆra Canal
<mcanal@...lia.com>,
Raspberry Pi Kernel Maintenance <kernel-list@...pberrypi.com>, Andrzej
Hajda <andrzej.hajda@...el.com>, Neil Armstrong
<neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>, Laurent
Pinchart <Laurent.pinchart@...asonboard.com>, Jonas Karlman
<jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org, Dmitry
Baryshkov <lumag@...nel.org>
Subject: Re: [PATCH v5 06/11] drm/display: add CEC helpers code
On Mon, 07 Apr 2025, Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com> wrote:
> diff --git a/include/drm/display/drm_hdmi_cec_helper.h b/include/drm/display/drm_hdmi_cec_helper.h
> new file mode 100644
> index 0000000000000000000000000000000000000000..39bb6d12acb35f539a4a6cd1b61ce97bf4e063ab
> --- /dev/null
> +++ b/include/drm/display/drm_hdmi_cec_helper.h
> @@ -0,0 +1,74 @@
> +/* SPDX-License-Identifier: MIT */
> +
> +#ifndef DRM_DISPLAY_HDMI_CEC_HELPER
> +#define DRM_DISPLAY_HDMI_CEC_HELPER
> +
> +#include <drm/drm_connector.h>
Is there anything in this file that requires that include?
> +
> +#include <linux/types.h>
> +
> +struct drm_connector;
> +
> +struct cec_msg;
> +struct device;
> +
> +struct drm_connector_hdmi_cec_funcs {
> + /**
> + * @init: perform hardware-specific initialization before registering the CEC adapter
> + */
> + int (*init)(struct drm_connector *connector);
> +
> + /**
> + * @uninit: perform hardware-specific teardown for the CEC adapter
> + */
> + void (*uninit)(struct drm_connector *connector);
> +
> + /**
> + * @enable: enable or disable CEC adapter
> + */
> + int (*enable)(struct drm_connector *connector, bool enable);
> +
> + /**
> + * @log_addr: set adapter's logical address, can be called multiple
> + * times if adapter supports several LAs
> + */
> + int (*log_addr)(struct drm_connector *connector, u8 logical_addr);
> +
> + /**
> + * @transmit: start transmission of the specified CEC message
> + */
> + int (*transmit)(struct drm_connector *connector, u8 attempts,
> + u32 signal_free_time, struct cec_msg *msg);
> +};
> +
> +int drm_connector_hdmi_cec_register(struct drm_connector *connector,
> + const struct drm_connector_hdmi_cec_funcs *funcs,
> + const char *name,
> + u8 available_las,
> + struct device *dev);
> +
> +void drm_connector_hdmi_cec_received_msg(struct drm_connector *connector,
> + struct cec_msg *msg);
> +
> +void drm_connector_hdmi_cec_transmit_done(struct drm_connector *connector,
> + u8 status,
> + u8 arb_lost_cnt, u8 nack_cnt,
> + u8 low_drive_cnt, u8 error_cnt);
> +
> +void drm_connector_hdmi_cec_transmit_attempt_done(struct drm_connector *connector,
> + u8 status);
> +
> +#if IS_ENABLED(CONFIG_DRM_DISPLAY_HDMI_CEC_NOTIFIER_HELPER)
> +int drm_connector_hdmi_cec_notifier_register(struct drm_connector *connector,
> + const char *port_name,
> + struct device *dev);
> +#else
> +static inline int drm_connector_hdmi_cec_notifier_register(struct drm_connector *connector,
> + const char *port_name,
> + struct device *dev)
> +{
> + return 0;
> +}
> +#endif
> +
> +#endif
--
Jani Nikula, Intel
Powered by blists - more mailing lists