220 nulldev, /* probe */
221 amr_attach, /* attach */
222 amr_detach, /* detach */
223 nodev, /* reset */
224 NULL, /* driver operations */
225 (struct bus_ops *)0, /* bus operations */
226 0, /* power */
227 ddi_quiesce_not_supported, /* devo_quiesce */
228 };
229
230
231 extern struct mod_ops mod_driverops;
232 static struct modldrv modldrv = {
233 &mod_driverops, /* Type of module. driver here */
234 "AMR Driver", /* Name of the module. */
235 &amr_ops, /* Driver ops vector */
236 };
237
238 static struct modlinkage modlinkage = {
239 MODREV_1,
240 &modldrv,
241 NULL
242 };
243
244 /* DMA access attributes */
245 static ddi_device_acc_attr_t accattr = {
246 DDI_DEVICE_ATTR_V0,
247 DDI_NEVERSWAP_ACC,
248 DDI_STRICTORDER_ACC
249 };
250
251 static struct amr_softs *amr_softstatep;
252
253
254 int
255 _init(void)
256 {
257 int error;
258
259 error = ddi_soft_state_init((void *)&amr_softstatep,
260 sizeof (struct amr_softs), 0);
261
|
220 nulldev, /* probe */
221 amr_attach, /* attach */
222 amr_detach, /* detach */
223 nodev, /* reset */
224 NULL, /* driver operations */
225 (struct bus_ops *)0, /* bus operations */
226 0, /* power */
227 ddi_quiesce_not_supported, /* devo_quiesce */
228 };
229
230
231 extern struct mod_ops mod_driverops;
232 static struct modldrv modldrv = {
233 &mod_driverops, /* Type of module. driver here */
234 "AMR Driver", /* Name of the module. */
235 &amr_ops, /* Driver ops vector */
236 };
237
238 static struct modlinkage modlinkage = {
239 MODREV_1,
240 { &modldrv, NULL }
241 };
242
243 /* DMA access attributes */
244 static ddi_device_acc_attr_t accattr = {
245 DDI_DEVICE_ATTR_V0,
246 DDI_NEVERSWAP_ACC,
247 DDI_STRICTORDER_ACC
248 };
249
250 static struct amr_softs *amr_softstatep;
251
252
253 int
254 _init(void)
255 {
256 int error;
257
258 error = ddi_soft_state_init((void *)&amr_softstatep,
259 sizeof (struct amr_softs), 0);
260
|