| /* | |
| * ImgTec IR Raw Decoder found in PowerDown Controller. | |
| * | |
| * Copyright 2010-2014 Imagination Technologies Ltd. | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License as published by the | |
| * Free Software Foundation; either version 2 of the License, or (at your | |
| * option) any later version. | |
| */ | |
| #ifndef _IMG_IR_RAW_H_ | |
| #define _IMG_IR_RAW_H_ | |
| struct img_ir_priv; | |
| #ifdef CONFIG_IR_IMG_RAW | |
| /** | |
| * struct img_ir_priv_raw - Private driver data for raw decoder. | |
| * @rdev: Raw remote control device | |
| * @timer: Timer to echo samples to keep soft decoders happy. | |
| * @last_status: Last raw status bits. | |
| */ | |
| struct img_ir_priv_raw { | |
| struct rc_dev *rdev; | |
| struct timer_list timer; | |
| u32 last_status; | |
| }; | |
| static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw) | |
| { | |
| return raw->rdev; | |
| }; | |
| void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status); | |
| void img_ir_setup_raw(struct img_ir_priv *priv); | |
| int img_ir_probe_raw(struct img_ir_priv *priv); | |
| void img_ir_remove_raw(struct img_ir_priv *priv); | |
| #else | |
| struct img_ir_priv_raw { | |
| }; | |
| static inline bool img_ir_raw_enabled(struct img_ir_priv_raw *raw) | |
| { | |
| return false; | |
| }; | |
| static inline void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status) | |
| { | |
| } | |
| static inline void img_ir_setup_raw(struct img_ir_priv *priv) | |
| { | |
| } | |
| static inline int img_ir_probe_raw(struct img_ir_priv *priv) | |
| { | |
| return -ENODEV; | |
| } | |
| static inline void img_ir_remove_raw(struct img_ir_priv *priv) | |
| { | |
| } | |
| #endif /* CONFIG_IR_IMG_RAW */ | |
| #endif /* _IMG_IR_RAW_H_ */ |