Lines Matching refs:elt
455 struct dt_driver_probe *elt = NULL; in print_probe_list() local
458 TAILQ_FOREACH(elt, &dt_driver_probe_list, link) in print_probe_list()
462 TAILQ_FOREACH(elt, &dt_driver_probe_list, link) in print_probe_list()
464 elt->dt_drv->name, in print_probe_list()
465 fdt_get_name(fdt, elt->nodeoffset, NULL)); in print_probe_list()
470 TAILQ_FOREACH(elt, &dt_driver_failed_list, link) in print_probe_list()
474 TAILQ_FOREACH(elt, &dt_driver_failed_list, link) in print_probe_list()
475 EMSG("|- Driver %s on node %s failed", elt->dt_drv->name, in print_probe_list()
476 fdt_get_name(fdt, elt->nodeoffset, NULL)); in print_probe_list()
486 struct dt_driver_probe *elt) in probe_driver_node() argument
492 node_name = fdt_get_name(fdt, elt->nodeoffset, NULL); in probe_driver_node()
493 drv_name = elt->dt_drv->name; in probe_driver_node()
495 if (!elt->dt_drv->probe) { in probe_driver_node()
502 res = elt->dt_drv->probe(fdt, elt->nodeoffset, elt->dm->compat_data); in probe_driver_node()
505 TAILQ_INSERT_HEAD(&dt_driver_ready_list, elt, link); in probe_driver_node()
510 elt->deferrals++; in probe_driver_node()
511 TAILQ_INSERT_TAIL(&dt_driver_probe_list, elt, link); in probe_driver_node()
514 node_name, elt->deferrals); in probe_driver_node()
520 TAILQ_INSERT_HEAD(&dt_driver_failed_list, elt, link); in probe_driver_node()
534 struct dt_driver_probe *elt = NULL; in alloc_elt_and_probe() local
537 elt = calloc(1, sizeof(*elt)); in alloc_elt_and_probe()
538 if (!elt) in alloc_elt_and_probe()
541 elt->nodeoffset = node; in alloc_elt_and_probe()
542 elt->dt_drv = dt_drv; in alloc_elt_and_probe()
543 elt->dm = dm; in alloc_elt_and_probe()
544 elt->type = dt_drv->type; in alloc_elt_and_probe()
546 return probe_driver_node(fdt, elt); in alloc_elt_and_probe()
605 struct dt_driver_probe *elt = NULL; in process_probe_list() local
633 TAILQ_FOREACH_REVERSE_SAFE(elt, &dt_driver_probe_list, in process_probe_list()
635 TAILQ_REMOVE(&dt_driver_probe_list, elt, link); in process_probe_list()
637 switch (probe_driver_node(fdt, elt)) { in process_probe_list()
664 struct dt_driver_probe *elt) in driver_probe_compare() argument
666 if (candidate->nodeoffset != elt->nodeoffset || in driver_probe_compare()
667 candidate->type != elt->type) in driver_probe_compare()
670 assert(elt->dt_drv == candidate->dt_drv); in driver_probe_compare()
684 struct dt_driver_probe *elt = NULL; in add_node_to_probe() local
693 TAILQ_FOREACH(elt, &dt_driver_probe_list, link) in add_node_to_probe()
694 if (!driver_probe_compare(&elt_new, elt)) in add_node_to_probe()
697 TAILQ_FOREACH(elt, &dt_driver_ready_list, link) in add_node_to_probe()
698 if (!driver_probe_compare(&elt_new, elt)) in add_node_to_probe()
701 elt = malloc(sizeof(*elt)); in add_node_to_probe()
702 if (!elt) in add_node_to_probe()
707 memcpy(elt, &elt_new, sizeof(*elt)); in add_node_to_probe()
711 TAILQ_INSERT_TAIL(&dt_driver_probe_list, elt, link); in add_node_to_probe()
872 struct dt_driver_probe *elt = NULL; in release_probe_lists() local
884 TAILQ_FOREACH_SAFE(elt, &dt_driver_ready_list, link, next) in release_probe_lists()
885 free(elt); in release_probe_lists()
887 TAILQ_FOREACH_SAFE(elt, &dt_driver_failed_list, link, next) in release_probe_lists()
888 free(elt); in release_probe_lists()