linux/drivers/media/usb/au0828/au0828-input.c

// SPDX-License-Identifier: GPL-2.0+
// handle au0828 IR remotes via linux kernel input layer.
//
// Copyright (c) 2014 Mauro Carvalho Chehab <[email protected]>
// Copyright (c) 2014 Samsung Electronics Co., Ltd.
//
// Based on em28xx-input.c.

#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 {};

/*
 * AU8522 has a builtin IR receiver. Add functions to get IR from it
 */

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)

/* Remote Controller time units */

#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)
{}

/*
 * Generic IR code
 */

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)
{}