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