Lines Matching refs:rp

57 	int	(*sel_selector)(di_node_t node, rcm_arg_t *rp);
67 static int disk_select(di_node_t node, rcm_arg_t *rp);
68 static int nexus_select(di_node_t node, rcm_arg_t *rp);
69 static int enclosure_select(di_node_t node, rcm_arg_t *rp);
70 static int smp_select(di_node_t node, rcm_arg_t *rp);
109 rcm_arg_t *rp = (rcm_arg_t *)arg;
110 di_retire_t *dp = rp->rcm_dp;
112 rp->rcm_supp = 1;
119 enclosure_select(di_node_t node, rcm_arg_t *rp)
122 di_retire_t *dp = rp->rcm_dp;
151 rcm_arg_t *rp = (rcm_arg_t *)arg;
152 di_retire_t *dp = rp->rcm_dp;
154 rp->rcm_supp = 1;
161 smp_select(di_node_t node, rcm_arg_t *rp)
164 di_retire_t *dp = rp->rcm_dp;
186 rcm_arg_t *rp = (rcm_arg_t *)arg;
187 di_retire_t *dp = rp->rcm_dp;
190 rp->rcm_supp = 1;
202 disk_select(di_node_t node, rcm_arg_t *rp)
205 di_retire_t *dp = rp->rcm_dp;
224 nexus_select(di_node_t node, rcm_arg_t *rp)
229 di_retire_t *dp = rp->rcm_dp;
259 rcm_arg_t *rp = (rcm_arg_t *)arg;
266 dp = rp->rcm_dp;
275 rp->rcm_supp = 0;
297 sel = supported_devices[i].sel_selector(node, rp);
312 rp->rcm_supp = 0;
320 "Checking other nodes in subtree: %s\n", rp->rcm_root);
330 retire_supported(rcm_arg_t *rp)
333 di_node_t rnode = rp->rcm_node;
335 dp = rp->rcm_dp;
352 rp->rcm_supp = 1;
353 if (di_walk_node(rnode, DI_WALK_CLDFIRST, rp, node_select) != 0) {
356 rp->rcm_supp = 0;
359 if (rp->rcm_supp) {
363 return (rp->rcm_supp);
367 rcm_finalize(rcm_arg_t *rp, int retcode)
376 dp = rp->rcm_dp;
381 retcode, rp->rcm_root);
383 for (p = rp->rcm_cons_nodes; p; ) {
388 rp->rcm_cons_nodes = NULL;
392 for (p = rp->rcm_rsrc_minors; p; ) {
396 retval = rp->rcm_remove(rp->rcm_handle,
401 retval = rp->rcm_online(rp->rcm_handle,
417 rp->rcm_rsrc_minors = NULL;
423 rcm_arg_t *rp = (rcm_arg_t *)arg;
424 di_retire_t *dp = rp->rcm_dp;
432 "failed. Returning RCM FAILURE: %s\n", rp->rcm_root);
433 rp->rcm_retcode = RCM_FAILURE;
440 "Returning RCM FAILURE: %s\n", rp->rcm_root);
442 rp->rcm_retcode = RCM_FAILURE;
451 retval = rp->rcm_offline(rp->rcm_handle, rpt->rpt_path,
454 rpt->rpt_next = rp->rcm_rsrc_minors;
455 rp->rcm_rsrc_minors = rpt;
460 rp->rcm_retcode = RCM_FAILURE;
463 rp->rcm_retcode = RCM_SUCCESS;
469 rp->rcm_retcode = RCM_FAILURE;
482 rcm_arg_t *rp = (rcm_arg_t *)arg;
484 di_retire_t *dp = rp->rcm_dp;
491 RIO_ASSERT(dp, rp->rcm_retcode == RCM_SUCCESS ||
492 rp->rcm_retcode == RCM_NO_CONSTRAINT);
496 rp->rcm_retcode = RCM_NO_CONSTRAINT;
517 if (di_walk_minor(node, NULL, 0, rp, call_offline) != 0) {
524 if (rp->rcm_retcode == RCM_FAILURE) {
529 } else if (rp->rcm_retcode == RCM_SUCCESS) {
532 rpt->rpt_next = rp->rcm_cons_nodes;
533 rp->rcm_cons_nodes = rpt;
534 } else if (rp->rcm_retcode != RCM_NO_CONSTRAINT) {
537 rp->rcm_retcode, rpt->rpt_path);
555 rp->rcm_retcode = RCM_SUCCESS;
559 rp->rcm_retcode = RCM_FAILURE;
573 rcm_notify(rcm_arg_t *rp, char **pp, size_t *clen)
583 dp = rp->rcm_dp;
587 RIO_ASSERT(dp, rp->rcm_root);
591 rnode = rp->rcm_node;
594 "NULL. Returning no RCM constraint: %s\n", rp->rcm_root);
598 rp->rcm_retcode = RCM_NO_CONSTRAINT;
599 rp->rcm_cons_nodes = NULL;
600 rp->rcm_rsrc_minors = NULL;
601 if (di_walk_node(rnode, DI_WALK_CLDFIRST, rp, offline_one) != 0) {
603 "failed: error: %s: %s\n", strerror(errno), rp->rcm_root);
605 rcm_finalize(rp, -1);
606 rp->rcm_retcode = RCM_FAILURE;
610 if (rp->rcm_retcode == RCM_FAILURE) {
612 "returned retcode of RCM_FAILURE: %s\n", rp->rcm_root);
613 rcm_finalize(rp, -1);
617 if (rp->rcm_retcode == RCM_NO_CONSTRAINT) {
620 rp->rcm_root);
628 for (len = 0, p = rp->rcm_cons_nodes; p; p = p->rpt_next) {
641 rp->rcm_root);
642 rcm_finalize(rp, -1);
643 rp->rcm_retcode = RCM_FAILURE;
647 for (s = plistp, p = rp->rcm_cons_nodes; p; ) {
655 rp->rcm_cons_nodes = NULL;
664 rp->rcm_retcode = RCM_SUCCESS;
666 return (rp->rcm_retcode);