Lines Matching refs:parent
33 static int device_bind_common(struct udevice *parent, const struct driver *drv, in device_bind_common() argument
121 dev->parent = parent; in device_bind_common()
178 if (parent) { in device_bind_common()
179 size = parent->driver->per_child_platdata_auto_alloc_size; in device_bind_common()
181 size = parent->uclass->uc_drv-> in device_bind_common()
195 if (parent) in device_bind_common()
196 list_add_tail(&dev->sibling_node, &parent->child_head); in device_bind_common()
260 if (parent && parent->driver->child_post_bind) { in device_bind_common()
261 ret = parent->driver->child_post_bind(dev); in device_bind_common()
271 if (parent) in device_bind_common()
272 pr_debug("Bound device %s to %s\n", dev->name, parent->name); in device_bind_common()
323 int device_bind_with_driver_data(struct udevice *parent, in device_bind_with_driver_data() argument
328 return device_bind_common(parent, drv, name, NULL, driver_data, node, in device_bind_with_driver_data()
332 int device_bind(struct udevice *parent, const struct driver *drv, in device_bind() argument
336 return device_bind_common(parent, drv, name, platdata, 0, in device_bind()
340 int device_bind_by_name(struct udevice *parent, bool pre_reloc_only, in device_bind_by_name() argument
355 return device_bind_common(parent, drv, info->name, in device_bind_by_name()
439 if (dev->parent) { in device_probe()
440 size = dev->parent->driver->per_child_auto_alloc_size; in device_probe()
442 size = dev->parent->uclass->uc_drv-> in device_probe()
453 ret = device_probe(dev->parent); in device_probe()
482 if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL) in device_probe()
489 if (dev->parent && dev->parent->driver->child_pre_probe) { in device_probe()
490 ret = dev->parent->driver->child_pre_probe(dev); in device_probe()
513 if (dev->parent && device_get_uclass_id(dev) == UCLASS_PINCTRL) in device_probe()
606 int device_get_child(struct udevice *parent, int index, struct udevice **devp) in device_get_child() argument
610 list_for_each_entry(dev, &parent->child_head, sibling_node) { in device_get_child()
618 int device_find_child_by_seq(struct udevice *parent, int seq_or_req_seq, in device_find_child_by_seq() argument
627 list_for_each_entry(dev, &parent->child_head, sibling_node) { in device_find_child_by_seq()
638 int device_get_child_by_seq(struct udevice *parent, int seq, in device_get_child_by_seq() argument
645 ret = device_find_child_by_seq(parent, seq, false, &dev); in device_get_child_by_seq()
651 ret = device_find_child_by_seq(parent, seq, true, &dev); in device_get_child_by_seq()
656 int device_find_child_by_of_offset(struct udevice *parent, int of_offset, in device_find_child_by_of_offset() argument
663 list_for_each_entry(dev, &parent->child_head, sibling_node) { in device_find_child_by_of_offset()
673 int device_get_child_by_of_offset(struct udevice *parent, int node, in device_get_child_by_of_offset() argument
680 ret = device_find_child_by_of_offset(parent, node, &dev); in device_get_child_by_of_offset()
684 static struct udevice *_device_find_global_by_of_offset(struct udevice *parent, in _device_find_global_by_of_offset() argument
689 if (dev_of_offset(parent) == of_offset) in _device_find_global_by_of_offset()
690 return parent; in _device_find_global_by_of_offset()
692 list_for_each_entry(dev, &parent->child_head, sibling_node) { in _device_find_global_by_of_offset()
709 int device_find_first_child(struct udevice *parent, struct udevice **devp) in device_find_first_child() argument
711 if (list_empty(&parent->child_head)) { in device_find_first_child()
714 *devp = list_first_entry(&parent->child_head, struct udevice, in device_find_first_child()
724 struct udevice *parent = dev->parent; in device_find_next_child() local
726 if (list_is_last(&dev->sibling_node, &parent->child_head)) { in device_find_next_child()
738 return child->parent; in dev_get_parent()
788 struct udevice *parent = dev->parent; in device_is_last_sibling() local
790 if (!parent) in device_is_last_sibling()
792 return list_is_last(&dev->sibling_node, &parent->child_head); in device_is_last_sibling()