270 ibnex_getinfo, /* info */
271 nulldev, /* identify */
272 nulldev, /* probe */
273 ibnex_attach, /* attach */
274 ibnex_detach, /* detach */
275 nodev, /* reset */
276 &ibnex_cbops, /* driver ops - devctl interfaces */
277 &ibnex_bus_ops, /* bus operations */
278 nulldev, /* power */
279 ddi_quiesce_not_needed, /* quiesce */
280 };
281
282 /* Module linkage information for the kernel. */
283 static struct modldrv modldrv = {
284 &mod_driverops, /* Driver module */
285 "IB nexus", /* Driver name and version */
286 &ibnex_ops, /* driver ops */
287 };
288
289 static struct modlinkage modlinkage = {
290 MODREV_1, (void *)&modldrv, NULL
291 };
292
293 /*
294 * Global per-instance IB Nexus data.
295 * There is only one instance of IB Nexus supported.
296 */
297 ibnex_t ibnex;
298 #ifdef __lock_lint
299 extern ibdm_t ibdm;
300 #endif
301 _NOTE(MUTEX_PROTECTS_DATA(ibnex.ibnex_mutex, ibnex_s))
302 _NOTE(DATA_READABLE_WITHOUT_LOCK(ibnex.ibnex_num_comm_svcs
303 ibnex.ibnex_comm_svc_names ibnex.ibnex_nvppa_comm_svcs
304 ibnex.ibnex_vppa_comm_svc_names ibnex.ibnex_nhcasvc_comm_svcs
305 ibnex.ibnex_hcasvc_comm_svc_names ibnex.ibnex_ioc_list))
306 _NOTE(MUTEX_PROTECTS_DATA(ibnex.ibnex_mutex, ibnex_node_data_s))
307 _NOTE(LOCK_ORDER(ibdm.ibdm_hl_mutex ibnex.ibnex_mutex))
308
309 /* The port settling time in seconds */
310 int ibnex_port_settling_time = 8;
|
270 ibnex_getinfo, /* info */
271 nulldev, /* identify */
272 nulldev, /* probe */
273 ibnex_attach, /* attach */
274 ibnex_detach, /* detach */
275 nodev, /* reset */
276 &ibnex_cbops, /* driver ops - devctl interfaces */
277 &ibnex_bus_ops, /* bus operations */
278 nulldev, /* power */
279 ddi_quiesce_not_needed, /* quiesce */
280 };
281
282 /* Module linkage information for the kernel. */
283 static struct modldrv modldrv = {
284 &mod_driverops, /* Driver module */
285 "IB nexus", /* Driver name and version */
286 &ibnex_ops, /* driver ops */
287 };
288
289 static struct modlinkage modlinkage = {
290 MODREV_1, { (void *)&modldrv, NULL }
291 };
292
293 /*
294 * Global per-instance IB Nexus data.
295 * There is only one instance of IB Nexus supported.
296 */
297 ibnex_t ibnex;
298 #ifdef __lock_lint
299 extern ibdm_t ibdm;
300 #endif
301 _NOTE(MUTEX_PROTECTS_DATA(ibnex.ibnex_mutex, ibnex_s))
302 _NOTE(DATA_READABLE_WITHOUT_LOCK(ibnex.ibnex_num_comm_svcs
303 ibnex.ibnex_comm_svc_names ibnex.ibnex_nvppa_comm_svcs
304 ibnex.ibnex_vppa_comm_svc_names ibnex.ibnex_nhcasvc_comm_svcs
305 ibnex.ibnex_hcasvc_comm_svc_names ibnex.ibnex_ioc_list))
306 _NOTE(MUTEX_PROTECTS_DATA(ibnex.ibnex_mutex, ibnex_node_data_s))
307 _NOTE(LOCK_ORDER(ibdm.ibdm_hl_mutex ibnex.ibnex_mutex))
308
309 /* The port settling time in seconds */
310 int ibnex_port_settling_time = 8;
|