2626 .devo_probe = nulldev,
2627 .devo_attach = pvscsi_attach,
2628 .devo_detach = pvscsi_detach,
2629 .devo_reset = nodev,
2630 .devo_cb_ops = &pvscsi_cb_ops,
2631 .devo_bus_ops = NULL,
2632 .devo_power = NULL,
2633 .devo_quiesce = pvscsi_quiesce
2634 };
2635
2636 #define PVSCSI_IDENT "VMware PVSCSI"
2637
2638 static struct modldrv modldrv = {
2639 &mod_driverops,
2640 PVSCSI_IDENT,
2641 &pvscsi_ops,
2642 };
2643
2644 static struct modlinkage modlinkage = {
2645 MODREV_1,
2646 &modldrv,
2647 NULL
2648 };
2649
2650 int
2651 _init(void)
2652 {
2653 int ret;
2654
2655 if ((ret = ddi_soft_state_init(&pvscsi_sstate,
2656 sizeof (struct pvscsi_softc), PVSCSI_INITIAL_SSTATE_ITEMS)) != 0) {
2657 cmn_err(CE_WARN, "!ddi_soft_state_init() failed");
2658 return (ret);
2659 }
2660
2661 if ((ret = scsi_hba_init(&modlinkage)) != 0) {
2662 cmn_err(CE_WARN, "!scsi_hba_init() failed");
2663 ddi_soft_state_fini(&pvscsi_sstate);
2664 return (ret);
2665 }
2666
2667 if ((ret = mod_install(&modlinkage)) != 0) {
|
2626 .devo_probe = nulldev,
2627 .devo_attach = pvscsi_attach,
2628 .devo_detach = pvscsi_detach,
2629 .devo_reset = nodev,
2630 .devo_cb_ops = &pvscsi_cb_ops,
2631 .devo_bus_ops = NULL,
2632 .devo_power = NULL,
2633 .devo_quiesce = pvscsi_quiesce
2634 };
2635
2636 #define PVSCSI_IDENT "VMware PVSCSI"
2637
2638 static struct modldrv modldrv = {
2639 &mod_driverops,
2640 PVSCSI_IDENT,
2641 &pvscsi_ops,
2642 };
2643
2644 static struct modlinkage modlinkage = {
2645 MODREV_1,
2646 { &modldrv, NULL }
2647 };
2648
2649 int
2650 _init(void)
2651 {
2652 int ret;
2653
2654 if ((ret = ddi_soft_state_init(&pvscsi_sstate,
2655 sizeof (struct pvscsi_softc), PVSCSI_INITIAL_SSTATE_ITEMS)) != 0) {
2656 cmn_err(CE_WARN, "!ddi_soft_state_init() failed");
2657 return (ret);
2658 }
2659
2660 if ((ret = scsi_hba_init(&modlinkage)) != 0) {
2661 cmn_err(CE_WARN, "!scsi_hba_init() failed");
2662 ddi_soft_state_fini(&pvscsi_sstate);
2663 return (ret);
2664 }
2665
2666 if ((ret = mod_install(&modlinkage)) != 0) {
|