xref: /OK3568_Linux_fs/kernel/drivers/media/common/siano/smsir.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0+ */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Siano Mobile Silicon, Inc.
5*4882a593Smuzhiyun  * MDTV receiver kernel modules.
6*4882a593Smuzhiyun  * Copyright (C) 2006-2009, Uri Shkolnik
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  * Copyright (c) 2010 - Mauro Carvalho Chehab
9*4882a593Smuzhiyun  *	- Ported the driver to use rc-core
10*4882a593Smuzhiyun  *	- IR raw event decoding is now done at rc-core
11*4882a593Smuzhiyun  *	- Code almost re-written
12*4882a593Smuzhiyun  */
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun #ifndef __SMS_IR_H__
15*4882a593Smuzhiyun #define __SMS_IR_H__
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #include <linux/input.h>
18*4882a593Smuzhiyun #include <media/rc-core.h>
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun struct smscore_device_t;
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun struct ir_t {
23*4882a593Smuzhiyun 	struct rc_dev *dev;
24*4882a593Smuzhiyun 	char name[40];
25*4882a593Smuzhiyun 	char phys[32];
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun 	char *rc_codes;
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun 	u32 timeout;
30*4882a593Smuzhiyun 	u32 controller;
31*4882a593Smuzhiyun };
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun #ifdef CONFIG_SMS_SIANO_RC
34*4882a593Smuzhiyun int sms_ir_init(struct smscore_device_t *coredev);
35*4882a593Smuzhiyun void sms_ir_exit(struct smscore_device_t *coredev);
36*4882a593Smuzhiyun void sms_ir_event(struct smscore_device_t *coredev,
37*4882a593Smuzhiyun 			const char *buf, int len);
38*4882a593Smuzhiyun #else
sms_ir_init(struct smscore_device_t * coredev)39*4882a593Smuzhiyun inline static int sms_ir_init(struct smscore_device_t *coredev) {
40*4882a593Smuzhiyun 	return 0;
41*4882a593Smuzhiyun }
sms_ir_exit(struct smscore_device_t * coredev)42*4882a593Smuzhiyun inline static void sms_ir_exit(struct smscore_device_t *coredev) {};
sms_ir_event(struct smscore_device_t * coredev,const char * buf,int len)43*4882a593Smuzhiyun inline static void sms_ir_event(struct smscore_device_t *coredev,
44*4882a593Smuzhiyun 			const char *buf, int len) {};
45*4882a593Smuzhiyun #endif
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun #endif /* __SMS_IR_H__ */
48*4882a593Smuzhiyun 
49