146 #define INST_TO_MINOR(i) (i << 6)
147 #define MINOR_TO_INST(mn) (mn >> 6)
148
149 static char *mnodetypes[] = {
150 "ddi_nt",
151 "ddi_nt:device_type",
152 "ddi_nt:device_class:bus_class",
153 "ddi_nt2",
154 "ddi_nt2:device_type",
155 "ddi_nt2:device_type:bus_class",
156 };
157 #define N_NTYPES (sizeof (mnodetypes) / sizeof (char *))
158
159 static struct modldrv modldrv = {
160 &mod_driverops,
161 "generic test driver",
162 &gen_ops
163 };
164
165 static struct modlinkage modlinkage = {
166 MODREV_1, &modldrv, NULL
167 };
168
169
170 /*
171 * flags
172 */
173 #define OPEN_FLAG 0x001
174 #define PWR_HAS_CHANGED_ON_RESUME_FLAG 0x002
175 #define FAIL_SUSPEND_FLAG 0x004
176 #define PUP_WITH_PWR_HAS_CHANGED_FLAG 0x008
177 #define POWER_FLAG 0x010
178 #define LOWER_POWER_FLAG 0x020
179 #define NO_INVOL_FLAG 0x040
180 #define PM_SUPPORTED_FLAG 0x080
181
182 /*
183 * ioctl commands (non-devctl ioctl commands)
184 */
185 #define GENDRV_IOCTL ('P' << 8)
186 #define GENDRV_IOFAULT_SIMULATE (GENDRV_IOCTL | 0)
|
146 #define INST_TO_MINOR(i) (i << 6)
147 #define MINOR_TO_INST(mn) (mn >> 6)
148
149 static char *mnodetypes[] = {
150 "ddi_nt",
151 "ddi_nt:device_type",
152 "ddi_nt:device_class:bus_class",
153 "ddi_nt2",
154 "ddi_nt2:device_type",
155 "ddi_nt2:device_type:bus_class",
156 };
157 #define N_NTYPES (sizeof (mnodetypes) / sizeof (char *))
158
159 static struct modldrv modldrv = {
160 &mod_driverops,
161 "generic test driver",
162 &gen_ops
163 };
164
165 static struct modlinkage modlinkage = {
166 MODREV_1, { &modldrv, NULL }
167 };
168
169
170 /*
171 * flags
172 */
173 #define OPEN_FLAG 0x001
174 #define PWR_HAS_CHANGED_ON_RESUME_FLAG 0x002
175 #define FAIL_SUSPEND_FLAG 0x004
176 #define PUP_WITH_PWR_HAS_CHANGED_FLAG 0x008
177 #define POWER_FLAG 0x010
178 #define LOWER_POWER_FLAG 0x020
179 #define NO_INVOL_FLAG 0x040
180 #define PM_SUPPORTED_FLAG 0x080
181
182 /*
183 * ioctl commands (non-devctl ioctl commands)
184 */
185 #define GENDRV_IOCTL ('P' << 8)
186 #define GENDRV_IOFAULT_SIMULATE (GENDRV_IOCTL | 0)
|