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