162 usbskel_info, /* info */
163 nulldev, /* identify */
164 nulldev, /* probe */
165 usbskel_attach, /* attach */
166 usbskel_detach, /* detach */
167 nodev, /* reset */
168 &usbskel_cb_ops, /* driver operations */
169 NULL, /* bus operations */
170 usbskel_power, /* power */
171 ddi_quiesce_not_needed, /* devo_quiesce */
172 };
173
174 static struct modldrv usbskel_modldrv = {
175 &mod_driverops,
176 "USB skeleton driver",
177 &usbskel_ops
178 };
179
180 static struct modlinkage modlinkage = {
181 MODREV_1,
182 &usbskel_modldrv,
183 NULL
184 };
185
186 /* local variables */
187
188 /* Soft state structures */
189 #define USBSKEL_INITIAL_SOFT_SPACE 1
190 static void *usbskel_statep;
191
192
193 /*
194 * Module-wide initialization routine.
195 */
196 int
197 _init(void)
198 {
199 int rval;
200
201 usbskel_log(NULL, USBSKEL_LOG_LOG, "usbskel _init");
202
203 if ((rval = ddi_soft_state_init(&usbskel_statep,
|
162 usbskel_info, /* info */
163 nulldev, /* identify */
164 nulldev, /* probe */
165 usbskel_attach, /* attach */
166 usbskel_detach, /* detach */
167 nodev, /* reset */
168 &usbskel_cb_ops, /* driver operations */
169 NULL, /* bus operations */
170 usbskel_power, /* power */
171 ddi_quiesce_not_needed, /* devo_quiesce */
172 };
173
174 static struct modldrv usbskel_modldrv = {
175 &mod_driverops,
176 "USB skeleton driver",
177 &usbskel_ops
178 };
179
180 static struct modlinkage modlinkage = {
181 MODREV_1,
182 { &usbskel_modldrv, NULL }
183 };
184
185 /* local variables */
186
187 /* Soft state structures */
188 #define USBSKEL_INITIAL_SOFT_SPACE 1
189 static void *usbskel_statep;
190
191
192 /*
193 * Module-wide initialization routine.
194 */
195 int
196 _init(void)
197 {
198 int rval;
199
200 usbskel_log(NULL, USBSKEL_LOG_LOG, "usbskel _init");
201
202 if ((rval = ddi_soft_state_init(&usbskel_statep,
|