101da4444SNishad Kamdar /* SPDX-License-Identifier: GPL-2.0+ */ 21e6f57b2SMauro Carvalho Chehab /* 31e6f57b2SMauro Carvalho Chehab * 41e6f57b2SMauro Carvalho Chehab * Siano Mobile Silicon, Inc. 51e6f57b2SMauro Carvalho Chehab * MDTV receiver kernel modules. 61e6f57b2SMauro Carvalho Chehab * Copyright (C) 2006-2009, Uri Shkolnik 71e6f57b2SMauro Carvalho Chehab * 81e6f57b2SMauro Carvalho Chehab * Copyright (c) 2010 - Mauro Carvalho Chehab 91e6f57b2SMauro Carvalho Chehab * - Ported the driver to use rc-core 101e6f57b2SMauro Carvalho Chehab * - IR raw event decoding is now done at rc-core 111e6f57b2SMauro Carvalho Chehab * - Code almost re-written 121e6f57b2SMauro Carvalho Chehab */ 130013ca8cSMauro Carvalho Chehab 140013ca8cSMauro Carvalho Chehab #ifndef __SMS_IR_H__ 150013ca8cSMauro Carvalho Chehab #define __SMS_IR_H__ 160013ca8cSMauro Carvalho Chehab 170013ca8cSMauro Carvalho Chehab #include <linux/input.h> 180013ca8cSMauro Carvalho Chehab #include <media/rc-core.h> 190013ca8cSMauro Carvalho Chehab 200013ca8cSMauro Carvalho Chehab struct smscore_device_t; 210013ca8cSMauro Carvalho Chehab 220013ca8cSMauro Carvalho Chehab struct ir_t { 230013ca8cSMauro Carvalho Chehab struct rc_dev *dev; 240013ca8cSMauro Carvalho Chehab char name[40]; 250013ca8cSMauro Carvalho Chehab char phys[32]; 260013ca8cSMauro Carvalho Chehab 270013ca8cSMauro Carvalho Chehab char *rc_codes; 280013ca8cSMauro Carvalho Chehab 290013ca8cSMauro Carvalho Chehab u32 timeout; 300013ca8cSMauro Carvalho Chehab u32 controller; 310013ca8cSMauro Carvalho Chehab }; 320013ca8cSMauro Carvalho Chehab 33fdd1eeb4SMauro Carvalho Chehab #ifdef CONFIG_SMS_SIANO_RC 340013ca8cSMauro Carvalho Chehab int sms_ir_init(struct smscore_device_t *coredev); 350013ca8cSMauro Carvalho Chehab void sms_ir_exit(struct smscore_device_t *coredev); 360013ca8cSMauro Carvalho Chehab void sms_ir_event(struct smscore_device_t *coredev, 370013ca8cSMauro Carvalho Chehab const char *buf, int len); 38fdd1eeb4SMauro Carvalho Chehab #else sms_ir_init(struct smscore_device_t * coredev)39fdd1eeb4SMauro Carvalho Chehabinline static int sms_ir_init(struct smscore_device_t *coredev) { 40fdd1eeb4SMauro Carvalho Chehab return 0; 41fdd1eeb4SMauro Carvalho Chehab } sms_ir_exit(struct smscore_device_t * coredev)42fdd1eeb4SMauro Carvalho Chehabinline static void sms_ir_exit(struct smscore_device_t *coredev) {}; sms_ir_event(struct smscore_device_t * coredev,const char * buf,int len)43fdd1eeb4SMauro Carvalho Chehabinline static void sms_ir_event(struct smscore_device_t *coredev, 44fdd1eeb4SMauro Carvalho Chehab const char *buf, int len) {}; 45fdd1eeb4SMauro Carvalho Chehab #endif 460013ca8cSMauro Carvalho Chehab 470013ca8cSMauro Carvalho Chehab #endif /* __SMS_IR_H__ */ 480013ca8cSMauro Carvalho Chehab 49