uboot/include/dm/util.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2013 Google, Inc
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7#ifndef __DM_UTIL_H
   8#define __DM_UTIL_H
   9
  10#ifdef CONFIG_DM_WARN
  11void dm_warn(const char *fmt, ...);
  12#else
  13static inline void dm_warn(const char *fmt, ...)
  14{
  15}
  16#endif
  17
  18struct list_head;
  19
  20/**
  21 * list_count_items() - Count number of items in a list
  22 *
  23 * @param head:         Head of list
  24 * @return number of items, or 0 if empty
  25 */
  26int list_count_items(struct list_head *head);
  27
  28/* Dump out a tree of all devices */
  29void dm_dump_all(void);
  30
  31/* Dump out a list of uclasses and their devices */
  32void dm_dump_uclass(void);
  33
  34#ifdef CONFIG_DEBUG_DEVRES
  35/* Dump out a list of device resources */
  36void dm_dump_devres(void);
  37#else
  38static inline void dm_dump_devres(void)
  39{
  40}
  41#endif
  42
  43/**
  44 * Check if a dt node should be or was bound before relocation.
  45 *
  46 * Devicetree nodes can be marked as needed to be bound
  47 * in the loader stages via special devicetree properties.
  48 *
  49 * Before relocation this function can be used to check if nodes
  50 * are required in either SPL or TPL stages.
  51 *
  52 * After relocation and jumping into the real U-Boot binary
  53 * it is possible to determine if a node was bound in one of
  54 * SPL/TPL stages.
  55 *
  56 * There are 3 settings currently in use
  57 * -
  58 * - u-boot,dm-pre-reloc: legacy and indicates any of TPL or SPL
  59 *   Existing platforms only use it to indicate nodes needee in
  60 *   SPL. Should probably be replaced by u-boot,dm-spl for
  61 *   existing platforms.
  62 * @blob: devicetree
  63 * @offset: node offset
  64 *
  65 * Returns true if node is needed in SPL/TL, false otherwise.
  66 */
  67bool dm_fdt_pre_reloc(const void *blob, int offset);
  68
  69#endif
  70