Lines Matching defs:dip

80 ndi_prop_update_int(dev_t match_dev, dev_info_t *dip,
83 return (ddi_prop_update_common(match_dev, dip,
89 ndi_prop_update_int64(dev_t match_dev, dev_info_t *dip,
92 return (ddi_prop_update_common(match_dev, dip,
98 ndi_prop_create_boolean(dev_t match_dev, dev_info_t *dip,
101 return (ddi_prop_update_common(match_dev, dip,
107 ndi_prop_update_int_array(dev_t match_dev, dev_info_t *dip,
110 return (ddi_prop_update_common(match_dev, dip,
116 ndi_prop_update_int64_array(dev_t match_dev, dev_info_t *dip,
119 return (ddi_prop_update_common(match_dev, dip,
125 ndi_prop_update_string(dev_t match_dev, dev_info_t *dip,
128 return (ddi_prop_update_common(match_dev, dip,
134 ndi_prop_update_string_array(dev_t match_dev, dev_info_t *dip,
137 return (ddi_prop_update_common(match_dev, dip,
144 ndi_prop_update_byte_array(dev_t match_dev, dev_info_t *dip,
150 return (ddi_prop_update_common(match_dev, dip,
156 ndi_prop_remove(dev_t dev, dev_info_t *dip, char *name)
158 return (ddi_prop_remove_common(dev, dip, name, DDI_PROP_HW_DEF));
162 ndi_prop_remove_all(dev_info_t *dip)
164 i_ddi_prop_dyn_parent_set(dip, NULL);
165 ddi_prop_remove_all_common(dip, (int)DDI_PROP_HW_DEF);
172 * The dip parameter is an artifact of an older implementation in which all
176 * dip - Ignored.
184 ndi_post_event(dev_info_t *dip, dev_info_t *rdip,
232 * (*bus_add_eventcall)() interface. The dip parameter is an
239 ndi_busop_add_eventcall(dev_info_t *dip, dev_info_t *rdip,
266 ndi_busop_get_eventcookie(dev_info_t *dip, dev_info_t *rdip, char *name,
269 dev_info_t *pdip = (dev_info_t *)DEVI(dip)->devi_parent;
456 ndi_devctl_device_online(dev_info_t *dip, struct devctl_iocdata *dcp,
470 if ((rval = ndi_devi_config_one(dip, name, &rdip,
478 if (i_ddi_devi_attached(dip) && !DEVI_BUSY_OWNED(dip))
479 (void) devfs_clean(dip, NULL, 0);
488 ddi_driver_name(dip), ddi_get_instance(dip), name,
501 ndi_devctl_device_offline(dev_info_t *dip, struct devctl_iocdata *dcp,
514 (void) devfs_clean(dip, name, DV_CLEAN_FORCE);
515 rval = ndi_devi_unconfig_one(dip, name, NULL,
525 ddi_driver_name(dip), ddi_get_instance(dip), name,
538 ndi_devctl_device_remove(dev_info_t *dip, struct devctl_iocdata *dcp,
551 (void) devfs_clean(dip, name, DV_CLEAN_FORCE);
553 rval = ndi_devi_unconfig_one(dip, name, NULL, flags | NDI_DEVI_REMOVE);
562 ddi_driver_name(dip), ddi_get_instance(dip), name,
578 dev_info_t *dip;
599 dip = ndi_devi_findchild(parent, devname);
602 if (dip == NULL) {
607 mutex_enter(&(DEVI(dip)->devi_lock));
608 if (DEVI_IS_DEVICE_OFFLINE(dip)) {
610 } else if (DEVI_IS_DEVICE_DOWN(dip)) {
614 if (devi_stillreferenced(dip) == DEVI_REFERENCED)
618 mutex_exit(&(DEVI(dip)->devi_lock));
625 * return the current state of the device "dip"
631 ndi_dc_return_dev_state(dev_info_t *dip, struct devctl_iocdata *dcp)
637 if ((dip == NULL) || (dcp == NULL))
640 pdip = ddi_get_parent(dip);
643 mutex_enter(&(DEVI(dip)->devi_lock));
644 if (DEVI_IS_DEVICE_OFFLINE(dip)) {
646 } else if (DEVI_IS_DEVICE_DOWN(dip)) {
650 if (devi_stillreferenced(dip) == DEVI_REFERENCED)
654 mutex_exit(&(DEVI(dip)->devi_lock));
668 ndi_devctl_bus_getstate(dev_info_t *dip, struct devctl_iocdata *dcp,
671 if ((dip == NULL) || (dcp == NULL))
674 return (ndi_get_bus_state(dip, state));
681 ndi_devctl_ioctl(dev_info_t *dip, int cmd, intptr_t arg, int mode, uint_t flags)
697 rval = ndi_devctl_bus_getstate(dip, dcp, &state);
706 rval = ndi_devctl_device_online(dip, dcp, flags);
710 rval = ndi_devctl_device_offline(dip, dcp, flags);
714 rval = ndi_devctl_device_getstate(dip, dcp, &state);
723 rval = ndi_devctl_device_remove(dip, dcp, flags);
727 rval = ndi_dc_devi_create(dcp, dip, 0, NULL);
790 * Copyout the bus state of the bus nexus device "dip" to the requesting
794 ndi_dc_return_bus_state(dev_info_t *dip, struct devctl_iocdata *dcp)
798 if ((dip == NULL) || (dcp == NULL))
801 if (ndi_get_bus_state(dip, &devstate) != NDI_SUCCESS)
856 * In the unlikely event that the dip was somehow attached by
858 * were registered against the dip) after it was created by
860 * proceedings on this dip. Note that we don't need to
861 * return the dip after a failure of the notify since
862 * for a contract or LDI handle to be created the dip was
1073 * return current soft bus state of bus nexus "dip"
1076 ndi_get_bus_state(dev_info_t *dip, uint_t *rstate)
1078 if (dip == NULL || rstate == NULL)
1081 if (DEVI(dip)->devi_ops->devo_bus_ops == NULL)
1084 mutex_enter(&(DEVI(dip)->devi_lock));
1085 if (DEVI_IS_BUS_QUIESCED(dip))
1087 else if (DEVI_IS_BUS_DOWN(dip))
1091 mutex_exit(&(DEVI(dip)->devi_lock));
1096 * Set the soft state of bus nexus "dip"
1099 ndi_set_bus_state(dev_info_t *dip, uint_t state)
1103 if (dip == NULL)
1106 mutex_enter(&(DEVI(dip)->devi_lock));
1110 DEVI_SET_BUS_QUIESCE(dip);
1114 DEVI_SET_BUS_ACTIVE(dip);
1115 DEVI_SET_BUS_UP(dip);
1119 DEVI_SET_BUS_DOWN(dip);
1126 mutex_exit(&(DEVI(dip)->devi_lock));
1205 ndi_event_alloc_hdl(dev_info_t *dip, ddi_iblock_cookie_t cookie,
1217 ndi_event_hdl->ndi_evthdl_dip = dip;
1850 "producer dip=%p (%s%d): cookie = %p, name = %s\n",
1888 "\t\tconsumer dip=%p (%s%d)\n",
1938 "producer dip=%p (%s%d): cookie = %p, name = %s\n",
1968 "\t\tconsumer dip=%p (%s%d)\n",
2113 cmn_err(CE_CONT, "%s: event handle (%p): dip = %p (%s%d)\n",
2131 "\t\t dip=%p (%s%d) cookie=%p arg=%p\n",
2147 ndi_dev_is_prom_node(dev_info_t *dip)
2149 return (DEVI(dip)->devi_node_class == DDI_NC_PROM);
2153 ndi_dev_is_pseudo_node(dev_info_t *dip)
2161 return (DEVI(dip)->devi_node_class == DDI_NC_PSEUDO);
2165 ndi_dev_is_persistent_node(dev_info_t *dip)
2167 return ((DEVI(dip)->devi_node_attributes & DDI_PERSISTENT) != 0);
2171 ndi_dev_is_hidden_node(dev_info_t *dip)
2173 return ((DEVI(dip)->devi_node_attributes & DDI_HIDDEN_NODE) != 0);
2177 ndi_dev_is_hotplug_node(dev_info_t *dip)
2179 return ((DEVI(dip)->devi_node_attributes & DDI_HOTPLUG_NODE) != 0);
2183 ndi_devi_set_hidden(dev_info_t *dip)
2185 DEVI(dip)->devi_node_attributes |= DDI_HIDDEN_NODE;
2189 ndi_devi_clr_hidden(dev_info_t *dip)
2191 DEVI(dip)->devi_node_attributes &= ~DDI_HIDDEN_NODE;
2195 i_ndi_dev_is_auto_assigned_node(dev_info_t *dip)
2197 return ((DEVI(dip)->devi_node_attributes &
2202 i_ndi_set_node_class(dev_info_t *dip, ddi_node_class_t c)
2204 DEVI(dip)->devi_node_class = c;
2208 i_ndi_get_node_class(dev_info_t *dip)
2210 return (DEVI(dip)->devi_node_class);
2214 i_ndi_set_node_attributes(dev_info_t *dip, int p)
2216 DEVI(dip)->devi_node_attributes = p;
2220 i_ndi_get_node_attributes(dev_info_t *dip)
2222 return (DEVI(dip)->devi_node_attributes);
2226 i_ndi_set_nodeid(dev_info_t *dip, int n)
2228 DEVI(dip)->devi_nodeid = n;
2260 i_ddi_fault_handler(dev_info_t *dip, struct ddi_fault_event_data *fedp)
2264 mutex_enter(&(DEVI(dip)->devi_lock));
2265 if (!DEVI_IS_DEVICE_OFFLINE(dip)) {
2268 DEVI_SET_DEVICE_DOWN(dip);
2272 DEVI_SET_DEVICE_DEGRADED(dip);
2280 DEVI_SET_DEVICE_UP(dip);
2284 mutex_exit(&(DEVI(dip)->devi_lock));
2419 i_ddi_rootnex_init_events(dev_info_t *dip)
2421 if (ndi_event_alloc_hdl(dip, (ddi_iblock_cookie_t)(LOCK_LEVEL-1),
2437 i_ddi_rootnex_get_eventcookie(dev_info_t *dip, dev_info_t *rdip,
2448 i_ddi_rootnex_add_eventcall(dev_info_t *dip, dev_info_t *rdip,
2449 ddi_eventcookie_t eventid, void (*handler)(dev_info_t *dip,
2461 i_ddi_rootnex_remove_eventcall(dev_info_t *dip, ddi_callback_id_t cb_id)
2471 i_ddi_rootnex_post_event(dev_info_t *dip, dev_info_t *rdip,
2493 ndi_set_bus_private(dev_info_t *dip, boolean_t up, uint32_t port_type,
2497 DEVI(dip)->devi_bus.port_up.info.port.type = port_type;
2498 DEVI(dip)->devi_bus.port_up.priv_p = data;
2500 DEVI(dip)->devi_bus.port_down.info.port.type = port_type;
2501 DEVI(dip)->devi_bus.port_down.priv_p = data;
2506 ndi_get_bus_private(dev_info_t *dip, boolean_t up)
2509 return (DEVI(dip)->devi_bus.port_up.priv_p);
2511 return (DEVI(dip)->devi_bus.port_down.priv_p);
2515 ndi_port_type(dev_info_t *dip, boolean_t up, uint32_t port_type)
2518 return ((DEVI(dip)->devi_bus.port_up.info.port.type) ==
2521 return ((DEVI(dip)->devi_bus.port_down.info.port.type) ==