Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.17 72 lines 2.0 kB view raw
1/* SPDX-License-Identifier: MIT */ 2 3#ifndef DRM_DISPLAY_HDMI_CEC_HELPER 4#define DRM_DISPLAY_HDMI_CEC_HELPER 5 6#include <linux/types.h> 7 8struct drm_connector; 9 10struct cec_msg; 11struct device; 12 13struct drm_connector_hdmi_cec_funcs { 14 /** 15 * @init: perform hardware-specific initialization before registering the CEC adapter 16 */ 17 int (*init)(struct drm_connector *connector); 18 19 /** 20 * @uninit: perform hardware-specific teardown for the CEC adapter 21 */ 22 void (*uninit)(struct drm_connector *connector); 23 24 /** 25 * @enable: enable or disable CEC adapter 26 */ 27 int (*enable)(struct drm_connector *connector, bool enable); 28 29 /** 30 * @log_addr: set adapter's logical address, can be called multiple 31 * times if adapter supports several LAs 32 */ 33 int (*log_addr)(struct drm_connector *connector, u8 logical_addr); 34 35 /** 36 * @transmit: start transmission of the specified CEC message 37 */ 38 int (*transmit)(struct drm_connector *connector, u8 attempts, 39 u32 signal_free_time, struct cec_msg *msg); 40}; 41 42int drmm_connector_hdmi_cec_register(struct drm_connector *connector, 43 const struct drm_connector_hdmi_cec_funcs *funcs, 44 const char *name, 45 u8 available_las, 46 struct device *dev); 47 48void drm_connector_hdmi_cec_received_msg(struct drm_connector *connector, 49 struct cec_msg *msg); 50 51void drm_connector_hdmi_cec_transmit_done(struct drm_connector *connector, 52 u8 status, 53 u8 arb_lost_cnt, u8 nack_cnt, 54 u8 low_drive_cnt, u8 error_cnt); 55 56void drm_connector_hdmi_cec_transmit_attempt_done(struct drm_connector *connector, 57 u8 status); 58 59#if IS_ENABLED(CONFIG_DRM_DISPLAY_HDMI_CEC_NOTIFIER_HELPER) 60int drmm_connector_hdmi_cec_notifier_register(struct drm_connector *connector, 61 const char *port_name, 62 struct device *dev); 63#else 64static inline int drmm_connector_hdmi_cec_notifier_register(struct drm_connector *connector, 65 const char *port_name, 66 struct device *dev) 67{ 68 return 0; 69} 70#endif 71 72#endif