uboot/drivers/core/util.c
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2013 Google, Inc
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7#include <common.h>
   8#include <dm/util.h>
   9#include <libfdt.h>
  10#include <vsprintf.h>
  11
  12#ifdef CONFIG_DM_WARN
  13void dm_warn(const char *fmt, ...)
  14{
  15        va_list args;
  16
  17        va_start(args, fmt);
  18        vprintf(fmt, args);
  19        va_end(args);
  20}
  21#endif
  22
  23int list_count_items(struct list_head *head)
  24{
  25        struct list_head *node;
  26        int count = 0;
  27
  28        list_for_each(node, head)
  29                count++;
  30
  31        return count;
  32}
  33
  34bool dm_fdt_pre_reloc(const void *blob, int offset)
  35{
  36        if (fdt_getprop(blob, offset, "u-boot,dm-pre-reloc", NULL))
  37                return true;
  38
  39#ifdef CONFIG_TPL_BUILD
  40        if (fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
  41                return true;
  42#elif defined(CONFIG_SPL_BUILD)
  43        if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL))
  44                return true;
  45#else
  46        /*
  47         * In regular builds individual spl and tpl handling both
  48         * count as handled pre-relocation for later second init.
  49         */
  50        if (fdt_getprop(blob, offset, "u-boot,dm-spl", NULL) ||
  51            fdt_getprop(blob, offset, "u-boot,dm-tpl", NULL))
  52                return true;
  53#endif
  54
  55        return false;
  56}
  57