1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * ImgTec IR Raw Decoder found in PowerDown Controller.
4 *
5 * Copyright 2010-2014 Imagination Technologies Ltd.
6 */
7
8#ifndef _IMG_IR_RAW_H_
9#define _IMG_IR_RAW_H_
10
11struct img_ir_priv;
12
13#ifdef CONFIG_IR_IMG_RAW
14
15/**
16 * struct img_ir_priv_raw - Private driver data for raw decoder.
17 * @rdev: Raw remote control device
18 * @timer: Timer to echo samples to keep soft decoders happy.
19 * @last_status: Last raw status bits.
20 */
21struct img_ir_priv_raw {
22 struct rc_dev *rdev;
23 struct timer_list timer;
24 u32 last_status;
25};
26
27static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw)
28{
29 return raw->rdev;
30};
31
32void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status);
33void img_ir_setup_raw(struct img_ir_priv *priv);
34int img_ir_probe_raw(struct img_ir_priv *priv);
35void img_ir_remove_raw(struct img_ir_priv *priv);
36
37#else
38
39struct img_ir_priv_raw {
40};
41static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw)
42{
43 return false;
44};
45static inline void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status)
46{
47}
48static inline void img_ir_setup_raw(struct img_ir_priv *priv)
49{
50}
51static inline int img_ir_probe_raw(struct img_ir_priv *priv)
52{
53 return -ENODEV;
54}
55static inline void img_ir_remove_raw(struct img_ir_priv *priv)
56{
57}
58
59#endif /* CONFIG_IR_IMG_RAW */
60
61#endif /* _IMG_IR_RAW_H_ */
62

source code of linux/drivers/media/rc/img-ir/img-ir-raw.h