281 nulldev, /* probe */
282 vhci_attach, /* attach and detach are mandatory */
283 vhci_detach,
284 nodev, /* reset */
285 &vhci_cb_ops, /* cb_ops */
286 NULL, /* bus_ops */
287 NULL, /* power */
288 ddi_quiesce_not_needed, /* quiesce */
289 };
290
291 extern struct mod_ops mod_driverops;
292
293 static struct modldrv modldrv = {
294 &mod_driverops,
295 vhci_version_name, /* module name */
296 &vhci_ops
297 };
298
299 static struct modlinkage modlinkage = {
300 MODREV_1,
301 &modldrv,
302 NULL
303 };
304
305 static mdi_vhci_ops_t vhci_opinfo = {
306 MDI_VHCI_OPS_REV,
307 vhci_pathinfo_init, /* Pathinfo node init callback */
308 vhci_pathinfo_uninit, /* Pathinfo uninit callback */
309 vhci_pathinfo_state_change, /* Pathinfo node state change */
310 vhci_failover, /* failover callback */
311 vhci_client_attached, /* client attached callback */
312 vhci_is_dev_supported /* is device supported by mdi */
313 };
314
315 /*
316 * The scsi_failover table defines an ordered set of 'fops' modules supported
317 * by scsi_vhci. Currently, initialize this table from the 'ddi-forceload'
318 * property specified in scsi_vhci.conf.
319 */
320 static struct scsi_failover {
321 ddi_modhandle_t sf_mod;
322 struct scsi_failover_ops *sf_sfo;
|
281 nulldev, /* probe */
282 vhci_attach, /* attach and detach are mandatory */
283 vhci_detach,
284 nodev, /* reset */
285 &vhci_cb_ops, /* cb_ops */
286 NULL, /* bus_ops */
287 NULL, /* power */
288 ddi_quiesce_not_needed, /* quiesce */
289 };
290
291 extern struct mod_ops mod_driverops;
292
293 static struct modldrv modldrv = {
294 &mod_driverops,
295 vhci_version_name, /* module name */
296 &vhci_ops
297 };
298
299 static struct modlinkage modlinkage = {
300 MODREV_1,
301 { &modldrv, NULL }
302 };
303
304 static mdi_vhci_ops_t vhci_opinfo = {
305 MDI_VHCI_OPS_REV,
306 vhci_pathinfo_init, /* Pathinfo node init callback */
307 vhci_pathinfo_uninit, /* Pathinfo uninit callback */
308 vhci_pathinfo_state_change, /* Pathinfo node state change */
309 vhci_failover, /* failover callback */
310 vhci_client_attached, /* client attached callback */
311 vhci_is_dev_supported /* is device supported by mdi */
312 };
313
314 /*
315 * The scsi_failover table defines an ordered set of 'fops' modules supported
316 * by scsi_vhci. Currently, initialize this table from the 'ddi-forceload'
317 * property specified in scsi_vhci.conf.
318 */
319 static struct scsi_failover {
320 ddi_modhandle_t sf_mod;
321 struct scsi_failover_ops *sf_sfo;
|