124 nulldev, /* Probe */
125 ehci_attach, /* Attach */
126 ehci_detach, /* Detach */
127 ehci_reset, /* Reset */
128 &ehci_cb_ops, /* Driver operations */
129 &usba_hubdi_busops, /* Bus operations */
130 usba_hubdi_root_hub_power, /* Power */
131 ehci_quiesce /* Quiesce */
132 };
133
134 /*
135 * The USBA library must be loaded for this driver.
136 */
137 static struct modldrv modldrv = {
138 &mod_driverops, /* Type of module. This one is a driver */
139 "USB EHCI Driver", /* Name of the module. */
140 &ehci_ops, /* Driver ops */
141 };
142
143 static struct modlinkage modlinkage = {
144 MODREV_1, (void *)&modldrv, NULL
145 };
146
147
148 int
149 _init(void)
150 {
151 int error;
152
153 /* Initialize the soft state structures */
154 if ((error = ddi_soft_state_init(&ehci_statep, sizeof (ehci_state_t),
155 EHCI_INSTS)) != 0) {
156 return (error);
157 }
158
159 /* Install the loadable module */
160 if ((error = mod_install(&modlinkage)) != 0) {
161 ddi_soft_state_fini(&ehci_statep);
162 }
163
164 return (error);
|
124 nulldev, /* Probe */
125 ehci_attach, /* Attach */
126 ehci_detach, /* Detach */
127 ehci_reset, /* Reset */
128 &ehci_cb_ops, /* Driver operations */
129 &usba_hubdi_busops, /* Bus operations */
130 usba_hubdi_root_hub_power, /* Power */
131 ehci_quiesce /* Quiesce */
132 };
133
134 /*
135 * The USBA library must be loaded for this driver.
136 */
137 static struct modldrv modldrv = {
138 &mod_driverops, /* Type of module. This one is a driver */
139 "USB EHCI Driver", /* Name of the module. */
140 &ehci_ops, /* Driver ops */
141 };
142
143 static struct modlinkage modlinkage = {
144 MODREV_1, { (void *)&modldrv, NULL }
145 };
146
147
148 int
149 _init(void)
150 {
151 int error;
152
153 /* Initialize the soft state structures */
154 if ((error = ddi_soft_state_init(&ehci_statep, sizeof (ehci_state_t),
155 EHCI_INSTS)) != 0) {
156 return (error);
157 }
158
159 /* Install the loadable module */
160 if ((error = mod_install(&modlinkage)) != 0) {
161 ddi_soft_state_fini(&ehci_statep);
162 }
163
164 return (error);
|