#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/device.h>
#include <linux/file.h>
#include <linux/idr.h>
#include <linux/poll.h>
#include <linux/sched.h>
#include <linux/wait.h>
#include "rc-core-priv.h"
#include <uapi/linux/lirc.h>
#define LIRCBUF_SIZE …
static dev_t lirc_base_dev;
static DEFINE_IDA(lirc_ida);
static const struct class lirc_class = …;
void lirc_raw_event(struct rc_dev *dev, struct ir_raw_event ev)
{ … }
void lirc_scancode_event(struct rc_dev *dev, struct lirc_scancode *lsc)
{ … }
EXPORT_SYMBOL_GPL(…);
static int lirc_open(struct inode *inode, struct file *file)
{ … }
static int lirc_close(struct inode *inode, struct file *file)
{ … }
static ssize_t lirc_transmit(struct file *file, const char __user *buf,
size_t n, loff_t *ppos)
{ … }
static long lirc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{ … }
static __poll_t lirc_poll(struct file *file, struct poll_table_struct *wait)
{ … }
static ssize_t lirc_read_mode2(struct file *file, char __user *buffer,
size_t length)
{ … }
static ssize_t lirc_read_scancode(struct file *file, char __user *buffer,
size_t length)
{ … }
static ssize_t lirc_read(struct file *file, char __user *buffer, size_t length,
loff_t *ppos)
{ … }
static const struct file_operations lirc_fops = …;
static void lirc_release_device(struct device *ld)
{ … }
int lirc_register(struct rc_dev *dev)
{ … }
void lirc_unregister(struct rc_dev *dev)
{ … }
int __init lirc_dev_init(void)
{ … }
void __exit lirc_dev_exit(void)
{ … }
struct rc_dev *rc_dev_get_from_fd(int fd, bool write)
{ … }
MODULE_ALIAS(…) …;