xref: /openbmc/linux/drivers/media/common/siano/smsir.h (revision 0013ca8c)
10013ca8cSMauro Carvalho Chehab /****************************************************************
20013ca8cSMauro Carvalho Chehab 
30013ca8cSMauro Carvalho Chehab Siano Mobile Silicon, Inc.
40013ca8cSMauro Carvalho Chehab MDTV receiver kernel modules.
50013ca8cSMauro Carvalho Chehab Copyright (C) 2006-2009, Uri Shkolnik
60013ca8cSMauro Carvalho Chehab 
70013ca8cSMauro Carvalho Chehab  Copyright (c) 2010 - Mauro Carvalho Chehab
80013ca8cSMauro Carvalho Chehab 	- Ported the driver to use rc-core
90013ca8cSMauro Carvalho Chehab 	- IR raw event decoding is now done at rc-core
100013ca8cSMauro Carvalho Chehab 	- Code almost re-written
110013ca8cSMauro Carvalho Chehab 
120013ca8cSMauro Carvalho Chehab This program is free software: you can redistribute it and/or modify
130013ca8cSMauro Carvalho Chehab it under the terms of the GNU General Public License as published by
140013ca8cSMauro Carvalho Chehab the Free Software Foundation, either version 2 of the License, or
150013ca8cSMauro Carvalho Chehab (at your option) any later version.
160013ca8cSMauro Carvalho Chehab 
170013ca8cSMauro Carvalho Chehab  This program is distributed in the hope that it will be useful,
180013ca8cSMauro Carvalho Chehab but WITHOUT ANY WARRANTY; without even the implied warranty of
190013ca8cSMauro Carvalho Chehab MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
200013ca8cSMauro Carvalho Chehab GNU General Public License for more details.
210013ca8cSMauro Carvalho Chehab 
220013ca8cSMauro Carvalho Chehab You should have received a copy of the GNU General Public License
230013ca8cSMauro Carvalho Chehab along with this program.  If not, see <http://www.gnu.org/licenses/>.
240013ca8cSMauro Carvalho Chehab 
250013ca8cSMauro Carvalho Chehab ****************************************************************/
260013ca8cSMauro Carvalho Chehab 
270013ca8cSMauro Carvalho Chehab #ifndef __SMS_IR_H__
280013ca8cSMauro Carvalho Chehab #define __SMS_IR_H__
290013ca8cSMauro Carvalho Chehab 
300013ca8cSMauro Carvalho Chehab #include <linux/input.h>
310013ca8cSMauro Carvalho Chehab #include <media/rc-core.h>
320013ca8cSMauro Carvalho Chehab 
330013ca8cSMauro Carvalho Chehab #define IR_DEFAULT_TIMEOUT		100
340013ca8cSMauro Carvalho Chehab 
350013ca8cSMauro Carvalho Chehab struct smscore_device_t;
360013ca8cSMauro Carvalho Chehab 
370013ca8cSMauro Carvalho Chehab struct ir_t {
380013ca8cSMauro Carvalho Chehab 	struct rc_dev *dev;
390013ca8cSMauro Carvalho Chehab 	char name[40];
400013ca8cSMauro Carvalho Chehab 	char phys[32];
410013ca8cSMauro Carvalho Chehab 
420013ca8cSMauro Carvalho Chehab 	char *rc_codes;
430013ca8cSMauro Carvalho Chehab 	u64 protocol;
440013ca8cSMauro Carvalho Chehab 
450013ca8cSMauro Carvalho Chehab 	u32 timeout;
460013ca8cSMauro Carvalho Chehab 	u32 controller;
470013ca8cSMauro Carvalho Chehab };
480013ca8cSMauro Carvalho Chehab 
490013ca8cSMauro Carvalho Chehab int sms_ir_init(struct smscore_device_t *coredev);
500013ca8cSMauro Carvalho Chehab void sms_ir_exit(struct smscore_device_t *coredev);
510013ca8cSMauro Carvalho Chehab void sms_ir_event(struct smscore_device_t *coredev,
520013ca8cSMauro Carvalho Chehab 			const char *buf, int len);
530013ca8cSMauro Carvalho Chehab 
540013ca8cSMauro Carvalho Chehab #endif /* __SMS_IR_H__ */
550013ca8cSMauro Carvalho Chehab 
56