222 0, /* reference count */
223 nodev, /* getinfo */
224 nulldev, /* identify */
225 nulldev, /* probe */
226 arcmsr_attach, /* attach */
227 arcmsr_detach, /* detach */
228 arcmsr_reset, /* reset, shutdown, reboot notify */
229 &arcmsr_cb_ops, /* driver operations */
230 NULL, /* bus operations */
231 NULL /* power */
232 };
233
234 static struct modldrv arcmsr_modldrv = {
235 &mod_driverops, /* Type of module. This is a driver. */
236 "ARECA RAID Controller", /* module name, from arcmsr.h */
237 &arcmsr_ops, /* driver ops */
238 };
239
240 static struct modlinkage arcmsr_modlinkage = {
241 MODREV_1,
242 &arcmsr_modldrv,
243 NULL
244 };
245
246
247 int
248 _init(void)
249 {
250 int ret;
251
252 ret = ddi_soft_state_init(&arcmsr_soft_state, sizeof (struct ACB), 1);
253 if (ret != 0) {
254 return (ret);
255 }
256 if ((ret = scsi_hba_init(&arcmsr_modlinkage)) != 0) {
257 ddi_soft_state_fini(&arcmsr_soft_state);
258 return (ret);
259 }
260
261 if ((ret = mod_install(&arcmsr_modlinkage)) != 0) {
262 scsi_hba_fini(&arcmsr_modlinkage);
263 if (arcmsr_soft_state != NULL) {
|
222 0, /* reference count */
223 nodev, /* getinfo */
224 nulldev, /* identify */
225 nulldev, /* probe */
226 arcmsr_attach, /* attach */
227 arcmsr_detach, /* detach */
228 arcmsr_reset, /* reset, shutdown, reboot notify */
229 &arcmsr_cb_ops, /* driver operations */
230 NULL, /* bus operations */
231 NULL /* power */
232 };
233
234 static struct modldrv arcmsr_modldrv = {
235 &mod_driverops, /* Type of module. This is a driver. */
236 "ARECA RAID Controller", /* module name, from arcmsr.h */
237 &arcmsr_ops, /* driver ops */
238 };
239
240 static struct modlinkage arcmsr_modlinkage = {
241 MODREV_1,
242 { &arcmsr_modldrv, NULL }
243 };
244
245
246 int
247 _init(void)
248 {
249 int ret;
250
251 ret = ddi_soft_state_init(&arcmsr_soft_state, sizeof (struct ACB), 1);
252 if (ret != 0) {
253 return (ret);
254 }
255 if ((ret = scsi_hba_init(&arcmsr_modlinkage)) != 0) {
256 ddi_soft_state_fini(&arcmsr_soft_state);
257 return (ret);
258 }
259
260 if ((ret = mod_install(&arcmsr_modlinkage)) != 0) {
261 scsi_hba_fini(&arcmsr_modlinkage);
262 if (arcmsr_soft_state != NULL) {
|