Lines Matching refs:dev

114 	struct udevice *dev;  in uclass_destroy()  local
124 dev = list_first_entry(&uc->dev_head, struct udevice, in uclass_destroy()
126 ret = device_remove(dev, DM_REMOVE_NORMAL | DM_REMOVE_NO_PD); in uclass_destroy()
129 ret = device_unbind(dev); in uclass_destroy()
203 int dev_get_uclass_index(struct udevice *dev, struct uclass **ucp) in dev_get_uclass_index() argument
206 struct uclass *uc = dev->uclass; in dev_get_uclass_index()
213 if (iter == dev) { in dev_get_uclass_index()
227 struct udevice *dev; in uclass_find_device() local
237 uclass_foreach_dev(dev, uc) { in uclass_find_device()
239 *devp = dev; in uclass_find_device()
266 struct udevice *dev = *devp; in uclass_find_next_device() local
269 if (!list_is_last(&dev->uclass_node, &dev->uclass->dev_head)) in uclass_find_next_device()
270 *devp = list_entry(dev->uclass_node.next, struct udevice, in uclass_find_next_device()
278 struct udevice *dev; in uclass_find_device_by_namelen() local
288 uclass_foreach_dev(dev, uc) { in uclass_find_device_by_namelen()
289 if (!strncmp(dev->name, name, len) && in uclass_find_device_by_namelen()
290 strlen(dev->name) == len) { in uclass_find_device_by_namelen()
291 *devp = dev; in uclass_find_device_by_namelen()
318 struct udevice *dev; in uclass_find_next_free_seq() local
327 list_for_each_entry(dev, &uc->dev_head, uclass_node) { in uclass_find_next_free_seq()
328 if (dev->seq_ > max) in uclass_find_next_free_seq()
329 max = dev->seq_; in uclass_find_next_free_seq()
342 struct udevice *dev; in uclass_find_device_by_seq() local
353 uclass_foreach_dev(dev, uc) { in uclass_find_device_by_seq()
354 log_debug(" - %d '%s'\n", dev->seq_, dev->name); in uclass_find_device_by_seq()
355 if (dev->seq_ == seq) { in uclass_find_device_by_seq()
356 *devp = dev; in uclass_find_device_by_seq()
370 struct udevice *dev; in uclass_find_device_by_of_offset() local
380 uclass_foreach_dev(dev, uc) { in uclass_find_device_by_of_offset()
381 if (dev_of_offset(dev) == node) { in uclass_find_device_by_of_offset()
382 *devp = dev; in uclass_find_device_by_of_offset()
394 struct udevice *dev; in uclass_find_device_by_ofnode() local
405 uclass_foreach_dev(dev, uc) { in uclass_find_device_by_ofnode()
407 dev->name); in uclass_find_device_by_ofnode()
408 if (ofnode_equal(dev_ofnode(dev), node)) { in uclass_find_device_by_ofnode()
409 *devp = dev; in uclass_find_device_by_ofnode()
426 struct udevice *dev; in uclass_find_device_by_phandle_id() local
434 uclass_foreach_dev(dev, uc) { in uclass_find_device_by_phandle_id()
437 phandle = dev_read_phandle(dev); in uclass_find_device_by_phandle_id()
440 *devp = dev; in uclass_find_device_by_phandle_id()
466 struct udevice *dev; in uclass_get_device_by_driver() local
474 uclass_foreach_dev(dev, uc) { in uclass_get_device_by_driver()
475 if (dev->driver == find_drv) in uclass_get_device_by_driver()
476 return uclass_get_device_tail(dev, 0, devp); in uclass_get_device_by_driver()
482 int uclass_get_device_tail(struct udevice *dev, int ret, struct udevice **devp) in uclass_get_device_tail() argument
487 assert(dev); in uclass_get_device_tail()
488 ret = device_probe(dev); in uclass_get_device_tail()
492 *devp = dev; in uclass_get_device_tail()
499 struct udevice *dev; in uclass_get_device() local
503 ret = uclass_find_device(id, index, &dev); in uclass_get_device()
504 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device()
510 struct udevice *dev; in uclass_get_device_by_name() local
514 ret = uclass_find_device_by_name(id, name, &dev); in uclass_get_device_by_name()
515 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_name()
520 struct udevice *dev; in uclass_get_device_by_seq() local
524 ret = uclass_find_device_by_seq(id, seq, &dev); in uclass_get_device_by_seq()
526 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_seq()
532 struct udevice *dev; in uclass_get_device_by_of_offset() local
536 ret = uclass_find_device_by_of_offset(id, node, &dev); in uclass_get_device_by_of_offset()
537 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_of_offset()
543 struct udevice *dev; in uclass_get_device_by_ofnode() local
548 ret = uclass_find_device_by_ofnode(id, node, &dev); in uclass_get_device_by_ofnode()
550 ofnode_get_name(node), dev ? dev->name : "(none)", ret); in uclass_get_device_by_ofnode()
552 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_ofnode()
565 struct udevice *dev; in uclass_get_device_by_phandle_id() local
569 ret = uclass_find_device_by_phandle_id(id, phandle_id, &dev); in uclass_get_device_by_phandle_id()
570 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_phandle_id()
576 struct udevice *dev; in uclass_get_device_by_phandle() local
580 ret = uclass_find_device_by_phandle(id, parent, name, &dev); in uclass_get_device_by_phandle()
581 return uclass_get_device_tail(dev, ret, devp); in uclass_get_device_by_phandle()
584 int uclass_get_device_by_endpoint(enum uclass_id class_id, struct udevice *dev, in uclass_get_device_by_endpoint() argument
587 ofnode node_source = dev_ofnode(dev); in uclass_get_device_by_endpoint()
607 static void _uclass_next_device(struct udevice *dev, struct udevice **devp) in _uclass_next_device() argument
609 for (; dev; uclass_find_next_device(&dev)) { in _uclass_next_device()
610 if (!device_probe(dev)) in _uclass_next_device()
613 *devp = dev; in _uclass_next_device()
618 struct udevice *dev; in uclass_first_device() local
621 ret = uclass_find_first_device(id, &dev); in uclass_first_device()
622 _uclass_next_device(dev, devp); in uclass_first_device()
627 struct udevice *dev = *devp; in uclass_next_device() local
629 uclass_find_next_device(&dev); in uclass_next_device()
630 _uclass_next_device(dev, devp); in uclass_next_device()
699 struct udevice *dev; in uclass_first_device_drvdata() local
702 uclass_id_foreach_dev(id, dev, uc) { in uclass_first_device_drvdata()
703 if (dev_get_driver_data(dev) == driver_data) { in uclass_first_device_drvdata()
704 *devp = dev; in uclass_first_device_drvdata()
706 return device_probe(dev); in uclass_first_device_drvdata()
713 int uclass_bind_device(struct udevice *dev) in uclass_bind_device() argument
718 uc = dev->uclass; in uclass_bind_device()
719 list_add_tail(&dev->uclass_node, &uc->dev_head); in uclass_bind_device()
721 if (dev->parent) { in uclass_bind_device()
722 struct uclass_driver *uc_drv = dev->parent->uclass->uc_drv; in uclass_bind_device()
725 ret = uc_drv->child_post_bind(dev); in uclass_bind_device()
734 list_del(&dev->uclass_node); in uclass_bind_device()
740 int uclass_pre_unbind_device(struct udevice *dev) in uclass_pre_unbind_device() argument
745 uc = dev->uclass; in uclass_pre_unbind_device()
747 ret = uc->uc_drv->pre_unbind(dev); in uclass_pre_unbind_device()
755 int uclass_unbind_device(struct udevice *dev) in uclass_unbind_device() argument
757 list_del(&dev->uclass_node); in uclass_unbind_device()
763 int uclass_pre_probe_device(struct udevice *dev) in uclass_pre_probe_device() argument
768 uc_drv = dev->uclass->uc_drv; in uclass_pre_probe_device()
770 ret = uc_drv->pre_probe(dev); in uclass_pre_probe_device()
775 if (!dev->parent) in uclass_pre_probe_device()
777 uc_drv = dev->parent->uclass->uc_drv; in uclass_pre_probe_device()
779 ret = uc_drv->child_pre_probe(dev); in uclass_pre_probe_device()
787 int uclass_post_probe_device(struct udevice *dev) in uclass_post_probe_device() argument
792 if (dev->parent) { in uclass_post_probe_device()
793 uc_drv = dev->parent->uclass->uc_drv; in uclass_post_probe_device()
795 ret = uc_drv->child_post_probe(dev); in uclass_post_probe_device()
801 uc_drv = dev->uclass->uc_drv; in uclass_post_probe_device()
803 ret = uc_drv->post_probe(dev); in uclass_post_probe_device()
812 int uclass_pre_remove_device(struct udevice *dev) in uclass_pre_remove_device() argument
817 uc = dev->uclass; in uclass_pre_remove_device()
819 ret = uc->uc_drv->pre_remove(dev); in uclass_pre_remove_device()
830 struct udevice *dev; in uclass_probe_all() local
833 err = uclass_first_device_check(id, &dev); in uclass_probe_all()
836 while (dev) { in uclass_probe_all()
837 ret = uclass_next_device_check(&dev); in uclass_probe_all()
847 struct udevice *dev; in uclass_id_count() local
851 uclass_id_foreach_dev(id, dev, uc) in uclass_id_count()