blob: fb4591977b039a80587fa79d899c2f86d632657b [file] [log] [blame]
Nicholas Flintham1e3d3112013-04-10 10:48:38 +01001#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
8struct file_operations;
9struct inode;
10struct module;
11
12struct 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
21void cdev_init(struct cdev *, const struct file_operations *);
22
23struct cdev *cdev_alloc(void);
24
25void cdev_put(struct cdev *p);
26
27int cdev_add(struct cdev *, dev_t, unsigned);
28
29void cdev_del(struct cdev *);
30
31void cd_forget(struct inode *);
32
33extern struct backing_dev_info directly_mappable_cdev_bdi;
34
35#endif