root/include/linux/cdev.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _LINUX_CDEV_H
   3 #define _LINUX_CDEV_H
   4 
   5 #include <linux/kobject.h>
   6 #include <linux/kdev_t.h>
   7 #include <linux/list.h>
   8 #include <linux/device.h>
   9 
  10 struct file_operations;
  11 struct inode;
  12 struct module;
  13 
  14 struct cdev {
  15         struct kobject kobj;
  16         struct module *owner;
  17         const struct file_operations *ops;
  18         struct list_head list;
  19         dev_t dev;
  20         unsigned int count;
  21 } __randomize_layout;
  22 
  23 void cdev_init(struct cdev *, const struct file_operations *);
  24 
  25 struct cdev *cdev_alloc(void);
  26 
  27 void cdev_put(struct cdev *p);
  28 
  29 int cdev_add(struct cdev *, dev_t, unsigned);
  30 
  31 void cdev_set_parent(struct cdev *p, struct kobject *kobj);
  32 int cdev_device_add(struct cdev *cdev, struct device *dev);
  33 void cdev_device_del(struct cdev *cdev, struct device *dev);
  34 
  35 void cdev_del(struct cdev *);
  36 
  37 void cd_forget(struct inode *);
  38 
  39 #endif

/* [<][>][^][v][top][bottom][index][help] */