Blame view

include/linux/miscdevice.h 2.4 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  #ifndef _LINUX_MISCDEVICE_H
  #define _LINUX_MISCDEVICE_H
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
  #include <linux/major.h>
1986c93f0   Paul Gortmaker   miscdevice.h: fix...
4
5
  #include <linux/list.h>
  #include <linux/types.h>
ca75d601b   PrasannaKumar Muralidharan   miscdevice: Add h...
6
  #include <linux/device.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7

79907d89c   Alan Cox   misc: Fix allocat...
8
9
10
11
12
  /*
   *	These allocations are managed by device@lanana.org. If you use an
   *	entry that is not in assigned your entry may well be moved and
   *	reassigned, or set dynamic if a fixed value is not justified.
   */
193da6092   Tejun Heo   fuse: move FUSE_M...
13
  #define PSMOUSE_MINOR		1
3503958cb   Lucas De Marchi   misc: add comment...
14
15
  #define MS_BUSMOUSE_MINOR	2	/* unused */
  #define ATIXL_BUSMOUSE_MINOR	3	/* unused */
193da6092   Tejun Heo   fuse: move FUSE_M...
16
  /*#define AMIGAMOUSE_MINOR	4	FIXME OBSOLETE */
3503958cb   Lucas De Marchi   misc: add comment...
17
18
19
20
  #define ATARIMOUSE_MINOR	5	/* unused */
  #define SUN_MOUSE_MINOR		6	/* unused */
  #define APOLLO_MOUSE_MINOR	7	/* unused */
  #define PC110PAD_MINOR		9	/* unused */
193da6092   Tejun Heo   fuse: move FUSE_M...
21
  /*#define ADB_MOUSE_MINOR	10	FIXME OBSOLETE */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
22
23
  #define WATCHDOG_MINOR		130	/* Watchdog timer     */
  #define TEMP_MINOR		131	/* Temperature Sensor */
193da6092   Tejun Heo   fuse: move FUSE_M...
24
  #define RTC_MINOR		135
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25
  #define EFI_RTC_MINOR		136	/* EFI Time services */
b075dd40c   Lucas De Marchi   Bluetooth: alloca...
26
  #define VHCI_MINOR		137
193da6092   Tejun Heo   fuse: move FUSE_M...
27
  #define SUN_OPENPROM_MINOR	139
3503958cb   Lucas De Marchi   misc: add comment...
28
  #define DMAPI_MINOR		140	/* unused */
193da6092   Tejun Heo   fuse: move FUSE_M...
29
30
  #define NVRAM_MINOR		144
  #define SGI_MMTIMER		153
3503958cb   Lucas De Marchi   misc: add comment...
31
  #define STORE_QUEUE_MINOR	155	/* unused */
193da6092   Tejun Heo   fuse: move FUSE_M...
32
  #define I2O_MINOR		166
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
33
  #define MICROCODE_MINOR		184
8dcf94bcf   Alex Williamson   misc: Reserve min...
34
  #define VFIO_MINOR		196
193da6092   Tejun Heo   fuse: move FUSE_M...
35
  #define TUN_MINOR		200
cb2ffb26e   Tom Gundersen   cuse: add fix min...
36
  #define CUSE_MINOR		203
193da6092   Tejun Heo   fuse: move FUSE_M...
37
38
  #define MWAVE_MINOR		219	/* ACP/Mwave Modem */
  #define MPT_MINOR		220
dec3f9595   Eric Moore   [SCSI] mpt2sas: a...
39
  #define MPT2SAS_MINOR		221
78ad724ad   Sreekanth Reddy   [SCSI] miscdevice...
40
  #define MPT3SAS_MINOR		222
8905aaafb   Kay Sievers   Input: uinput - a...
41
  #define UINPUT_MINOR		223
cef12ee52   Liu, Jinsong   xen/mce: Add mcel...
42
  #define MISC_MCELOG_MINOR	227
193da6092   Tejun Heo   fuse: move FUSE_M...
43
44
45
  #define HPET_MINOR		228
  #define FUSE_MINOR		229
  #define KVM_MINOR		232
578454ff7   Kay Sievers   driver core: add ...
46
47
  #define BTRFS_MINOR		234
  #define AUTOFS_MINOR		235
7e507eb64   Peter Rajnoha   dm: allow autoloa...
48
  #define MAPPER_CTRL_MINOR	236
770fe30a4   Kay Sievers   loop: add managem...
49
  #define LOOP_CTRL_MINOR		237
7c7c7f01c   stephen hemminger   vhost-net: add mo...
50
  #define VHOST_NET_MINOR		238
19872d20c   David Herrmann   HID: uhid: alloca...
51
  #define UHID_MINOR		239
5523662ed   Stephen Chandler Paul   Input: add userio...
52
  #define USERIO_MINOR		240
193da6092   Tejun Heo   fuse: move FUSE_M...
53
  #define MISC_DYNAMIC_MINOR	255
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
  
  struct device;
bd7359953   Takashi Iwai   misc: Add attribu...
56
  struct attribute_group;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57
58
59
60
  
  struct miscdevice  {
  	int minor;
  	const char *name;
99ac48f54   Arjan van de Ven   [PATCH] mark f_op...
61
  	const struct file_operations *fops;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
62
  	struct list_head list;
94fbcded4   Greg Kroah-Hartman   Driver core: chan...
63
64
  	struct device *parent;
  	struct device *this_device;
bd7359953   Takashi Iwai   misc: Add attribu...
65
  	const struct attribute_group **groups;
e454cea20   Kay Sievers   Driver-Core: exte...
66
  	const char *nodename;
a85cfdaec   Al Viro   switch miscdevice...
67
  	umode_t mode;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
68
  };
f82dd4b09   Robert P. J. Day   miscdevice.h: Sim...
69
  extern int misc_register(struct miscdevice *misc);
f368ed608   Greg Kroah-Hartman   char: make misc_d...
70
  extern void misc_deregister(struct miscdevice *misc);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
71

ca75d601b   PrasannaKumar Muralidharan   miscdevice: Add h...
72
73
74
75
76
77
  /*
   * Helper macro for drivers that don't do anything special in module init / exit
   * call. This helps in eleminating of boilerplate code.
   */
  #define module_misc_device(__misc_device) \
  	module_driver(__misc_device, misc_register, misc_deregister)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
78
79
80
81
  #define MODULE_ALIAS_MISCDEV(minor)				\
  	MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR)	\
  	"-" __stringify(minor))
  #endif