#include "au0828.h"
#include <linux/module.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/usb.h>
#include <linux/slab.h>
#include <media/rc-core.h>
static int disable_ir;
module_param(disable_ir, int, 0444);
MODULE_PARM_DESC(…) …;
struct au0828_rc { … };
static int au8522_rc_write(struct au0828_rc *ir, u16 reg, u8 data)
{ … }
static int au8522_rc_read(struct au0828_rc *ir, u16 reg, int val,
char *buf, int size)
{ … }
static int au8522_rc_andor(struct au0828_rc *ir, u16 reg, u8 mask, u8 value)
{ … }
#define au8522_rc_set(ir, reg, bit) …
#define au8522_rc_clear(ir, reg, bit) …
#define AU8522_UNIT …
#define NEC_START_SPACE …
#define NEC_START_PULSE …
#define RC5_START_SPACE …
#define RC5_START_PULSE …
static int au0828_get_key_au8522(struct au0828_rc *ir)
{ … }
static void au0828_rc_work(struct work_struct *work)
{ … }
static int au0828_rc_start(struct rc_dev *rc)
{ … }
static void au0828_rc_stop(struct rc_dev *rc)
{ … }
static int au0828_probe_i2c_ir(struct au0828_dev *dev)
{ … }
int au0828_rc_register(struct au0828_dev *dev)
{ … }
void au0828_rc_unregister(struct au0828_dev *dev)
{ … }
int au0828_rc_suspend(struct au0828_dev *dev)
{ … }
int au0828_rc_resume(struct au0828_dev *dev)
{ … }