linux/include/linux/cdev.h
<<
>>
Prefs
   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#include <linux/device.h>
   8
   9struct file_operations;
  10struct inode;
  11struct module;
  12
  13struct 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} __randomize_layout;
  21
  22void cdev_init(struct cdev *, const struct file_operations *);
  23
  24struct cdev *cdev_alloc(void);
  25
  26void cdev_put(struct cdev *p);
  27
  28int cdev_add(struct cdev *, dev_t, unsigned);
  29
  30void cdev_set_parent(struct cdev *p, struct kobject *kobj);
  31int cdev_device_add(struct cdev *cdev, struct device *dev);
  32void cdev_device_del(struct cdev *cdev, struct device *dev);
  33
  34void cdev_del(struct cdev *);
  35
  36void cd_forget(struct inode *);
  37
  38#endif
  39