Merge branch 'acer' into release
[linux-2.6] / include / linux / cdev.h
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 void cd_forget(struct inode *);
32
33 extern struct backing_dev_info directly_mappable_cdev_bdi;
34
35 #endif