Lines Matching refs:node

64 #define	WWN_PROP		"node-wwn"
80 static bus_t *add_bus(struct search_args *args, di_node_t node,
82 static int add_cluster_devs(di_node_t node, di_minor_t minor,
85 di_node_t node, di_minor_t minor);
87 static int add_devs(di_node_t node, di_minor_t minor, void *arg);
94 static char *bus_type(di_node_t node, di_minor_t minor,
101 static char *ctype(di_node_t node, di_minor_t minor);
110 static char *get_byte_prop(char *prop_name, di_node_t node);
111 static di_node_t get_parent_bus(di_node_t node,
113 static int get_prom_int(char *prop_name, di_node_t node,
115 static char *get_prom_str(char *prop_name, di_node_t node,
117 static int get_prop(char *prop_name, di_node_t node);
118 static char *get_str_prop(char *prop_name, di_node_t node);
121 static int is_cluster_disk(di_node_t node, di_minor_t minor);
124 static int is_zvol(di_node_t node, di_minor_t minor);
125 static int is_HBA(di_node_t node, di_minor_t minor);
130 di_node_t node, di_path_state_t st, char *wwn);
192 add_bus(struct search_args *args, di_node_t node, di_minor_t minor,
201 if (node == DI_NODE_NIL) {
205 if ((btype = bus_type(node, minor, args->ph)) == NULL) {
206 return (add_bus(args, di_parent_node(node),
207 di_minor_next(di_parent_node(node), NULL), cp));
210 devpath = di_devfs_path(node);
225 /* Special handling for root node. */
256 di_node_name(node), di_instance(node));
264 /* if parent node is a bus, get its name */
265 if ((pnode = get_parent_bus(node, args)) != NULL) {
279 bp->freq = get_prom_int("clock-frequency", node, args->ph);
303 add_cluster_devs(di_node_t node, di_minor_t minor, void *arg)
310 if (!is_cluster_disk(node, minor)) {
321 devpath = di_devfs_path(node);
329 args->node = node;
338 devpath = di_devfs_path(node);
355 add_controller(struct search_args *args, di_node_t node, di_minor_t minor)
362 devpath = di_devfs_path(node);
369 /* Special handling for fp attachment node. */
370 if (strcmp(di_node_name(node), "fp") == 0) {
373 pnode = di_parent_node(node);
384 node = pnode;
406 c_type = ctype(node, minor);
411 di_node_name(node), di_instance(node));
419 cp->scsi_options = get_prop(SCSI_OPTIONS_PROP, node);
422 if (libdiskmgt_str_eq(di_node_name(node), "scsi_vhci")) {
428 cp->freq = get_prom_int("clock-frequency", node, args->ph);
440 cp->bus = add_bus(args, di_parent_node(node),
441 di_minor_next(di_parent_node(node), NULL), cp);
462 devidstr = get_str_prop(DEVICE_ID_PROP, args->node);
464 di_node_name(args->node), di_instance(args->node));
490 di_node_name(args->node), di_instance(args->node));
519 add_devs(di_node_t node, di_minor_t minor, void *arg)
531 devpath = di_devfs_path(node);
537 "INFO: dev: %s, node: %s%d, minor: 0x%x, type: %s\n",
538 dev_name, di_node_name(node), di_instance(node),
544 if (bus_type(node, minor, args->ph) != NULL) {
545 if (add_bus(args, node, minor, NULL) == NULL) {
550 } else if (is_HBA(node, minor)) {
551 if (add_controller(args, node, minor) == NULL) {
557 (is_drive(minor) || is_zvol(node, minor))) {
563 di_node_name(node), di_instance(node));
564 devidstr = get_str_prop(DEVICE_ID_PROP, node);
566 args->node = node;
593 if (is_zvol(node, minor)) {
599 node, "name", &str) == -1)
631 devpath = di_devfs_path(node);
663 di_node_t node;
666 node = args->node;
668 pnode = di_parent_node(node);
709 (pi = di_path_client_next_path(node, pi)) != DI_PATH_NIL) {
717 /* get the node wwn */
1004 prod_id = get_str_prop(PROD_ID_PROP, args->node);
1011 prod_id = get_str_prop(PROD_ID_USB_PROP, args->node);
1020 vendor_id = get_str_prop(VENDOR_ID_PROP, args->node);
1027 vendor_id = get_str_prop(VENDOR_ID_USB_PROP, args->node);
1053 diskp->removable = get_prop(REMOVABLE_PROP, args->node);
1106 ctype(di_node_t node, di_minor_t minor)
1112 name = di_node_name(node);
1414 get_byte_prop(char *prop_name, di_node_t node)
1421 cnt = di_prop_lookup_bytes(DDI_DEV_T_ANY, node, prop_name, &bytes);
1437 get_parent_bus(di_node_t node, struct search_args *args)
1441 pnode = di_parent_node(node);
1454 get_prom_int(char *prop_name, di_node_t node, di_prom_handle_t ph)
1458 if (di_prom_prop_lookup_ints(ph, node, prop_name, &n) == 1) {
1466 get_prom_str(char *prop_name, di_node_t node, di_prom_handle_t ph)
1470 if (di_prom_prop_lookup_strings(ph, node, prop_name, &str) == 1) {
1481 get_prop(char *prop_name, di_node_t node)
1486 if ((num = di_prop_lookup_ints(DDI_DEV_T_ANY, node, prop_name, &ip))
1500 get_str_prop(char *prop_name, di_node_t node)
1504 if (di_prop_lookup_strings(DDI_DEV_T_ANY, node, prop_name, &str) == 1) {
1543 bus_type(di_node_t node, di_minor_t minor, di_prom_handle_t ph)
1548 type = get_prom_str("device_type", node, ph);
1550 type = di_node_name(node);
1568 is_cluster_disk(di_node_t node, di_minor_t minor)
1572 libdiskmgt_str_eq(di_node_name(node), CLUSTER_DEV)) {
1637 is_zvol(di_node_t node, di_minor_t minor)
1639 if ((strncmp(di_node_name(node), ZFS_DRIVER, 3) == 0) &&
1646 is_HBA(di_node_t node, di_minor_t minor)
1662 name = di_node_name(node);
1709 aliasp->lun = get_prop(DM_LUN, args->node);
1710 aliasp->target = get_prop(DM_TARGET, args->node);
1711 aliasp->wwn = get_byte_prop(WWN_PROP, args->node);
1713 pnode = di_parent_node(args->node);
1793 new_path(controller_t *cp, disk_t *dp, di_node_t node, di_path_state_t st,
1800 /* Special handling for fp attachment node. */
1801 if (strcmp(di_node_name(node), "fp") == 0) {
1804 pnode = di_parent_node(node);
1806 node = pnode;
1810 devpath = di_devfs_path(node);
1864 minor = di_minor_next(node, NULL);
1866 pp->ctype = ctype(node, minor);