blob: 7bdf855aaecd73353a70ccbb38f4921d12166b23 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * cec-priv.h - HDMI Consumer Electronics Control internal header
4 *
5 * Copyright 2016 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
6 */
7
8#ifndef _CEC_PRIV_H
9#define _CEC_PRIV_H
10
11#include <linux/cec-funcs.h>
12#include <media/cec.h>
13
14#define dprintk(lvl, fmt, arg...) \
15 do { \
16 if (lvl <= cec_debug) \
17 pr_info("cec-%s: " fmt, adap->name, ## arg); \
18 } while (0)
19
20/* devnode to cec_adapter */
21#define to_cec_adapter(node) container_of(node, struct cec_adapter, devnode)
22
David Brazdil0f672f62019-12-10 10:32:29 +000023static inline bool msg_is_raw(const struct cec_msg *msg)
24{
25 return msg->flags & CEC_MSG_FL_RAW;
26}
27
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000028/* cec-core.c */
29extern int cec_debug;
30int cec_get_device(struct cec_devnode *devnode);
31void cec_put_device(struct cec_devnode *devnode);
32
33/* cec-adap.c */
34int cec_monitor_all_cnt_inc(struct cec_adapter *adap);
35void cec_monitor_all_cnt_dec(struct cec_adapter *adap);
36int cec_monitor_pin_cnt_inc(struct cec_adapter *adap);
37void cec_monitor_pin_cnt_dec(struct cec_adapter *adap);
38int cec_adap_status(struct seq_file *file, void *priv);
39int cec_thread_func(void *_adap);
40void __cec_s_phys_addr(struct cec_adapter *adap, u16 phys_addr, bool block);
41int __cec_s_log_addrs(struct cec_adapter *adap,
42 struct cec_log_addrs *log_addrs, bool block);
43int cec_transmit_msg_fh(struct cec_adapter *adap, struct cec_msg *msg,
44 struct cec_fh *fh, bool block);
45void cec_queue_event_fh(struct cec_fh *fh,
46 const struct cec_event *new_ev, u64 ts);
47
48/* cec-api.c */
49extern const struct file_operations cec_devnode_fops;
50
51#endif