Linux 4.19.133
[linux/fpc-iii.git] / drivers / media / rc / img-ir / img-ir-raw.h
blob4c9b7676e6fca0679dcd742afca21f6d805d23b2
1 /*
2 * ImgTec IR Raw Decoder found in PowerDown Controller.
4 * Copyright 2010-2014 Imagination Technologies Ltd.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
12 #ifndef _IMG_IR_RAW_H_
13 #define _IMG_IR_RAW_H_
15 struct img_ir_priv;
17 #ifdef CONFIG_IR_IMG_RAW
19 /**
20 * struct img_ir_priv_raw - Private driver data for raw decoder.
21 * @rdev: Raw remote control device
22 * @timer: Timer to echo samples to keep soft decoders happy.
23 * @last_status: Last raw status bits.
25 struct img_ir_priv_raw {
26 struct rc_dev *rdev;
27 struct timer_list timer;
28 u32 last_status;
31 static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw)
33 return raw->rdev;
36 void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status);
37 void img_ir_setup_raw(struct img_ir_priv *priv);
38 int img_ir_probe_raw(struct img_ir_priv *priv);
39 void img_ir_remove_raw(struct img_ir_priv *priv);
41 #else
43 struct img_ir_priv_raw {
45 static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw)
47 return false;
49 static inline void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status)
52 static inline void img_ir_setup_raw(struct img_ir_priv *priv)
55 static inline int img_ir_probe_raw(struct img_ir_priv *priv)
57 return -ENODEV;
59 static inline void img_ir_remove_raw(struct img_ir_priv *priv)
63 #endif /* CONFIG_IR_IMG_RAW */
65 #endif /* _IMG_IR_RAW_H_ */