63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| /*
 | |
|  * cec-priv.h - HDMI Consumer Electronics Control internal header
 | |
|  *
 | |
|  * Copyright 2016 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
 | |
|  */
 | |
| 
 | |
| #ifndef _CEC_PRIV_H
 | |
| #define _CEC_PRIV_H
 | |
| 
 | |
| #include <linux/cec-funcs.h>
 | |
| #include <media/cec-notifier.h>
 | |
| 
 | |
| #define dprintk(lvl, fmt, arg...)					\
 | |
| 	do {								\
 | |
| 		if (lvl <= cec_debug)					\
 | |
| 			pr_info("cec-%s: " fmt, adap->name, ## arg);	\
 | |
| 	} while (0)
 | |
| 
 | |
| #define call_op(adap, op, arg...)					\
 | |
| 	((adap->ops->op && !adap->devnode.unregistered) ?		\
 | |
| 	 adap->ops->op(adap, ## arg) : 0)
 | |
| 
 | |
| #define call_void_op(adap, op, arg...)					\
 | |
| 	do {								\
 | |
| 		if (adap->ops->op && !adap->devnode.unregistered)	\
 | |
| 			adap->ops->op(adap, ## arg);			\
 | |
| 	} while (0)
 | |
| 
 | |
| /* devnode to cec_adapter */
 | |
| #define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
 | |
| 
 | |
| static inline bool msg_is_raw(const struct cec_msg *msg)
 | |
| {
 | |
| 	return msg->flags & CEC_MSG_FL_RAW;
 | |
| }
 | |
| 
 | |
| /* cec-core.c */
 | |
| extern int cec_debug;
 | |
| int cec_get_device(struct cec_devnode *devnode);
 | |
| void cec_put_device(struct cec_devnode *devnode);
 | |
| 
 | |
| /* cec-adap.c */
 | |
| int cec_monitor_all_cnt_inc(struct cec_adapter *adap);
 | |
| void cec_monitor_all_cnt_dec(struct cec_adapter *adap);
 | |
| int cec_monitor_pin_cnt_inc(struct cec_adapter *adap);
 | |
| void cec_monitor_pin_cnt_dec(struct cec_adapter *adap);
 | |
| int cec_adap_status(struct seq_file *file, void *priv);
 | |
| int cec_thread_func(void *_adap);
 | |
| int cec_adap_enable(struct cec_adapter *adap);
 | |
| void __cec_s_phys_addr(struct cec_adapter *adap, u16 phys_addr, bool block);
 | |
| int __cec_s_log_addrs(struct cec_adapter *adap,
 | |
| 		      struct cec_log_addrs *log_addrs, bool block);
 | |
| int cec_transmit_msg_fh(struct cec_adapter *adap, struct cec_msg *msg,
 | |
| 			struct cec_fh *fh, bool block);
 | |
| void cec_queue_event_fh(struct cec_fh *fh,
 | |
| 			const struct cec_event *new_ev, u64 ts);
 | |
| 
 | |
| /* cec-api.c */
 | |
| extern const struct file_operations cec_devnode_fops;
 | |
| 
 | |
| #endif
 |