1#ifndef _LINUX_MISCDEVICE_H
2#define _LINUX_MISCDEVICE_H
3#include <linux/module.h>
4#include <linux/major.h>
5
6#define PSMOUSE_MINOR  1
7#define MS_BUSMOUSE_MINOR 2
8#define ATIXL_BUSMOUSE_MINOR 3
9/*#define AMIGAMOUSE_MINOR 4	FIXME OBSOLETE */
10#define ATARIMOUSE_MINOR 5
11#define SUN_MOUSE_MINOR 6
12#define APOLLO_MOUSE_MINOR 7
13#define PC110PAD_MINOR 9
14/*#define ADB_MOUSE_MINOR 10	FIXME OBSOLETE */
15#define WATCHDOG_MINOR		130	/* Watchdog timer     */
16#define TEMP_MINOR		131	/* Temperature Sensor */
17#define RTC_MINOR 135
18#define EFI_RTC_MINOR		136	/* EFI Time services */
19#define SUN_OPENPROM_MINOR 139
20#define DMAPI_MINOR		140	/* DMAPI */
21#define NVRAM_MINOR 144
22#define SGI_MMTIMER        153
23#define STORE_QUEUE_MINOR	155
24#define I2O_MINOR 166
25#define MICROCODE_MINOR		184
26#define MWAVE_MINOR	219		/* ACP/Mwave Modem */
27#define MPT_MINOR	220
28#define MISC_DYNAMIC_MINOR 255
29
30#define TUN_MINOR	     200
31#define	HPET_MINOR	     228
32
33struct device;
34struct class_device;
35
36struct miscdevice  {
37	int minor;
38	const char *name;
39	const struct file_operations *fops;
40	struct list_head list;
41	struct device *dev;
42	struct class_device *class;
43};
44
45extern int misc_register(struct miscdevice * misc);
46extern int misc_deregister(struct miscdevice * misc);
47
48#define MODULE_ALIAS_MISCDEV(minor)				\
49	MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR)	\
50	"-" __stringify(minor))
51#endif
52