Line data Source code
1 : #ifndef _LINUX_CDEV_H
2 : #define _LINUX_CDEV_H
3 :
4 : #include <linux/kobject.h>
5 : #include <linux/kdev_t.h>
6 : #include <linux/list.h>
7 :
8 : struct file_operations;
9 : struct inode;
10 : struct module;
11 :
12 : struct cdev {
13 : struct kobject kobj;
14 : struct module *owner;
15 : const struct file_operations *ops;
16 : struct list_head list;
17 : dev_t dev;
18 : unsigned int count;
19 : };
20 :
21 : void cdev_init(struct cdev *, const struct file_operations *);
22 :
23 : struct cdev *cdev_alloc(void);
24 :
25 : void cdev_put(struct cdev *p);
26 :
27 : int cdev_add(struct cdev *, dev_t, unsigned);
28 :
29 : void cdev_del(struct cdev *);
30 :
31 : int cdev_index(struct inode *inode);
32 :
33 : void cd_forget(struct inode *);
34 :
35 1 : extern struct backing_dev_info directly_mappable_cdev_bdi;
36 :
37 : #endif
|