Lines Matching refs:parent
197 dev->parent = 0;
233 if (dev->parent) {
252 if (dev->parent) {
253 // If the parent wants rebinding when its children are gone,
254 // And the parent is not dead, And this was the last child...
255 if ((dev->parent->flags & DEV_FLAG_WANTS_REBIND) &&
256 (!(dev->parent->flags & DEV_FLAG_DEAD)) &&
257 list_is_empty(&dev->parent->children)) {
259 dev->parent->flags &= (~DEV_FLAG_WANTS_REBIND);
260 devhost_device_bind(dev->parent, "");
263 dev_ref_release(dev->parent);
329 zx_status_t devhost_device_create(zx_driver_t* drv, zx_device_t* parent,
395 // singleton misc or root parent devices.
423 zx_status_t devhost_device_add(zx_device_t* dev, zx_device_t* parent,
431 if (parent == nullptr) {
432 printf("device_add: cannot add %p(%s) to nullptr parent\n", dev, dev->name);
436 if (parent->flags & DEV_FLAG_DEAD) {
437 printf("device add: %p: is dead, cannot add child %p\n", parent, dev);
447 // ctx's parent matches the one provided to add we need to do
449 if ((creation_ctx != nullptr) && (creation_ctx->parent == parent)) {
461 printf("devhost: device add: %p(%s) parent=%p(%s)\n",
462 dev, dev->name, parent, parent->name);
492 dev_ref_acquire(parent);
493 dev->parent = parent;
495 // attach to our parent
496 list_add_tail(&parent->children, &dev->node);
500 status = devhost_add(parent, dev, proxy_args, props, prop_count);
504 dev_ref_release(dev->parent);
505 dev->parent = nullptr;