blob: a820f816a49e8dbf9553c2898b65a25dda9c7ceb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_MISCDEVICE_H
2#define _LINUX_MISCDEVICE_H
3#include <linux/module.h>
4#include <linux/major.h>
5
Tejun Heo193da602008-11-26 12:03:54 +01006#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 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070015#define WATCHDOG_MINOR 130 /* Watchdog timer */
16#define TEMP_MINOR 131 /* Temperature Sensor */
Tejun Heo193da602008-11-26 12:03:54 +010017#define RTC_MINOR 135
Linus Torvalds1da177e2005-04-16 15:20:36 -070018#define EFI_RTC_MINOR 136 /* EFI Time services */
Tejun Heo193da602008-11-26 12:03:54 +010019#define SUN_OPENPROM_MINOR 139
Linus Torvalds1da177e2005-04-16 15:20:36 -070020#define DMAPI_MINOR 140 /* DMAPI */
Tejun Heo193da602008-11-26 12:03:54 +010021#define NVRAM_MINOR 144
22#define SGI_MMTIMER 153
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#define STORE_QUEUE_MINOR 155
Tejun Heo193da602008-11-26 12:03:54 +010024#define I2O_MINOR 166
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#define MICROCODE_MINOR 184
Tejun Heo193da602008-11-26 12:03:54 +010026#define TUN_MINOR 200
27#define MWAVE_MINOR 219 /* ACP/Mwave Modem */
28#define MPT_MINOR 220
29#define HPET_MINOR 228
30#define FUSE_MINOR 229
31#define KVM_MINOR 232
32#define MISC_DYNAMIC_MINOR 255
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34struct device;
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36struct miscdevice {
37 int minor;
38 const char *name;
Arjan van de Ven99ac48f2006-03-28 01:56:41 -080039 const struct file_operations *fops;
Linus Torvalds1da177e2005-04-16 15:20:36 -070040 struct list_head list;
Greg Kroah-Hartman94fbcde2006-07-27 16:16:04 -070041 struct device *parent;
42 struct device *this_device;
Linus Torvalds1da177e2005-04-16 15:20:36 -070043};
44
45extern int misc_register(struct miscdevice * misc);
Rafael J. Wysockib844eba2008-03-23 20:28:24 +010046extern int misc_deregister(struct miscdevice *misc);
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48#define MODULE_ALIAS_MISCDEV(minor) \
49 MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR) \
50 "-" __stringify(minor))
51#endif