1#ifndef _LINUX_MISCDEVICE_H
2#define _LINUX_MISCDEVICE_H
3
4#include <linux/devfs_fs_kernel.h>
5
6#define BUSMOUSE_MINOR 0
7#define PSMOUSE_MINOR  1
8#define MS_BUSMOUSE_MINOR 2
9#define ATIXL_BUSMOUSE_MINOR 3
10#define AMIGAMOUSE_MINOR 4
11#define ATARIMOUSE_MINOR 5
12#define SUN_MOUSE_MINOR 6
13#define APOLLO_MOUSE_MINOR 7
14#define PC110PAD_MINOR 9
15#define ADB_MOUSE_MINOR 10
16#define MK712_MINOR 15			/* MK712 touch screen */
17#define WATCHDOG_MINOR		130	/* Watchdog timer     */
18#define TEMP_MINOR		131	/* Temperature Sensor */
19#define RTC_MINOR 135
20#define EFI_RTC_MINOR		136	/* EFI Time services */
21#define SUN_OPENPROM_MINOR 139
22#define NVRAM_MINOR 144
23#define I2O_MINOR 166
24#define MICROCODE_MINOR		184
25#define GPIO_MINOR             185
26#define MWAVE_MINOR		219	/* ACP/Mwave Modem */
27#define MPT_MINOR		220
28#define MISC_DYNAMIC_MINOR 255
29
30#define SGI_GRAPHICS_MINOR   146
31#define SGI_OPENGL_MINOR     147
32#define SGI_GFX_MINOR        148
33#define SGI_STREAMS_MOUSE    149
34#define SGI_STREAMS_KEYBOARD 150
35/* drivers/sgi/char/usema.c */
36#define SGI_USEMACLONE	     151
37
38#define TUN_MINOR	     200
39
40#define LCD_MINOR	     140	/* Inofficial Linux/MIPS only alloc */
41
42extern int misc_init(void);
43
44struct miscdevice
45{
46	int minor;
47	const char *name;
48	struct file_operations *fops;
49	struct miscdevice * next, * prev;
50	devfs_handle_t devfs_handle;
51};
52
53extern int misc_register(struct miscdevice * misc);
54extern int misc_deregister(struct miscdevice * misc);
55
56#endif
57