66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * 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_ */
 |