178 extern void npe_ck804_fix_aer_ptr(ddi_acc_handle_t cfg_hdl);
179 extern int npe_disable_empty_bridges_workaround(dev_info_t *child);
180 extern void npe_nvidia_error_workaround(ddi_acc_handle_t cfg_hdl);
181 extern void npe_intel_error_workaround(ddi_acc_handle_t cfg_hdl);
182 extern boolean_t npe_is_mmcfg_supported(dev_info_t *dip);
183 extern void npe_enable_htmsi_children(dev_info_t *dip);
184 extern int npe_save_htconfig_children(dev_info_t *dip);
185 extern int npe_restore_htconfig_children(dev_info_t *dip);
186
187 /*
188 * Module linkage information for the kernel.
189 */
190 static struct modldrv modldrv = {
191 &mod_driverops, /* Type of module */
192 "Host to PCIe nexus driver", /* Name of module */
193 &npe_ops, /* driver ops */
194 };
195
196 static struct modlinkage modlinkage = {
197 MODREV_1,
198 (void *)&modldrv,
199 NULL
200 };
201
202 /* Save minimal state. */
203 void *npe_statep;
204
205 int
206 _init(void)
207 {
208 int e;
209
210 /*
211 * Initialize per-pci bus soft state pointer.
212 */
213 e = ddi_soft_state_init(&npe_statep, sizeof (pci_state_t), 1);
214 if (e != 0)
215 return (e);
216
217 if ((e = mod_install(&modlinkage)) != 0)
218 ddi_soft_state_fini(&npe_statep);
219
|
178 extern void npe_ck804_fix_aer_ptr(ddi_acc_handle_t cfg_hdl);
179 extern int npe_disable_empty_bridges_workaround(dev_info_t *child);
180 extern void npe_nvidia_error_workaround(ddi_acc_handle_t cfg_hdl);
181 extern void npe_intel_error_workaround(ddi_acc_handle_t cfg_hdl);
182 extern boolean_t npe_is_mmcfg_supported(dev_info_t *dip);
183 extern void npe_enable_htmsi_children(dev_info_t *dip);
184 extern int npe_save_htconfig_children(dev_info_t *dip);
185 extern int npe_restore_htconfig_children(dev_info_t *dip);
186
187 /*
188 * Module linkage information for the kernel.
189 */
190 static struct modldrv modldrv = {
191 &mod_driverops, /* Type of module */
192 "Host to PCIe nexus driver", /* Name of module */
193 &npe_ops, /* driver ops */
194 };
195
196 static struct modlinkage modlinkage = {
197 MODREV_1,
198 { (void *)&modldrv, NULL }
199 };
200
201 /* Save minimal state. */
202 void *npe_statep;
203
204 int
205 _init(void)
206 {
207 int e;
208
209 /*
210 * Initialize per-pci bus soft state pointer.
211 */
212 e = ddi_soft_state_init(&npe_statep, sizeof (pci_state_t), 1);
213 if (e != 0)
214 return (e);
215
216 if ((e = mod_install(&modlinkage)) != 0)
217 ddi_soft_state_fini(&npe_statep);
218
|