1#ifndef _LINUX_MAJOR_H
2#define _LINUX_MAJOR_H
3
4/*
5 * This file has definitions for major device numbers.
6 * For the device number assignments, see Documentation/devices.txt.
7 */
8
9/* limits */
10
11/*
12 * Important: Don't change this to 256.  Major number 255 is and must be
13 * reserved for future expansion into a larger dev_t space.
14 */
15#define MAX_CHRDEV	255
16#define MAX_BLKDEV	255
17
18#define UNNAMED_MAJOR	0
19#define MEM_MAJOR	1
20#define RAMDISK_MAJOR	1
21#define FLOPPY_MAJOR	2
22#define PTY_MASTER_MAJOR 2
23#define IDE0_MAJOR	3
24#define PTY_SLAVE_MAJOR 3
25#define HD_MAJOR	IDE0_MAJOR
26#define TTY_MAJOR	4
27#define TTYAUX_MAJOR	5
28#define LP_MAJOR	6
29#define VCS_MAJOR	7
30#define LOOP_MAJOR	7
31#define SCSI_DISK0_MAJOR 8
32#define SCSI_TAPE_MAJOR	9
33#define MD_MAJOR        9
34#define MISC_MAJOR	10
35#define SCSI_CDROM_MAJOR 11
36#define QIC02_TAPE_MAJOR 12
37#define XT_DISK_MAJOR	13
38#define SOUND_MAJOR	14
39#define CDU31A_CDROM_MAJOR 15
40#define JOYSTICK_MAJOR	15
41#define GOLDSTAR_CDROM_MAJOR 16
42#define OPTICS_CDROM_MAJOR 17
43#define SANYO_CDROM_MAJOR 18
44#define CYCLADES_MAJOR  19
45#define CYCLADESAUX_MAJOR 20
46#define MITSUMI_X_CDROM_MAJOR 20
47#define MFM_ACORN_MAJOR 21	/* ARM Linux /dev/mfm */
48#define SCSI_GENERIC_MAJOR 21
49#define Z8530_MAJOR 34
50#define DIGI_MAJOR 23
51#define IDE1_MAJOR	22
52#define DIGICU_MAJOR 22
53#define MITSUMI_CDROM_MAJOR 23
54#define CDU535_CDROM_MAJOR 24
55#define STL_SERIALMAJOR 24
56#define MATSUSHITA_CDROM_MAJOR 25
57#define STL_CALLOUTMAJOR 25
58#define MATSUSHITA_CDROM2_MAJOR 26
59#define QIC117_TAPE_MAJOR 27
60#define MATSUSHITA_CDROM3_MAJOR 27
61#define MATSUSHITA_CDROM4_MAJOR 28
62#define STL_SIOMEMMAJOR 28
63#define ACSI_MAJOR	28
64#define AZTECH_CDROM_MAJOR 29
65#define GRAPHDEV_MAJOR	29	/* SparcLinux & Linux/68k /dev/fb */
66#define SHMIQ_MAJOR	85	/* Linux/mips, SGI /dev/shmiq */
67#define CM206_CDROM_MAJOR 32
68#define IDE2_MAJOR	33
69#define IDE3_MAJOR	34
70#define XPRAM_MAJOR     35      /* expanded storage on S/390 = "slow ram" */
71                                /* proposed by Peter                      */
72#define NETLINK_MAJOR	36
73#define PS2ESDI_MAJOR	36
74#define IDETAPE_MAJOR	37
75#define Z2RAM_MAJOR	37
76#define APBLOCK_MAJOR   38   /* AP1000 Block device */
77#define DDV_MAJOR       39   /* AP1000 DDV block device */
78#define NBD_MAJOR	43   /* Network block device	*/
79#define RISCOM8_NORMAL_MAJOR 48
80#define DAC960_MAJOR	48	/* 48..55 */
81#define RISCOM8_CALLOUT_MAJOR 49
82#define MKISS_MAJOR	55
83#define DSP56K_MAJOR    55   /* DSP56001 processor device */
84
85#define IDE4_MAJOR	56
86#define IDE5_MAJOR	57
87
88#define LVM_BLK_MAJOR	58	/* Logical Volume Manager */
89
90#define SCSI_DISK1_MAJOR	65
91#define SCSI_DISK2_MAJOR	66
92#define SCSI_DISK3_MAJOR	67
93#define SCSI_DISK4_MAJOR	68
94#define SCSI_DISK5_MAJOR	69
95#define SCSI_DISK6_MAJOR	70
96#define SCSI_DISK7_MAJOR	71
97
98
99#define COMPAQ_SMART2_MAJOR	72
100#define COMPAQ_SMART2_MAJOR1	73
101#define COMPAQ_SMART2_MAJOR2	74
102#define COMPAQ_SMART2_MAJOR3	75
103#define COMPAQ_SMART2_MAJOR4	76
104#define COMPAQ_SMART2_MAJOR5	77
105#define COMPAQ_SMART2_MAJOR6	78
106#define COMPAQ_SMART2_MAJOR7	79
107
108#define SPECIALIX_NORMAL_MAJOR 75
109#define SPECIALIX_CALLOUT_MAJOR 76
110
111#define COMPAQ_CISS_MAJOR 	104
112#define COMPAQ_CISS_MAJOR1	105
113#define COMPAQ_CISS_MAJOR2      106
114#define COMPAQ_CISS_MAJOR3      107
115#define COMPAQ_CISS_MAJOR4      108
116#define COMPAQ_CISS_MAJOR5      109
117#define COMPAQ_CISS_MAJOR6      110
118#define COMPAQ_CISS_MAJOR7      111
119
120#define ATARAID_MAJOR		114
121
122#define DASD_MAJOR      94	/* Official assignations from Peter */
123
124#define MDISK_MAJOR     95	/* Official assignations from Peter */
125
126#define I2O_MAJOR		80	/* 80->87 */
127
128#define IDE6_MAJOR	88
129#define IDE7_MAJOR	89
130#define IDE8_MAJOR	90
131#define IDE9_MAJOR	91
132
133#define UBD_MAJOR	98
134
135#define AURORA_MAJOR 79
136
137#define JSFD_MAJOR	99
138
139#define PHONE_MAJOR	100
140#define FLASH_MAJOR     101
141
142#define LVM_CHAR_MAJOR	109	/* Logical Volume Manager */
143
144#define	UMEM_MAJOR	116	/* http://www.umem.com/ Battery Backed RAM */
145
146#define RTF_MAJOR	150
147#define RAW_MAJOR	162
148
149#define USB_ACM_MAJOR		166
150#define USB_ACM_AUX_MAJOR	167
151#define USB_CHAR_MAJOR		180
152
153#define UNIX98_PTY_MASTER_MAJOR	128
154#define UNIX98_PTY_MAJOR_COUNT	8
155#define UNIX98_PTY_SLAVE_MAJOR	(UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
156
157#define KERNPROF_MAJOR		192
158
159#define VXVM_MAJOR		199	/* VERITAS volume i/o driver    */
160#define VXSPEC_MAJOR		200	/* VERITAS volume config driver */
161#define VXDMP_MAJOR		201	/* VERITAS volume multipath driver */
162
163#define MSR_MAJOR		202
164#define CPUID_MAJOR		203
165
166#define OSST_MAJOR	206	/* OnStream-SCx0 SCSI tape */
167
168#define IBM_TTY3270_MAJOR       227	/* Official allocations now */
169#define IBM_FS3270_MAJOR        228
170
171/*
172 * Tests for SCSI devices.
173 */
174
175#define SCSI_DISK_MAJOR(M) ((M) == SCSI_DISK0_MAJOR || \
176  ((M) >= SCSI_DISK1_MAJOR && (M) <= SCSI_DISK7_MAJOR))
177
178#define SCSI_BLK_MAJOR(M) \
179  (SCSI_DISK_MAJOR(M)	\
180   || (M) == SCSI_CDROM_MAJOR)
181
182static __inline__ int scsi_blk_major(int m) {
183	return SCSI_BLK_MAJOR(m);
184}
185
186/*
187 * Tests for IDE devices
188 */
189#define IDE_DISK_MAJOR(M)	((M) == IDE0_MAJOR || (M) == IDE1_MAJOR || \
190				(M) == IDE2_MAJOR || (M) == IDE3_MAJOR || \
191				(M) == IDE4_MAJOR || (M) == IDE5_MAJOR || \
192				(M) == IDE6_MAJOR || (M) == IDE7_MAJOR || \
193				(M) == IDE8_MAJOR || (M) == IDE9_MAJOR)
194
195static __inline__ int ide_blk_major(int m)
196{
197	return IDE_DISK_MAJOR(m);
198}
199
200#endif
201