85 nulldev, /* Identify */
86 nulldev, /* Probe */
87 pit_beep_attach, /* Attach */
88 pit_beep_detach, /* Detach */
89 nodev, /* Reset */
90 &pit_beep_cb_ops, /* Driver operations */
91 0, /* Bus operations */
92 NULL, /* Power */
93 ddi_quiesce_not_needed, /* quiesce */
94 };
95
96
97 static struct modldrv modldrv = {
98 &mod_driverops, /* This one is a driver */
99 "Intel Pit_beep Driver", /* Name of the module. */
100 &pit_beep_ops, /* Driver ops */
101 };
102
103
104 static struct modlinkage modlinkage = {
105 MODREV_1, (void *)&modldrv, NULL
106 };
107
108
109
110 int
111 _init(void)
112 {
113 int error;
114
115 /* Initialize the soft state structures */
116 if ((error = ddi_soft_state_init(&pit_beep_statep,
117 sizeof (pit_beep_state_t), 1)) != 0) {
118
119 return (error);
120 }
121
122 /* Install the loadable module */
123 if ((error = mod_install(&modlinkage)) != 0) {
124 ddi_soft_state_fini(&pit_beep_statep);
125 }
|
85 nulldev, /* Identify */
86 nulldev, /* Probe */
87 pit_beep_attach, /* Attach */
88 pit_beep_detach, /* Detach */
89 nodev, /* Reset */
90 &pit_beep_cb_ops, /* Driver operations */
91 0, /* Bus operations */
92 NULL, /* Power */
93 ddi_quiesce_not_needed, /* quiesce */
94 };
95
96
97 static struct modldrv modldrv = {
98 &mod_driverops, /* This one is a driver */
99 "Intel Pit_beep Driver", /* Name of the module. */
100 &pit_beep_ops, /* Driver ops */
101 };
102
103
104 static struct modlinkage modlinkage = {
105 MODREV_1, { (void *)&modldrv, NULL }
106 };
107
108
109
110 int
111 _init(void)
112 {
113 int error;
114
115 /* Initialize the soft state structures */
116 if ((error = ddi_soft_state_init(&pit_beep_statep,
117 sizeof (pit_beep_state_t), 1)) != 0) {
118
119 return (error);
120 }
121
122 /* Install the loadable module */
123 if ((error = mod_install(&modlinkage)) != 0) {
124 ddi_soft_state_fini(&pit_beep_statep);
125 }
|