blob: b45af81b463329f61302a7e7a526b3bbdc474bda (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/*
* LIRC base driver
*
* by Artur Lipowski <alipowski@interia.pl>
* This code is licensed under GNU GPL
*
*/
#ifndef _LINUX_LIRC_DEV_H
#define _LINUX_LIRC_DEV_H
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/ioctl.h>
#include <linux/poll.h>
#include <linux/kfifo.h>
#include <media/lirc.h>
#include <linux/device.h>
#include <linux/cdev.h>
/**
* struct lirc_dev - represents a LIRC device
*
* @name: used for logging
* @minor: the minor device (/dev/lircX) number for the device
* @rdev: &struct rc_dev associated with the device
* @fops: &struct file_operations for the device
* @owner: the module owning this struct
* @dev: &struct device assigned to the device
* @cdev: &struct cdev assigned to the device
*/
struct lirc_dev {
char name[40];
unsigned int minor;
struct rc_dev *rdev;
const struct file_operations *fops;
struct module *owner;
struct device dev;
struct cdev cdev;
};
struct lirc_dev *lirc_allocate_device(void);
void lirc_free_device(struct lirc_dev *d);
int lirc_register_device(struct lirc_dev *d);
void lirc_unregister_device(struct lirc_dev *d);
#endif
|