blob: 2216638962d2790fa8d5e4776d17559c3717a69a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_CDEV_H
2#define _LINUX_CDEV_H
3#ifdef __KERNEL__
4
5struct cdev {
6 struct kobject kobj;
7 struct module *owner;
Arjan van de Ven99ac48f2006-03-28 01:56:41 -08008 const struct file_operations *ops;
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 struct list_head list;
10 dev_t dev;
11 unsigned int count;
12};
13
Arjan van de Ven99ac48f2006-03-28 01:56:41 -080014void cdev_init(struct cdev *, const struct file_operations *);
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16struct cdev *cdev_alloc(void);
17
18void cdev_put(struct cdev *p);
19
20int cdev_add(struct cdev *, dev_t, unsigned);
21
22void cdev_del(struct cdev *);
23
24void cd_forget(struct inode *);
25
26#endif
27#endif