Lines Matching refs:cp

81 			    di_minor_t minor, controller_t *cp);
96 static void remove_controller(controller_t *cp,
129 static path_t *new_path(controller_t *cp, disk_t *diskp,
193 controller_t *cp)
207 di_minor_next(di_parent_node(node), NULL), cp));
215 if (cp != NULL) {
216 if (add_ptr2array(cp,
289 if (cp != NULL) {
290 if (add_ptr2array(cp, (void ***)&bp->controllers) != 0) {
358 controller_t *cp;
364 if ((cp = find_controller(args, devpath)) != NULL) {
366 return (cp);
378 if ((cp = find_controller(args, devpath)) != NULL) {
380 return (cp);
393 cp = (controller_t *)calloc(1, sizeof (controller_t));
394 if (cp == NULL) {
398 cp->name = strdup(devpath);
400 if (cp->name == NULL) {
401 cache_free_controller(cp);
408 cp->ctype = c_type;
413 if ((cp->kstat_name = strdup(kstat_name)) == NULL) {
414 cache_free_controller(cp);
418 if (libdiskmgt_str_eq(cp->ctype, "scsi")) {
419 cp->scsi_options = get_prop(SCSI_OPTIONS_PROP, node);
423 cp->multiplex = 1;
425 cp->multiplex = 0;
428 cp->freq = get_prom_int("clock-frequency", node, args->ph);
430 cp->disks = (disk_t **)calloc(1, sizeof (disk_t *));
431 if (cp->disks == NULL) {
432 cache_free_controller(cp);
435 cp->disks[0] = NULL;
437 cp->next = args->controller_listp;
438 args->controller_listp = cp;
440 cp->bus = add_bus(args, di_parent_node(node),
441 di_minor_next(di_parent_node(node), NULL), cp);
443 return (cp);
661 controller_t *cp;
678 if ((cp = add_controller(args, pnode, minor)) == NULL) {
684 if (cp == diskp->controllers[i]) {
692 if (add_ptr2array(diskp, (void ***)&cp->disks) != 0) {
697 if (add_ptr2array(cp, (void ***)&diskp->controllers) != 0) {
737 if (new_path(cp, diskp, phci_node,
863 remove_controller(controller_t *cp, controller_t *currp)
867 if (cp == currp) {
875 if (cp->disks != NULL && cp->disks[0] != NULL) {
888 for (i = 0; cp->disks[i]; i++) {
889 disk_t *dp = cp->disks[i];
896 cp->name)) {
902 dp->kernel_name, cp->name);
917 if (cp->paths != NULL && cp->paths[0] != NULL) {
924 cache_free_controller(cp);
935 controller_t *cp;
937 cp = args->controller_listp;
938 while (cp != NULL) {
941 pp = cp->paths;
946 remove_invalid_controller(pp[i]->name, cp,
950 cp = cp->next;
1793 new_path(controller_t *cp, disk_t *dp, di_node_t node, di_path_state_t st,
1814 if (cp->paths != NULL) {
1817 for (i = 0; cp->paths[i]; i++) {
1818 if (libdiskmgt_str_eq(devpath, cp->paths[i]->name)) {
1819 pp = cp->paths[i];
1856 if (add_ptr2array(pp, (void ***)&cp->paths) != 0) {
1862 pp->controller = cp;
1883 controller_t *cp;
1911 cp = args->controller_listp;
1912 if (libdiskmgt_str_eq(cp->name, name)) {
1913 args->controller_listp = cp->next;
1917 cp->name);
1919 remove_controller(cp, currp);
1923 prevp = cp;
1924 cp = cp->next;
1925 while (cp != NULL) {
1926 if (libdiskmgt_str_eq(cp->name, name)) {
1930 cp->name);
1932 prevp->next = cp->next;
1933 remove_controller(cp, currp);
1936 prevp = cp;
1937 cp = cp->next;