224 nulldev, /* no snap_probe */
225 snap_attach,
226 snap_detach,
227 nodev, /* no snap_reset */
228 &snap_cb_ops,
229 (struct bus_ops *)NULL,
230 nulldev, /* no snap_power() */
231 ddi_quiesce_not_needed, /* quiesce */
232 };
233
234 extern struct mod_ops mod_driverops;
235
236 static struct modldrv md = {
237 &mod_driverops, /* Type of module. This is a driver */
238 "snapshot driver", /* Name of the module */
239 &snap_ops,
240 };
241
242 static struct modlinkage ml = {
243 MODREV_1,
244 &md,
245 NULL
246 };
247
248 static void *statep;
249
250 int
251 _init(void)
252 {
253 int error;
254 kstat_t *ksp;
255 kstat_named_t *ksdata;
256
257 error = ddi_soft_state_init(&statep, sizeof (struct snapshot_id *), 1);
258 if (error) {
259 cmn_err(CE_WARN, "_init: failed to init ddi_soft_state.");
260 return (error);
261 }
262
263 error = mod_install(&ml);
264
265 if (error) {
|
224 nulldev, /* no snap_probe */
225 snap_attach,
226 snap_detach,
227 nodev, /* no snap_reset */
228 &snap_cb_ops,
229 (struct bus_ops *)NULL,
230 nulldev, /* no snap_power() */
231 ddi_quiesce_not_needed, /* quiesce */
232 };
233
234 extern struct mod_ops mod_driverops;
235
236 static struct modldrv md = {
237 &mod_driverops, /* Type of module. This is a driver */
238 "snapshot driver", /* Name of the module */
239 &snap_ops,
240 };
241
242 static struct modlinkage ml = {
243 MODREV_1,
244 { &md, NULL }
245 };
246
247 static void *statep;
248
249 int
250 _init(void)
251 {
252 int error;
253 kstat_t *ksp;
254 kstat_named_t *ksdata;
255
256 error = ddi_soft_state_init(&statep, sizeof (struct snapshot_id *), 1);
257 if (error) {
258 cmn_err(CE_WARN, "_init: failed to init ddi_soft_state.");
259 return (error);
260 }
261
262 error = mod_install(&ml);
263
264 if (error) {
|