Lines Matching refs:child

46  * next child down the tree.  The final result is a "disk" node configured
671 * Create the "pm-want-child-notification?" property
678 " \"pm-want-child-notification?\" property"
682 "pm-want-child-notification?", NULL, 0)
686 " \"pm-want-child-notification?\""
695 * Check if the pm-want-child-notification? property was
701 "pm-want-child-notification?") != 1) {
1077 dev_info_t *child = (dev_info_t *)arg;
1082 ddi_node_name(child), ddi_get_instance(child),
1083 DEVI(child)->devi_state);
1086 return (pshot_initchild(dip, child));
1091 dev_info_t *child = (dev_info_t *)arg;
1096 ddi_node_name(child), ddi_get_instance(child),
1097 DEVI(child)->devi_state);
1100 return (pshot_uninitchild(dip, child));
1123 dev_info_t *child = (dev_info_t *)rdip;
1124 childname = ddi_node_name(child);
1125 childinstance = ddi_get_instance(child);
1129 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
1145 * Mark nexus busy before a child attaches.
1166 * Mark nexus idle after a child attaches.
1169 * - the child is a tape device or a no-pm-components
1199 dev_info_t *child = (dev_info_t *)rdip;
1200 childname = ddi_node_name(child);
1201 childinstance = ddi_get_instance(child);
1205 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
1222 * Mark nexus busy before a child detaches.
1224 * - pshot@XXX,nopm_strict), or if the child is a
1248 * Mark nexus idle after a child detaches.
1270 * parent is idle after the child detaches
1576 * Mark nexus idle when a child's comp 0
1579 * This will leave the parent busy when the child
1622 * Mark nexus idle when a child's comp 0
1625 * If powering up child leaf/nexus nodes via
1629 * child node.
1663 pshot_initchild(dev_info_t *dip, dev_info_t *child)
1677 if (impl_ddi_merge_child(child) != DDI_SUCCESS)
1681 enum_base = ddi_prop_get_int(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS,
1684 enum_extent = ddi_prop_get_int(DDI_DEV_T_ANY, child,
1691 c_nodename = ddi_node_name(child);
1717 if (ddi_prop_lookup_string(DDI_DEV_T_ANY, child, 0, "bus-addr",
1720 ddi_node_name(child));
1726 ddi_node_name(child));
1743 ddi_node_name(child), bus_addr);
1746 ddi_set_name_addr(child, bus_addr);
1753 pshot_uninitchild(dev_info_t *dip, dev_info_t *child)
1755 ddi_set_name_addr(child, NULL);
1874 dev_info_t *child = NULL;
1927 child, (void *)self);
1942 child, (void *)self);
1962 child, (void *)self);
1973 child, (void *)self);
2219 * notify the driver that the child will not
2245 * child to direct the DEVCTL to, if applicable;
2255 dev_info_t *child = NULL;
2268 child = e_ddi_hold_devi_by_dev((dev_t)arg, 0);
2284 child, (void *)self);
2299 child, (void *)self);
2319 child, (void *)self);
2330 child, (void *)self);
2338 if (child != NULL)
2339 ddi_release_devi(child);
2446 pshot_event(pshot_t *pshot, int event_tag, dev_info_t *child,
2453 if (child) {
2456 "child = 0x%p (%s%d) bus_impl = 0x%p (%s%d)\n",
2460 (void *)child, ddi_node_name(child),
2461 ddi_get_instance(child), bus_impldata,
2467 "child = NULL, bus_impl = 0x%p (%s%d)\n",
2478 child, cookie, bus_impldata));
2562 * lookup and hold child device, create if not found
2734 pshot_nexus_properties(dev_info_t *parent, dev_info_t *child, char *cname,
2750 * Create the "pm-want-child-notification?" property for all
2756 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
2758 "pm-want-child-notification?") == 0) {
2762 " \"pm-want-child-notification?\""
2766 if (ddi_prop_create(DDI_DEV_T_NONE, child, 0,
2767 "pm-want-child-notification?", NULL, 0)
2771 " the \"pm-want-child-notification?\""
2784 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
2794 if (ddi_prop_create(DDI_DEV_T_NONE, child, 0,
2808 pshot_leaf_properties(dev_info_t *parent, dev_info_t *child, char *cname,
2828 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
2838 if (ddi_prop_create(DDI_DEV_T_NONE, child,
2857 if (ddi_prop_exists(DDI_DEV_T_ANY, child,
2867 if (ddi_prop_create(DDI_DEV_T_NONE, child,
2881 * BUS_CONFIG_ONE: setup a child nexus instance.
2886 dev_info_t *child;
2893 child = pshot_findchild(parent, cname, caddr);
2894 if (child) {
2902 * create the "pm-want-child-notification?" property
2903 * for this child, if it doesn't already exist
2905 (void) pshot_nexus_properties(parent, child, cname, caddr);
2910 ndi_devi_alloc_sleep(parent, cname, DEVI_SID_NODEID, &child);
2911 ASSERT(child != NULL);
2913 if (ndi_prop_update_string(DDI_DEV_T_NONE, child,
2917 (void) ndi_devi_free(child);
2921 rval = ndi_devi_bind_driver(child, 0);
2925 (void) ndi_devi_free(child);
2930 * create the "pm-want-child-notification?" property
2932 (void) pshot_nexus_properties(parent, child, cname, caddr);
2938 * BUS_CONFIG_ONE: setup a child leaf device instance.
2944 dev_info_t *child;
2957 if ((child = pshot_findchild(parent, cname, caddr)) != NULL) {
2963 (void) pshot_leaf_properties(parent, child, cname, caddr);
2968 ndi_devi_alloc_sleep(parent, cname, DEVI_SID_NODEID, &child);
2969 ASSERT(child != NULL);
2971 if (ndi_prop_update_string(DDI_DEV_T_NONE, child, "bus-addr",
2973 (void) ndi_devi_free(child);
2979 * if the child nodename is "cdisk", attach the list of compatible
2984 child, "compatible", (char **)pshot_compat_psramdisks,
2986 (void) ndi_devi_free(child);
3001 DDI_DEV_T_NONE, child, "compatible",
3003 (void) ndi_devi_free(child);
3007 DDI_DEV_T_NONE, child, "node-type",
3009 (void) ndi_devi_free(child);
3016 rval = ndi_devi_bind_driver(child, 0);
3020 (void) ndi_devi_free(child);
3028 (void) pshot_leaf_properties(parent, child, cname, caddr);
3341 dev_info_t *child;
3346 &child)) != NDI_SUCCESS) {
3350 if (ndi_prop_update_string(DDI_DEV_T_NONE, child,
3352 (void) ndi_devi_free(child);
3358 if (ndi_devi_online(child, 0) != NDI_SUCCESS) {