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 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 33#endif 34