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