111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_MISCDEVICE_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_MISCDEVICE_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/module.h>
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/major.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PSMOUSE_MINOR 1
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MS_BUSMOUSE_MINOR 2
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATIXL_BUSMOUSE_MINOR 3
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ATARIMOUSE_MINOR 5
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SUN_MOUSE_MINOR 6
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define APOLLO_MOUSE_MINOR 7
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PC110PAD_MINOR 9
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WATCHDOG_MINOR 130
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TEMP_MINOR 131
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define RTC_MINOR 135
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EFI_RTC_MINOR 136
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SUN_OPENPROM_MINOR 139
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define DMAPI_MINOR 140
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define NVRAM_MINOR 144
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SGI_MMTIMER 153
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define STORE_QUEUE_MINOR 155
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define I2O_MINOR 166
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MICROCODE_MINOR 184
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MWAVE_MINOR 219
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MPT_MINOR 220
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MISC_DYNAMIC_MINOR 255
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define TUN_MINOR 200
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define HPET_MINOR 228
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct device;
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct class_device;
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct miscdevice {
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int minor;
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char *name;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const struct file_operations *fops;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct list_head list;
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct device *dev;
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct class_device *class;
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MODULE_ALIAS_MISCDEV(minor)   MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR)   "-" __stringify(minor))
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
58