<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>LCOV - skiboot.info - libfdt/fdt_ro.c</title>
  <link rel="stylesheet" type="text/css" href="../gcov.css">
</head>

<body>

          <table width="100%" border=0 cellspacing=0 cellpadding=0>
            <tr><td class="title">LCOV - code coverage report</td></tr>
            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>

            <tr>
              <td width="100%">
                <table cellpadding=1 border=0 width="100%">
          <tr>
            <td width="10%" class="headerItem">Current view:</td>
            <td width="10%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">libfdt</a> - fdt_ro.c<span style="font-size: 80%;"> (source / <a href="fdt_ro.c.func-c.html">functions</a>)</span></td>
            <td width="5%"></td>
            <td width="5%"></td>
            <td width="5%" class="headerCovTableHead">Coverage</td>
            <td width="5%" class="headerCovTableHead" title="Covered + Uncovered code">Total</td>
            <td width="5%" class="headerCovTableHead" title="Exercised code only">Hit</td>
          </tr>
          <tr>
            <td class="headerItem">Test:</td>
            <td class="headerValue">skiboot.info</td>
            <td></td>
            <td class="headerItem">Lines:</td>
            <td class="headerCovTableEntryLo">6.7&nbsp;%</td>
            <td class="headerCovTableEntry">431</td>
            <td class="headerCovTableEntry">29</td>
          </tr>
          <tr>
            <td class="headerItem">Test Date:</td>
            <td class="headerValue">2025-06-27 16:54:26</td>
            <td></td>
            <td class="headerItem">Functions:</td>
            <td class="headerCovTableEntryLo">7.5&nbsp;%</td>
            <td class="headerCovTableEntry">40</td>
            <td class="headerCovTableEntry">3</td>
          </tr>
          <tr>
            <td></td>
            <td></td>
            <td></td>
            <td class="headerItem">Branches:</td>
            <td class="headerCovTableEntryHi">-</td>
            <td class="headerCovTableEntry">0</td>
            <td class="headerCovTableEntry">0</td>
          </tr>
                  <tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
                </table>
              </td>
            </tr>

            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
          </table>

          <table cellpadding=0 cellspacing=0 border=0>
            <tr>
              <td><br></td>
            </tr>
            <tr>
              <td>
<pre class="sourceHeading">             Branch data     Line data    Source code</pre>
<pre class="source">
<span id="L1"><span class="lineNum">       1</span>                 :             : // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)</span>
<span id="L2"><span class="lineNum">       2</span>                 :             : /*</span>
<span id="L3"><span class="lineNum">       3</span>                 :             :  * libfdt - Flat Device Tree manipulation</span>
<span id="L4"><span class="lineNum">       4</span>                 :             :  * Copyright (C) 2006 David Gibson, IBM Corporation.</span>
<span id="L5"><span class="lineNum">       5</span>                 :             :  */</span>
<span id="L6"><span class="lineNum">       6</span>                 :             : #include &quot;libfdt_env.h&quot;</span>
<span id="L7"><span class="lineNum">       7</span>                 :             : </span>
<span id="L8"><span class="lineNum">       8</span>                 :             : #include &lt;fdt.h&gt;</span>
<span id="L9"><span class="lineNum">       9</span>                 :             : #include &lt;libfdt.h&gt;</span>
<span id="L10"><span class="lineNum">      10</span>                 :             : </span>
<span id="L11"><span class="lineNum">      11</span>                 :             : #include &quot;libfdt_internal.h&quot;</span>
<span id="L12"><span class="lineNum">      12</span>                 :             : </span>
<span id="L13"><span class="lineNum">      13</span>                 :<span class="tlaUNC tlaBgUNC">           0 : static int fdt_nodename_eq_(const void *fdt, int offset,</span></span>
<span id="L14"><span class="lineNum">      14</span>                 :             :                             const char *s, int len)</span>
<span id="L15"><span class="lineNum">      15</span>                 :             : {</span>
<span id="L16"><span class="lineNum">      16</span>                 :             :         int olen;</span>
<span id="L17"><span class="lineNum">      17</span>                 :<span class="tlaUNC">           0 :         const char *p = fdt_get_name(fdt, offset, &amp;olen);</span></span>
<span id="L18"><span class="lineNum">      18</span>                 :             : </span>
<span id="L19"><span class="lineNum">      19</span>                 :<span class="tlaUNC">           0 :         if (!p || olen &lt; len)</span></span>
<span id="L20"><span class="lineNum">      20</span>                 :             :                 /* short match */</span>
<span id="L21"><span class="lineNum">      21</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L22"><span class="lineNum">      22</span>                 :             : </span>
<span id="L23"><span class="lineNum">      23</span>                 :<span class="tlaUNC">           0 :         if (memcmp(p, s, len) != 0)</span></span>
<span id="L24"><span class="lineNum">      24</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L25"><span class="lineNum">      25</span>                 :             : </span>
<span id="L26"><span class="lineNum">      26</span>                 :<span class="tlaUNC">           0 :         if (p[len] == '\0')</span></span>
<span id="L27"><span class="lineNum">      27</span>                 :<span class="tlaUNC">           0 :                 return 1;</span></span>
<span id="L28"><span class="lineNum">      28</span>                 :<span class="tlaUNC">           0 :         else if (!memchr(s, '@', len) &amp;&amp; (p[len] == '@'))</span></span>
<span id="L29"><span class="lineNum">      29</span>                 :<span class="tlaUNC">           0 :                 return 1;</span></span>
<span id="L30"><span class="lineNum">      30</span>                 :             :         else</span>
<span id="L31"><span class="lineNum">      31</span>                 :<span class="tlaUNC">           0 :                 return 0;</span></span>
<span id="L32"><span class="lineNum">      32</span>                 :             : }</span>
<span id="L33"><span class="lineNum">      33</span>                 :             : </span>
<span id="L34"><span class="lineNum">      34</span>                 :<span class="tlaGNC tlaBgGNC">          32 : const char *fdt_get_string(const void *fdt, int stroffset, int *lenp)</span></span>
<span id="L35"><span class="lineNum">      35</span>                 :             : {</span>
<span id="L36"><span class="lineNum">      36</span>                 :             :         int32_t totalsize;</span>
<span id="L37"><span class="lineNum">      37</span>                 :             :         uint32_t absoffset;</span>
<span id="L38"><span class="lineNum">      38</span>                 :             :         size_t len;</span>
<span id="L39"><span class="lineNum">      39</span>                 :             :         int err;</span>
<span id="L40"><span class="lineNum">      40</span>                 :             :         const char *s, *n;</span>
<span id="L41"><span class="lineNum">      41</span>                 :             : </span>
<span id="L42"><span class="lineNum">      42</span>                 :<span class="tlaGNC">          32 :         if (can_assume(VALID_INPUT)) {</span></span>
<span id="L43"><span class="lineNum">      43</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 s = (const char *)fdt + fdt_off_dt_strings(fdt) + stroffset;</span></span>
<span id="L44"><span class="lineNum">      44</span>                 :             : </span>
<span id="L45"><span class="lineNum">      45</span>                 :<span class="tlaUNC">           0 :                 if (lenp)</span></span>
<span id="L46"><span class="lineNum">      46</span>                 :<span class="tlaUNC">           0 :                         *lenp = strlen(s);</span></span>
<span id="L47"><span class="lineNum">      47</span>                 :<span class="tlaUNC">           0 :                 return s;</span></span>
<span id="L48"><span class="lineNum">      48</span>                 :             :         }</span>
<span id="L49"><span class="lineNum">      49</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         totalsize = fdt_ro_probe_(fdt);</span></span>
<span id="L50"><span class="lineNum">      50</span>                 :<span class="tlaGNC">          32 :         err = totalsize;</span></span>
<span id="L51"><span class="lineNum">      51</span>                 :<span class="tlaGNC">          32 :         if (totalsize &lt; 0)</span></span>
<span id="L52"><span class="lineNum">      52</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 goto fail;</span></span>
<span id="L53"><span class="lineNum">      53</span>                 :             : </span>
<span id="L54"><span class="lineNum">      54</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         err = -FDT_ERR_BADOFFSET;</span></span>
<span id="L55"><span class="lineNum">      55</span>                 :<span class="tlaGNC">          32 :         absoffset = stroffset + fdt_off_dt_strings(fdt);</span></span>
<span id="L56"><span class="lineNum">      56</span>                 :<span class="tlaGNC">          32 :         if (absoffset &gt;= (unsigned)totalsize)</span></span>
<span id="L57"><span class="lineNum">      57</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 goto fail;</span></span>
<span id="L58"><span class="lineNum">      58</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         len = totalsize - absoffset;</span></span>
<span id="L59"><span class="lineNum">      59</span>                 :             : </span>
<span id="L60"><span class="lineNum">      60</span>                 :<span class="tlaGNC">          32 :         if (fdt_magic(fdt) == FDT_MAGIC) {</span></span>
<span id="L61"><span class="lineNum">      61</span>                 :<span class="tlaGNC">          32 :                 if (stroffset &lt; 0)</span></span>
<span id="L62"><span class="lineNum">      62</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                         goto fail;</span></span>
<span id="L63"><span class="lineNum">      63</span>                 :<span class="tlaGNC tlaBgGNC">          32 :                 if (can_assume(LATEST) || fdt_version(fdt) &gt;= 17) {</span></span>
<span id="L64"><span class="lineNum">      64</span>                 :<span class="tlaGNC">          32 :                         if ((unsigned)stroffset &gt;= fdt_size_dt_strings(fdt))</span></span>
<span id="L65"><span class="lineNum">      65</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                                 goto fail;</span></span>
<span id="L66"><span class="lineNum">      66</span>                 :<span class="tlaGNC tlaBgGNC">          32 :                         if ((fdt_size_dt_strings(fdt) - stroffset) &lt; len)</span></span>
<span id="L67"><span class="lineNum">      67</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                                 len = fdt_size_dt_strings(fdt) - stroffset;</span></span>
<span id="L68"><span class="lineNum">      68</span>                 :             :                 }</span>
<span id="L69"><span class="lineNum">      69</span>                 :<span class="tlaUNC">           0 :         } else if (fdt_magic(fdt) == FDT_SW_MAGIC) {</span></span>
<span id="L70"><span class="lineNum">      70</span>                 :<span class="tlaUNC">           0 :                 unsigned int sw_stroffset = -stroffset;</span></span>
<span id="L71"><span class="lineNum">      71</span>                 :             : </span>
<span id="L72"><span class="lineNum">      72</span>                 :<span class="tlaUNC">           0 :                 if ((stroffset &gt;= 0) ||</span></span>
<span id="L73"><span class="lineNum">      73</span>                 :<span class="tlaUNC">           0 :                     (sw_stroffset &gt; fdt_size_dt_strings(fdt)))</span></span>
<span id="L74"><span class="lineNum">      74</span>                 :<span class="tlaUNC">           0 :                         goto fail;</span></span>
<span id="L75"><span class="lineNum">      75</span>                 :<span class="tlaUNC">           0 :                 if (sw_stroffset &lt; len)</span></span>
<span id="L76"><span class="lineNum">      76</span>                 :<span class="tlaUNC">           0 :                         len = sw_stroffset;</span></span>
<span id="L77"><span class="lineNum">      77</span>                 :             :         } else {</span>
<span id="L78"><span class="lineNum">      78</span>                 :<span class="tlaUNC">           0 :                 err = -FDT_ERR_INTERNAL;</span></span>
<span id="L79"><span class="lineNum">      79</span>                 :<span class="tlaUNC">           0 :                 goto fail;</span></span>
<span id="L80"><span class="lineNum">      80</span>                 :             :         }</span>
<span id="L81"><span class="lineNum">      81</span>                 :             : </span>
<span id="L82"><span class="lineNum">      82</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         s = (const char *)fdt + absoffset;</span></span>
<span id="L83"><span class="lineNum">      83</span>                 :<span class="tlaGNC">          32 :         n = memchr(s, '\0', len);</span></span>
<span id="L84"><span class="lineNum">      84</span>                 :<span class="tlaGNC">          32 :         if (!n) {</span></span>
<span id="L85"><span class="lineNum">      85</span>                 :             :                 /* missing terminating NULL */</span>
<span id="L86"><span class="lineNum">      86</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 err = -FDT_ERR_TRUNCATED;</span></span>
<span id="L87"><span class="lineNum">      87</span>                 :<span class="tlaUNC">           0 :                 goto fail;</span></span>
<span id="L88"><span class="lineNum">      88</span>                 :             :         }</span>
<span id="L89"><span class="lineNum">      89</span>                 :             : </span>
<span id="L90"><span class="lineNum">      90</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         if (lenp)</span></span>
<span id="L91"><span class="lineNum">      91</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 *lenp = n - s;</span></span>
<span id="L92"><span class="lineNum">      92</span>                 :<span class="tlaGNC tlaBgGNC">          32 :         return s;</span></span>
<span id="L93"><span class="lineNum">      93</span>                 :             : </span>
<span id="L94"><span class="lineNum">      94</span>                 :<span class="tlaUNC tlaBgUNC">           0 : fail:</span></span>
<span id="L95"><span class="lineNum">      95</span>                 :<span class="tlaUNC">           0 :         if (lenp)</span></span>
<span id="L96"><span class="lineNum">      96</span>                 :<span class="tlaUNC">           0 :                 *lenp = err;</span></span>
<span id="L97"><span class="lineNum">      97</span>                 :<span class="tlaUNC">           0 :         return NULL;</span></span>
<span id="L98"><span class="lineNum">      98</span>                 :             : }</span>
<span id="L99"><span class="lineNum">      99</span>                 :             : </span>
<span id="L100"><span class="lineNum">     100</span>                 :<span class="tlaGNC tlaBgGNC">          32 : const char *fdt_string(const void *fdt, int stroffset)</span></span>
<span id="L101"><span class="lineNum">     101</span>                 :             : {</span>
<span id="L102"><span class="lineNum">     102</span>                 :<span class="tlaGNC">          32 :         return fdt_get_string(fdt, stroffset, NULL);</span></span>
<span id="L103"><span class="lineNum">     103</span>                 :             : }</span>
<span id="L104"><span class="lineNum">     104</span>                 :             : </span>
<span id="L105"><span class="lineNum">     105</span>                 :<span class="tlaUNC tlaBgUNC">           0 : static int fdt_string_eq_(const void *fdt, int stroffset,</span></span>
<span id="L106"><span class="lineNum">     106</span>                 :             :                           const char *s, int len)</span>
<span id="L107"><span class="lineNum">     107</span>                 :             : {</span>
<span id="L108"><span class="lineNum">     108</span>                 :             :         int slen;</span>
<span id="L109"><span class="lineNum">     109</span>                 :<span class="tlaUNC">           0 :         const char *p = fdt_get_string(fdt, stroffset, &amp;slen);</span></span>
<span id="L110"><span class="lineNum">     110</span>                 :             : </span>
<span id="L111"><span class="lineNum">     111</span>                 :<span class="tlaUNC">           0 :         return p &amp;&amp; (slen == len) &amp;&amp; (memcmp(p, s, len) == 0);</span></span>
<span id="L112"><span class="lineNum">     112</span>                 :             : }</span>
<span id="L113"><span class="lineNum">     113</span>                 :             : </span>
<span id="L114"><span class="lineNum">     114</span>                 :<span class="tlaUNC">           0 : int fdt_find_max_phandle(const void *fdt, uint32_t *phandle)</span></span>
<span id="L115"><span class="lineNum">     115</span>                 :             : {</span>
<span id="L116"><span class="lineNum">     116</span>                 :<span class="tlaUNC">           0 :         uint32_t max = 0;</span></span>
<span id="L117"><span class="lineNum">     117</span>                 :<span class="tlaUNC">           0 :         int offset = -1;</span></span>
<span id="L118"><span class="lineNum">     118</span>                 :             : </span>
<span id="L119"><span class="lineNum">     119</span>                 :<span class="tlaUNC">           0 :         while (true) {</span></span>
<span id="L120"><span class="lineNum">     120</span>                 :             :                 uint32_t value;</span>
<span id="L121"><span class="lineNum">     121</span>                 :             : </span>
<span id="L122"><span class="lineNum">     122</span>                 :<span class="tlaUNC">           0 :                 offset = fdt_next_node(fdt, offset, NULL);</span></span>
<span id="L123"><span class="lineNum">     123</span>                 :<span class="tlaUNC">           0 :                 if (offset &lt; 0) {</span></span>
<span id="L124"><span class="lineNum">     124</span>                 :<span class="tlaUNC">           0 :                         if (offset == -FDT_ERR_NOTFOUND)</span></span>
<span id="L125"><span class="lineNum">     125</span>                 :<span class="tlaUNC">           0 :                                 break;</span></span>
<span id="L126"><span class="lineNum">     126</span>                 :             : </span>
<span id="L127"><span class="lineNum">     127</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L128"><span class="lineNum">     128</span>                 :             :                 }</span>
<span id="L129"><span class="lineNum">     129</span>                 :             : </span>
<span id="L130"><span class="lineNum">     130</span>                 :<span class="tlaUNC">           0 :                 value = fdt_get_phandle(fdt, offset);</span></span>
<span id="L131"><span class="lineNum">     131</span>                 :             : </span>
<span id="L132"><span class="lineNum">     132</span>                 :<span class="tlaUNC">           0 :                 if (value &gt; max)</span></span>
<span id="L133"><span class="lineNum">     133</span>                 :<span class="tlaUNC">           0 :                         max = value;</span></span>
<span id="L134"><span class="lineNum">     134</span>                 :             :         }</span>
<span id="L135"><span class="lineNum">     135</span>                 :             : </span>
<span id="L136"><span class="lineNum">     136</span>                 :<span class="tlaUNC">           0 :         if (phandle)</span></span>
<span id="L137"><span class="lineNum">     137</span>                 :<span class="tlaUNC">           0 :                 *phandle = max;</span></span>
<span id="L138"><span class="lineNum">     138</span>                 :             : </span>
<span id="L139"><span class="lineNum">     139</span>                 :<span class="tlaUNC">           0 :         return 0;</span></span>
<span id="L140"><span class="lineNum">     140</span>                 :             : }</span>
<span id="L141"><span class="lineNum">     141</span>                 :             : </span>
<span id="L142"><span class="lineNum">     142</span>                 :<span class="tlaUNC">           0 : int fdt_generate_phandle(const void *fdt, uint32_t *phandle)</span></span>
<span id="L143"><span class="lineNum">     143</span>                 :             : {</span>
<span id="L144"><span class="lineNum">     144</span>                 :             :         uint32_t max;</span>
<span id="L145"><span class="lineNum">     145</span>                 :             :         int err;</span>
<span id="L146"><span class="lineNum">     146</span>                 :             : </span>
<span id="L147"><span class="lineNum">     147</span>                 :<span class="tlaUNC">           0 :         err = fdt_find_max_phandle(fdt, &amp;max);</span></span>
<span id="L148"><span class="lineNum">     148</span>                 :<span class="tlaUNC">           0 :         if (err &lt; 0)</span></span>
<span id="L149"><span class="lineNum">     149</span>                 :<span class="tlaUNC">           0 :                 return err;</span></span>
<span id="L150"><span class="lineNum">     150</span>                 :             : </span>
<span id="L151"><span class="lineNum">     151</span>                 :<span class="tlaUNC">           0 :         if (max == FDT_MAX_PHANDLE)</span></span>
<span id="L152"><span class="lineNum">     152</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_NOPHANDLES;</span></span>
<span id="L153"><span class="lineNum">     153</span>                 :             : </span>
<span id="L154"><span class="lineNum">     154</span>                 :<span class="tlaUNC">           0 :         if (phandle)</span></span>
<span id="L155"><span class="lineNum">     155</span>                 :<span class="tlaUNC">           0 :                 *phandle = max + 1;</span></span>
<span id="L156"><span class="lineNum">     156</span>                 :             : </span>
<span id="L157"><span class="lineNum">     157</span>                 :<span class="tlaUNC">           0 :         return 0;</span></span>
<span id="L158"><span class="lineNum">     158</span>                 :             : }</span>
<span id="L159"><span class="lineNum">     159</span>                 :             : </span>
<span id="L160"><span class="lineNum">     160</span>                 :<span class="tlaUNC">           0 : static const struct fdt_reserve_entry *fdt_mem_rsv(const void *fdt, int n)</span></span>
<span id="L161"><span class="lineNum">     161</span>                 :             : {</span>
<span id="L162"><span class="lineNum">     162</span>                 :<span class="tlaUNC">           0 :         unsigned int offset = n * sizeof(struct fdt_reserve_entry);</span></span>
<span id="L163"><span class="lineNum">     163</span>                 :<span class="tlaUNC">           0 :         unsigned int absoffset = fdt_off_mem_rsvmap(fdt) + offset;</span></span>
<span id="L164"><span class="lineNum">     164</span>                 :             : </span>
<span id="L165"><span class="lineNum">     165</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(VALID_INPUT)) {</span></span>
<span id="L166"><span class="lineNum">     166</span>                 :<span class="tlaUNC">           0 :                 if (absoffset &lt; fdt_off_mem_rsvmap(fdt))</span></span>
<span id="L167"><span class="lineNum">     167</span>                 :<span class="tlaUNC">           0 :                         return NULL;</span></span>
<span id="L168"><span class="lineNum">     168</span>                 :<span class="tlaUNC">           0 :                 if (absoffset &gt; fdt_totalsize(fdt) -</span></span>
<span id="L169"><span class="lineNum">     169</span>                 :             :                     sizeof(struct fdt_reserve_entry))</span>
<span id="L170"><span class="lineNum">     170</span>                 :<span class="tlaUNC">           0 :                         return NULL;</span></span>
<span id="L171"><span class="lineNum">     171</span>                 :             :         }</span>
<span id="L172"><span class="lineNum">     172</span>                 :<span class="tlaUNC">           0 :         return fdt_mem_rsv_(fdt, n);</span></span>
<span id="L173"><span class="lineNum">     173</span>                 :             : }</span>
<span id="L174"><span class="lineNum">     174</span>                 :             : </span>
<span id="L175"><span class="lineNum">     175</span>                 :<span class="tlaUNC">           0 : int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size)</span></span>
<span id="L176"><span class="lineNum">     176</span>                 :             : {</span>
<span id="L177"><span class="lineNum">     177</span>                 :             :         const struct fdt_reserve_entry *re;</span>
<span id="L178"><span class="lineNum">     178</span>                 :             : </span>
<span id="L179"><span class="lineNum">     179</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L180"><span class="lineNum">     180</span>                 :<span class="tlaUNC">           0 :         re = fdt_mem_rsv(fdt, n);</span></span>
<span id="L181"><span class="lineNum">     181</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(VALID_INPUT) &amp;&amp; !re)</span></span>
<span id="L182"><span class="lineNum">     182</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_BADOFFSET;</span></span>
<span id="L183"><span class="lineNum">     183</span>                 :             : </span>
<span id="L184"><span class="lineNum">     184</span>                 :<span class="tlaUNC">           0 :         *address = fdt64_ld_(&amp;re-&gt;address);</span></span>
<span id="L185"><span class="lineNum">     185</span>                 :<span class="tlaUNC">           0 :         *size = fdt64_ld_(&amp;re-&gt;size);</span></span>
<span id="L186"><span class="lineNum">     186</span>                 :<span class="tlaUNC">           0 :         return 0;</span></span>
<span id="L187"><span class="lineNum">     187</span>                 :             : }</span>
<span id="L188"><span class="lineNum">     188</span>                 :             : </span>
<span id="L189"><span class="lineNum">     189</span>                 :<span class="tlaUNC">           0 : int fdt_num_mem_rsv(const void *fdt)</span></span>
<span id="L190"><span class="lineNum">     190</span>                 :             : {</span>
<span id="L191"><span class="lineNum">     191</span>                 :             :         int i;</span>
<span id="L192"><span class="lineNum">     192</span>                 :             :         const struct fdt_reserve_entry *re;</span>
<span id="L193"><span class="lineNum">     193</span>                 :             : </span>
<span id="L194"><span class="lineNum">     194</span>                 :<span class="tlaUNC">           0 :         for (i = 0; (re = fdt_mem_rsv(fdt, i)) != NULL; i++) {</span></span>
<span id="L195"><span class="lineNum">     195</span>                 :<span class="tlaUNC">           0 :                 if (fdt64_ld_(&amp;re-&gt;size) == 0)</span></span>
<span id="L196"><span class="lineNum">     196</span>                 :<span class="tlaUNC">           0 :                         return i;</span></span>
<span id="L197"><span class="lineNum">     197</span>                 :             :         }</span>
<span id="L198"><span class="lineNum">     198</span>                 :<span class="tlaUNC">           0 :         return -FDT_ERR_TRUNCATED;</span></span>
<span id="L199"><span class="lineNum">     199</span>                 :             : }</span>
<span id="L200"><span class="lineNum">     200</span>                 :             : </span>
<span id="L201"><span class="lineNum">     201</span>                 :<span class="tlaUNC">           0 : static int nextprop_(const void *fdt, int offset)</span></span>
<span id="L202"><span class="lineNum">     202</span>                 :             : {</span>
<span id="L203"><span class="lineNum">     203</span>                 :             :         uint32_t tag;</span>
<span id="L204"><span class="lineNum">     204</span>                 :             :         int nextoffset;</span>
<span id="L205"><span class="lineNum">     205</span>                 :             : </span>
<span id="L206"><span class="lineNum">     206</span>                 :             :         do {</span>
<span id="L207"><span class="lineNum">     207</span>                 :<span class="tlaUNC">           0 :                 tag = fdt_next_tag(fdt, offset, &amp;nextoffset);</span></span>
<span id="L208"><span class="lineNum">     208</span>                 :             : </span>
<span id="L209"><span class="lineNum">     209</span>                 :<span class="tlaUNC">           0 :                 switch (tag) {</span></span>
<span id="L210"><span class="lineNum">     210</span>                 :<span class="tlaUNC">           0 :                 case FDT_END:</span></span>
<span id="L211"><span class="lineNum">     211</span>                 :<span class="tlaUNC">           0 :                         if (nextoffset &gt;= 0)</span></span>
<span id="L212"><span class="lineNum">     212</span>                 :<span class="tlaUNC">           0 :                                 return -FDT_ERR_BADSTRUCTURE;</span></span>
<span id="L213"><span class="lineNum">     213</span>                 :             :                         else</span>
<span id="L214"><span class="lineNum">     214</span>                 :<span class="tlaUNC">           0 :                                 return nextoffset;</span></span>
<span id="L215"><span class="lineNum">     215</span>                 :             : </span>
<span id="L216"><span class="lineNum">     216</span>                 :<span class="tlaUNC">           0 :                 case FDT_PROP:</span></span>
<span id="L217"><span class="lineNum">     217</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L218"><span class="lineNum">     218</span>                 :             :                 }</span>
<span id="L219"><span class="lineNum">     219</span>                 :<span class="tlaUNC">           0 :                 offset = nextoffset;</span></span>
<span id="L220"><span class="lineNum">     220</span>                 :<span class="tlaUNC">           0 :         } while (tag == FDT_NOP);</span></span>
<span id="L221"><span class="lineNum">     221</span>                 :             : </span>
<span id="L222"><span class="lineNum">     222</span>                 :<span class="tlaUNC">           0 :         return -FDT_ERR_NOTFOUND;</span></span>
<span id="L223"><span class="lineNum">     223</span>                 :             : }</span>
<span id="L224"><span class="lineNum">     224</span>                 :             : </span>
<span id="L225"><span class="lineNum">     225</span>                 :<span class="tlaUNC">           0 : int fdt_subnode_offset_namelen(const void *fdt, int offset,</span></span>
<span id="L226"><span class="lineNum">     226</span>                 :             :                                const char *name, int namelen)</span>
<span id="L227"><span class="lineNum">     227</span>                 :             : {</span>
<span id="L228"><span class="lineNum">     228</span>                 :             :         int depth;</span>
<span id="L229"><span class="lineNum">     229</span>                 :             : </span>
<span id="L230"><span class="lineNum">     230</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L231"><span class="lineNum">     231</span>                 :             : </span>
<span id="L232"><span class="lineNum">     232</span>                 :<span class="tlaUNC">           0 :         for (depth = 0;</span></span>
<span id="L233"><span class="lineNum">     233</span>                 :<span class="tlaUNC">           0 :              (offset &gt;= 0) &amp;&amp; (depth &gt;= 0);</span></span>
<span id="L234"><span class="lineNum">     234</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, &amp;depth))</span></span>
<span id="L235"><span class="lineNum">     235</span>                 :<span class="tlaUNC">           0 :                 if ((depth == 1)</span></span>
<span id="L236"><span class="lineNum">     236</span>                 :<span class="tlaUNC">           0 :                     &amp;&amp; fdt_nodename_eq_(fdt, offset, name, namelen))</span></span>
<span id="L237"><span class="lineNum">     237</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L238"><span class="lineNum">     238</span>                 :             : </span>
<span id="L239"><span class="lineNum">     239</span>                 :<span class="tlaUNC">           0 :         if (depth &lt; 0)</span></span>
<span id="L240"><span class="lineNum">     240</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_NOTFOUND;</span></span>
<span id="L241"><span class="lineNum">     241</span>                 :<span class="tlaUNC">           0 :         return offset; /* error */</span></span>
<span id="L242"><span class="lineNum">     242</span>                 :             : }</span>
<span id="L243"><span class="lineNum">     243</span>                 :             : </span>
<span id="L244"><span class="lineNum">     244</span>                 :<span class="tlaUNC">           0 : int fdt_subnode_offset(const void *fdt, int parentoffset,</span></span>
<span id="L245"><span class="lineNum">     245</span>                 :             :                        const char *name)</span>
<span id="L246"><span class="lineNum">     246</span>                 :             : {</span>
<span id="L247"><span class="lineNum">     247</span>                 :<span class="tlaUNC">           0 :         return fdt_subnode_offset_namelen(fdt, parentoffset, name, strlen(name));</span></span>
<span id="L248"><span class="lineNum">     248</span>                 :             : }</span>
<span id="L249"><span class="lineNum">     249</span>                 :             : </span>
<span id="L250"><span class="lineNum">     250</span>                 :<span class="tlaUNC">           0 : int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen)</span></span>
<span id="L251"><span class="lineNum">     251</span>                 :             : {</span>
<span id="L252"><span class="lineNum">     252</span>                 :<span class="tlaUNC">           0 :         const char *end = path + namelen;</span></span>
<span id="L253"><span class="lineNum">     253</span>                 :<span class="tlaUNC">           0 :         const char *p = path;</span></span>
<span id="L254"><span class="lineNum">     254</span>                 :<span class="tlaUNC">           0 :         int offset = 0;</span></span>
<span id="L255"><span class="lineNum">     255</span>                 :             : </span>
<span id="L256"><span class="lineNum">     256</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L257"><span class="lineNum">     257</span>                 :             : </span>
<span id="L258"><span class="lineNum">     258</span>                 :             :         /* see if we have an alias */</span>
<span id="L259"><span class="lineNum">     259</span>                 :<span class="tlaUNC">           0 :         if (*path != '/') {</span></span>
<span id="L260"><span class="lineNum">     260</span>                 :<span class="tlaUNC">           0 :                 const char *q = memchr(path, '/', end - p);</span></span>
<span id="L261"><span class="lineNum">     261</span>                 :             : </span>
<span id="L262"><span class="lineNum">     262</span>                 :<span class="tlaUNC">           0 :                 if (!q)</span></span>
<span id="L263"><span class="lineNum">     263</span>                 :<span class="tlaUNC">           0 :                         q = end;</span></span>
<span id="L264"><span class="lineNum">     264</span>                 :             : </span>
<span id="L265"><span class="lineNum">     265</span>                 :<span class="tlaUNC">           0 :                 p = fdt_get_alias_namelen(fdt, p, q - p);</span></span>
<span id="L266"><span class="lineNum">     266</span>                 :<span class="tlaUNC">           0 :                 if (!p)</span></span>
<span id="L267"><span class="lineNum">     267</span>                 :<span class="tlaUNC">           0 :                         return -FDT_ERR_BADPATH;</span></span>
<span id="L268"><span class="lineNum">     268</span>                 :<span class="tlaUNC">           0 :                 offset = fdt_path_offset(fdt, p);</span></span>
<span id="L269"><span class="lineNum">     269</span>                 :             : </span>
<span id="L270"><span class="lineNum">     270</span>                 :<span class="tlaUNC">           0 :                 p = q;</span></span>
<span id="L271"><span class="lineNum">     271</span>                 :             :         }</span>
<span id="L272"><span class="lineNum">     272</span>                 :             : </span>
<span id="L273"><span class="lineNum">     273</span>                 :<span class="tlaUNC">           0 :         while (p &lt; end) {</span></span>
<span id="L274"><span class="lineNum">     274</span>                 :             :                 const char *q;</span>
<span id="L275"><span class="lineNum">     275</span>                 :             : </span>
<span id="L276"><span class="lineNum">     276</span>                 :<span class="tlaUNC">           0 :                 while (*p == '/') {</span></span>
<span id="L277"><span class="lineNum">     277</span>                 :<span class="tlaUNC">           0 :                         p++;</span></span>
<span id="L278"><span class="lineNum">     278</span>                 :<span class="tlaUNC">           0 :                         if (p == end)</span></span>
<span id="L279"><span class="lineNum">     279</span>                 :<span class="tlaUNC">           0 :                                 return offset;</span></span>
<span id="L280"><span class="lineNum">     280</span>                 :             :                 }</span>
<span id="L281"><span class="lineNum">     281</span>                 :<span class="tlaUNC">           0 :                 q = memchr(p, '/', end - p);</span></span>
<span id="L282"><span class="lineNum">     282</span>                 :<span class="tlaUNC">           0 :                 if (! q)</span></span>
<span id="L283"><span class="lineNum">     283</span>                 :<span class="tlaUNC">           0 :                         q = end;</span></span>
<span id="L284"><span class="lineNum">     284</span>                 :             : </span>
<span id="L285"><span class="lineNum">     285</span>                 :<span class="tlaUNC">           0 :                 offset = fdt_subnode_offset_namelen(fdt, offset, p, q-p);</span></span>
<span id="L286"><span class="lineNum">     286</span>                 :<span class="tlaUNC">           0 :                 if (offset &lt; 0)</span></span>
<span id="L287"><span class="lineNum">     287</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L288"><span class="lineNum">     288</span>                 :             : </span>
<span id="L289"><span class="lineNum">     289</span>                 :<span class="tlaUNC">           0 :                 p = q;</span></span>
<span id="L290"><span class="lineNum">     290</span>                 :             :         }</span>
<span id="L291"><span class="lineNum">     291</span>                 :             : </span>
<span id="L292"><span class="lineNum">     292</span>                 :<span class="tlaUNC">           0 :         return offset;</span></span>
<span id="L293"><span class="lineNum">     293</span>                 :             : }</span>
<span id="L294"><span class="lineNum">     294</span>                 :             : </span>
<span id="L295"><span class="lineNum">     295</span>                 :<span class="tlaUNC">           0 : int fdt_path_offset(const void *fdt, const char *path)</span></span>
<span id="L296"><span class="lineNum">     296</span>                 :             : {</span>
<span id="L297"><span class="lineNum">     297</span>                 :<span class="tlaUNC">           0 :         return fdt_path_offset_namelen(fdt, path, strlen(path));</span></span>
<span id="L298"><span class="lineNum">     298</span>                 :             : }</span>
<span id="L299"><span class="lineNum">     299</span>                 :             : </span>
<span id="L300"><span class="lineNum">     300</span>                 :<span class="tlaGNC tlaBgGNC">           7 : const char *fdt_get_name(const void *fdt, int nodeoffset, int *len)</span></span>
<span id="L301"><span class="lineNum">     301</span>                 :             : {</span>
<span id="L302"><span class="lineNum">     302</span>                 :<span class="tlaGNC">           7 :         const struct fdt_node_header *nh = fdt_offset_ptr_(fdt, nodeoffset);</span></span>
<span id="L303"><span class="lineNum">     303</span>                 :             :         const char *nameptr;</span>
<span id="L304"><span class="lineNum">     304</span>                 :             :         int err;</span>
<span id="L305"><span class="lineNum">     305</span>                 :             : </span>
<span id="L306"><span class="lineNum">     306</span>                 :<span class="tlaGNC">           7 :         if (((err = fdt_ro_probe_(fdt)) &lt; 0)</span></span>
<span id="L307"><span class="lineNum">     307</span>                 :<span class="tlaGNC">           7 :             || ((err = fdt_check_node_offset_(fdt, nodeoffset)) &lt; 0))</span></span>
<span id="L308"><span class="lineNum">     308</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                         goto fail;</span></span>
<span id="L309"><span class="lineNum">     309</span>                 :             : </span>
<span id="L310"><span class="lineNum">     310</span>                 :<span class="tlaGNC tlaBgGNC">           7 :         nameptr = nh-&gt;name;</span></span>
<span id="L311"><span class="lineNum">     311</span>                 :             : </span>
<span id="L312"><span class="lineNum">     312</span>                 :<span class="tlaGNC">           7 :         if (!can_assume(LATEST) &amp;&amp; fdt_version(fdt) &lt; 0x10) {</span></span>
<span id="L313"><span class="lineNum">     313</span>                 :             :                 /*</span>
<span id="L314"><span class="lineNum">     314</span>                 :             :                  * For old FDT versions, match the naming conventions of V16:</span>
<span id="L315"><span class="lineNum">     315</span>                 :             :                  * give only the leaf name (after all /). The actual tree</span>
<span id="L316"><span class="lineNum">     316</span>                 :             :                  * contents are loosely checked.</span>
<span id="L317"><span class="lineNum">     317</span>                 :             :                  */</span>
<span id="L318"><span class="lineNum">     318</span>                 :             :                 const char *leaf;</span>
<span id="L319"><span class="lineNum">     319</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 leaf = strrchr(nameptr, '/');</span></span>
<span id="L320"><span class="lineNum">     320</span>                 :<span class="tlaUNC">           0 :                 if (leaf == NULL) {</span></span>
<span id="L321"><span class="lineNum">     321</span>                 :<span class="tlaUNC">           0 :                         err = -FDT_ERR_BADSTRUCTURE;</span></span>
<span id="L322"><span class="lineNum">     322</span>                 :<span class="tlaUNC">           0 :                         goto fail;</span></span>
<span id="L323"><span class="lineNum">     323</span>                 :             :                 }</span>
<span id="L324"><span class="lineNum">     324</span>                 :<span class="tlaUNC">           0 :                 nameptr = leaf+1;</span></span>
<span id="L325"><span class="lineNum">     325</span>                 :             :         }</span>
<span id="L326"><span class="lineNum">     326</span>                 :             : </span>
<span id="L327"><span class="lineNum">     327</span>                 :<span class="tlaGNC tlaBgGNC">           7 :         if (len)</span></span>
<span id="L328"><span class="lineNum">     328</span>                 :<span class="tlaUNC tlaBgUNC">           0 :                 *len = strlen(nameptr);</span></span>
<span id="L329"><span class="lineNum">     329</span>                 :             : </span>
<span id="L330"><span class="lineNum">     330</span>                 :<span class="tlaGNC tlaBgGNC">           7 :         return nameptr;</span></span>
<span id="L331"><span class="lineNum">     331</span>                 :             : </span>
<span id="L332"><span class="lineNum">     332</span>                 :<span class="tlaUNC tlaBgUNC">           0 :  fail:</span></span>
<span id="L333"><span class="lineNum">     333</span>                 :<span class="tlaUNC">           0 :         if (len)</span></span>
<span id="L334"><span class="lineNum">     334</span>                 :<span class="tlaUNC">           0 :                 *len = err;</span></span>
<span id="L335"><span class="lineNum">     335</span>                 :<span class="tlaUNC">           0 :         return NULL;</span></span>
<span id="L336"><span class="lineNum">     336</span>                 :             : }</span>
<span id="L337"><span class="lineNum">     337</span>                 :             : </span>
<span id="L338"><span class="lineNum">     338</span>                 :<span class="tlaUNC">           0 : int fdt_first_property_offset(const void *fdt, int nodeoffset)</span></span>
<span id="L339"><span class="lineNum">     339</span>                 :             : {</span>
<span id="L340"><span class="lineNum">     340</span>                 :             :         int offset;</span>
<span id="L341"><span class="lineNum">     341</span>                 :             : </span>
<span id="L342"><span class="lineNum">     342</span>                 :<span class="tlaUNC">           0 :         if ((offset = fdt_check_node_offset_(fdt, nodeoffset)) &lt; 0)</span></span>
<span id="L343"><span class="lineNum">     343</span>                 :<span class="tlaUNC">           0 :                 return offset;</span></span>
<span id="L344"><span class="lineNum">     344</span>                 :             : </span>
<span id="L345"><span class="lineNum">     345</span>                 :<span class="tlaUNC">           0 :         return nextprop_(fdt, offset);</span></span>
<span id="L346"><span class="lineNum">     346</span>                 :             : }</span>
<span id="L347"><span class="lineNum">     347</span>                 :             : </span>
<span id="L348"><span class="lineNum">     348</span>                 :<span class="tlaUNC">           0 : int fdt_next_property_offset(const void *fdt, int offset)</span></span>
<span id="L349"><span class="lineNum">     349</span>                 :             : {</span>
<span id="L350"><span class="lineNum">     350</span>                 :<span class="tlaUNC">           0 :         if ((offset = fdt_check_prop_offset_(fdt, offset)) &lt; 0)</span></span>
<span id="L351"><span class="lineNum">     351</span>                 :<span class="tlaUNC">           0 :                 return offset;</span></span>
<span id="L352"><span class="lineNum">     352</span>                 :             : </span>
<span id="L353"><span class="lineNum">     353</span>                 :<span class="tlaUNC">           0 :         return nextprop_(fdt, offset);</span></span>
<span id="L354"><span class="lineNum">     354</span>                 :             : }</span>
<span id="L355"><span class="lineNum">     355</span>                 :             : </span>
<span id="L356"><span class="lineNum">     356</span>                 :<span class="tlaUNC">           0 : static const struct fdt_property *fdt_get_property_by_offset_(const void *fdt,</span></span>
<span id="L357"><span class="lineNum">     357</span>                 :             :                                                               int offset,</span>
<span id="L358"><span class="lineNum">     358</span>                 :             :                                                               int *lenp)</span>
<span id="L359"><span class="lineNum">     359</span>                 :             : {</span>
<span id="L360"><span class="lineNum">     360</span>                 :             :         int err;</span>
<span id="L361"><span class="lineNum">     361</span>                 :             :         const struct fdt_property *prop;</span>
<span id="L362"><span class="lineNum">     362</span>                 :             : </span>
<span id="L363"><span class="lineNum">     363</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(VALID_INPUT) &amp;&amp;</span></span>
<span id="L364"><span class="lineNum">     364</span>                 :<span class="tlaUNC">           0 :             (err = fdt_check_prop_offset_(fdt, offset)) &lt; 0) {</span></span>
<span id="L365"><span class="lineNum">     365</span>                 :<span class="tlaUNC">           0 :                 if (lenp)</span></span>
<span id="L366"><span class="lineNum">     366</span>                 :<span class="tlaUNC">           0 :                         *lenp = err;</span></span>
<span id="L367"><span class="lineNum">     367</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L368"><span class="lineNum">     368</span>                 :             :         }</span>
<span id="L369"><span class="lineNum">     369</span>                 :             : </span>
<span id="L370"><span class="lineNum">     370</span>                 :<span class="tlaUNC">           0 :         prop = fdt_offset_ptr_(fdt, offset);</span></span>
<span id="L371"><span class="lineNum">     371</span>                 :             : </span>
<span id="L372"><span class="lineNum">     372</span>                 :<span class="tlaUNC">           0 :         if (lenp)</span></span>
<span id="L373"><span class="lineNum">     373</span>                 :<span class="tlaUNC">           0 :                 *lenp = fdt32_ld_(&amp;prop-&gt;len);</span></span>
<span id="L374"><span class="lineNum">     374</span>                 :             : </span>
<span id="L375"><span class="lineNum">     375</span>                 :<span class="tlaUNC">           0 :         return prop;</span></span>
<span id="L376"><span class="lineNum">     376</span>                 :             : }</span>
<span id="L377"><span class="lineNum">     377</span>                 :             : </span>
<span id="L378"><span class="lineNum">     378</span>                 :<span class="tlaUNC">           0 : const struct fdt_property *fdt_get_property_by_offset(const void *fdt,</span></span>
<span id="L379"><span class="lineNum">     379</span>                 :             :                                                       int offset,</span>
<span id="L380"><span class="lineNum">     380</span>                 :             :                                                       int *lenp)</span>
<span id="L381"><span class="lineNum">     381</span>                 :             : {</span>
<span id="L382"><span class="lineNum">     382</span>                 :             :         /* Prior to version 16, properties may need realignment</span>
<span id="L383"><span class="lineNum">     383</span>                 :             :          * and this API does not work. fdt_getprop_*() will, however. */</span>
<span id="L384"><span class="lineNum">     384</span>                 :             : </span>
<span id="L385"><span class="lineNum">     385</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(LATEST) &amp;&amp; fdt_version(fdt) &lt; 0x10) {</span></span>
<span id="L386"><span class="lineNum">     386</span>                 :<span class="tlaUNC">           0 :                 if (lenp)</span></span>
<span id="L387"><span class="lineNum">     387</span>                 :<span class="tlaUNC">           0 :                         *lenp = -FDT_ERR_BADVERSION;</span></span>
<span id="L388"><span class="lineNum">     388</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L389"><span class="lineNum">     389</span>                 :             :         }</span>
<span id="L390"><span class="lineNum">     390</span>                 :             : </span>
<span id="L391"><span class="lineNum">     391</span>                 :<span class="tlaUNC">           0 :         return fdt_get_property_by_offset_(fdt, offset, lenp);</span></span>
<span id="L392"><span class="lineNum">     392</span>                 :             : }</span>
<span id="L393"><span class="lineNum">     393</span>                 :             : </span>
<span id="L394"><span class="lineNum">     394</span>                 :<span class="tlaUNC">           0 : static const struct fdt_property *fdt_get_property_namelen_(const void *fdt,</span></span>
<span id="L395"><span class="lineNum">     395</span>                 :             :                                                             int offset,</span>
<span id="L396"><span class="lineNum">     396</span>                 :             :                                                             const char *name,</span>
<span id="L397"><span class="lineNum">     397</span>                 :             :                                                             int namelen,</span>
<span id="L398"><span class="lineNum">     398</span>                 :             :                                                             int *lenp,</span>
<span id="L399"><span class="lineNum">     399</span>                 :             :                                                             int *poffset)</span>
<span id="L400"><span class="lineNum">     400</span>                 :             : {</span>
<span id="L401"><span class="lineNum">     401</span>                 :<span class="tlaUNC">           0 :         for (offset = fdt_first_property_offset(fdt, offset);</span></span>
<span id="L402"><span class="lineNum">     402</span>                 :<span class="tlaUNC">           0 :              (offset &gt;= 0);</span></span>
<span id="L403"><span class="lineNum">     403</span>                 :<span class="tlaUNC">           0 :              (offset = fdt_next_property_offset(fdt, offset))) {</span></span>
<span id="L404"><span class="lineNum">     404</span>                 :             :                 const struct fdt_property *prop;</span>
<span id="L405"><span class="lineNum">     405</span>                 :             : </span>
<span id="L406"><span class="lineNum">     406</span>                 :<span class="tlaUNC">           0 :                 prop = fdt_get_property_by_offset_(fdt, offset, lenp);</span></span>
<span id="L407"><span class="lineNum">     407</span>                 :<span class="tlaUNC">           0 :                 if (!can_assume(LIBFDT_FLAWLESS) &amp;&amp; !prop) {</span></span>
<span id="L408"><span class="lineNum">     408</span>                 :<span class="tlaUNC">           0 :                         offset = -FDT_ERR_INTERNAL;</span></span>
<span id="L409"><span class="lineNum">     409</span>                 :<span class="tlaUNC">           0 :                         break;</span></span>
<span id="L410"><span class="lineNum">     410</span>                 :             :                 }</span>
<span id="L411"><span class="lineNum">     411</span>                 :<span class="tlaUNC">           0 :                 if (fdt_string_eq_(fdt, fdt32_ld_(&amp;prop-&gt;nameoff),</span></span>
<span id="L412"><span class="lineNum">     412</span>                 :             :                                    name, namelen)) {</span>
<span id="L413"><span class="lineNum">     413</span>                 :<span class="tlaUNC">           0 :                         if (poffset)</span></span>
<span id="L414"><span class="lineNum">     414</span>                 :<span class="tlaUNC">           0 :                                 *poffset = offset;</span></span>
<span id="L415"><span class="lineNum">     415</span>                 :<span class="tlaUNC">           0 :                         return prop;</span></span>
<span id="L416"><span class="lineNum">     416</span>                 :             :                 }</span>
<span id="L417"><span class="lineNum">     417</span>                 :             :         }</span>
<span id="L418"><span class="lineNum">     418</span>                 :             : </span>
<span id="L419"><span class="lineNum">     419</span>                 :<span class="tlaUNC">           0 :         if (lenp)</span></span>
<span id="L420"><span class="lineNum">     420</span>                 :<span class="tlaUNC">           0 :                 *lenp = offset;</span></span>
<span id="L421"><span class="lineNum">     421</span>                 :<span class="tlaUNC">           0 :         return NULL;</span></span>
<span id="L422"><span class="lineNum">     422</span>                 :             : }</span>
<span id="L423"><span class="lineNum">     423</span>                 :             : </span>
<span id="L424"><span class="lineNum">     424</span>                 :             : </span>
<span id="L425"><span class="lineNum">     425</span>                 :<span class="tlaUNC">           0 : const struct fdt_property *fdt_get_property_namelen(const void *fdt,</span></span>
<span id="L426"><span class="lineNum">     426</span>                 :             :                                                     int offset,</span>
<span id="L427"><span class="lineNum">     427</span>                 :             :                                                     const char *name,</span>
<span id="L428"><span class="lineNum">     428</span>                 :             :                                                     int namelen, int *lenp)</span>
<span id="L429"><span class="lineNum">     429</span>                 :             : {</span>
<span id="L430"><span class="lineNum">     430</span>                 :             :         /* Prior to version 16, properties may need realignment</span>
<span id="L431"><span class="lineNum">     431</span>                 :             :          * and this API does not work. fdt_getprop_*() will, however. */</span>
<span id="L432"><span class="lineNum">     432</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(LATEST) &amp;&amp; fdt_version(fdt) &lt; 0x10) {</span></span>
<span id="L433"><span class="lineNum">     433</span>                 :<span class="tlaUNC">           0 :                 if (lenp)</span></span>
<span id="L434"><span class="lineNum">     434</span>                 :<span class="tlaUNC">           0 :                         *lenp = -FDT_ERR_BADVERSION;</span></span>
<span id="L435"><span class="lineNum">     435</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L436"><span class="lineNum">     436</span>                 :             :         }</span>
<span id="L437"><span class="lineNum">     437</span>                 :             : </span>
<span id="L438"><span class="lineNum">     438</span>                 :<span class="tlaUNC">           0 :         return fdt_get_property_namelen_(fdt, offset, name, namelen, lenp,</span></span>
<span id="L439"><span class="lineNum">     439</span>                 :             :                                          NULL);</span>
<span id="L440"><span class="lineNum">     440</span>                 :             : }</span>
<span id="L441"><span class="lineNum">     441</span>                 :             : </span>
<span id="L442"><span class="lineNum">     442</span>                 :             : </span>
<span id="L443"><span class="lineNum">     443</span>                 :<span class="tlaUNC">           0 : const struct fdt_property *fdt_get_property(const void *fdt,</span></span>
<span id="L444"><span class="lineNum">     444</span>                 :             :                                             int nodeoffset,</span>
<span id="L445"><span class="lineNum">     445</span>                 :             :                                             const char *name, int *lenp)</span>
<span id="L446"><span class="lineNum">     446</span>                 :             : {</span>
<span id="L447"><span class="lineNum">     447</span>                 :<span class="tlaUNC">           0 :         return fdt_get_property_namelen(fdt, nodeoffset, name,</span></span>
<span id="L448"><span class="lineNum">     448</span>                 :<span class="tlaUNC">           0 :                                         strlen(name), lenp);</span></span>
<span id="L449"><span class="lineNum">     449</span>                 :             : }</span>
<span id="L450"><span class="lineNum">     450</span>                 :             : </span>
<span id="L451"><span class="lineNum">     451</span>                 :<span class="tlaUNC">           0 : const void *fdt_getprop_namelen(const void *fdt, int nodeoffset,</span></span>
<span id="L452"><span class="lineNum">     452</span>                 :             :                                 const char *name, int namelen, int *lenp)</span>
<span id="L453"><span class="lineNum">     453</span>                 :             : {</span>
<span id="L454"><span class="lineNum">     454</span>                 :             :         int poffset;</span>
<span id="L455"><span class="lineNum">     455</span>                 :             :         const struct fdt_property *prop;</span>
<span id="L456"><span class="lineNum">     456</span>                 :             : </span>
<span id="L457"><span class="lineNum">     457</span>                 :<span class="tlaUNC">           0 :         prop = fdt_get_property_namelen_(fdt, nodeoffset, name, namelen, lenp,</span></span>
<span id="L458"><span class="lineNum">     458</span>                 :             :                                          &amp;poffset);</span>
<span id="L459"><span class="lineNum">     459</span>                 :<span class="tlaUNC">           0 :         if (!prop)</span></span>
<span id="L460"><span class="lineNum">     460</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L461"><span class="lineNum">     461</span>                 :             : </span>
<span id="L462"><span class="lineNum">     462</span>                 :             :         /* Handle realignment */</span>
<span id="L463"><span class="lineNum">     463</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(LATEST) &amp;&amp; fdt_version(fdt) &lt; 0x10 &amp;&amp;</span></span>
<span id="L464"><span class="lineNum">     464</span>                 :<span class="tlaUNC">           0 :             (poffset + sizeof(*prop)) % 8 &amp;&amp; fdt32_ld_(&amp;prop-&gt;len) &gt;= 8)</span></span>
<span id="L465"><span class="lineNum">     465</span>                 :<span class="tlaUNC">           0 :                 return prop-&gt;data + 4;</span></span>
<span id="L466"><span class="lineNum">     466</span>                 :<span class="tlaUNC">           0 :         return prop-&gt;data;</span></span>
<span id="L467"><span class="lineNum">     467</span>                 :             : }</span>
<span id="L468"><span class="lineNum">     468</span>                 :             : </span>
<span id="L469"><span class="lineNum">     469</span>                 :<span class="tlaUNC">           0 : const void *fdt_getprop_by_offset(const void *fdt, int offset,</span></span>
<span id="L470"><span class="lineNum">     470</span>                 :             :                                   const char **namep, int *lenp)</span>
<span id="L471"><span class="lineNum">     471</span>                 :             : {</span>
<span id="L472"><span class="lineNum">     472</span>                 :             :         const struct fdt_property *prop;</span>
<span id="L473"><span class="lineNum">     473</span>                 :             : </span>
<span id="L474"><span class="lineNum">     474</span>                 :<span class="tlaUNC">           0 :         prop = fdt_get_property_by_offset_(fdt, offset, lenp);</span></span>
<span id="L475"><span class="lineNum">     475</span>                 :<span class="tlaUNC">           0 :         if (!prop)</span></span>
<span id="L476"><span class="lineNum">     476</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L477"><span class="lineNum">     477</span>                 :<span class="tlaUNC">           0 :         if (namep) {</span></span>
<span id="L478"><span class="lineNum">     478</span>                 :             :                 const char *name;</span>
<span id="L479"><span class="lineNum">     479</span>                 :             :                 int namelen;</span>
<span id="L480"><span class="lineNum">     480</span>                 :             : </span>
<span id="L481"><span class="lineNum">     481</span>                 :<span class="tlaUNC">           0 :                 if (!can_assume(VALID_INPUT)) {</span></span>
<span id="L482"><span class="lineNum">     482</span>                 :<span class="tlaUNC">           0 :                         name = fdt_get_string(fdt, fdt32_ld_(&amp;prop-&gt;nameoff),</span></span>
<span id="L483"><span class="lineNum">     483</span>                 :             :                                               &amp;namelen);</span>
<span id="L484"><span class="lineNum">     484</span>                 :<span class="tlaUNC">           0 :                         if (!name) {</span></span>
<span id="L485"><span class="lineNum">     485</span>                 :<span class="tlaUNC">           0 :                                 if (lenp)</span></span>
<span id="L486"><span class="lineNum">     486</span>                 :<span class="tlaUNC">           0 :                                         *lenp = namelen;</span></span>
<span id="L487"><span class="lineNum">     487</span>                 :<span class="tlaUNC">           0 :                                 return NULL;</span></span>
<span id="L488"><span class="lineNum">     488</span>                 :             :                         }</span>
<span id="L489"><span class="lineNum">     489</span>                 :<span class="tlaUNC">           0 :                         *namep = name;</span></span>
<span id="L490"><span class="lineNum">     490</span>                 :             :                 } else {</span>
<span id="L491"><span class="lineNum">     491</span>                 :<span class="tlaUNC">           0 :                         *namep = fdt_string(fdt, fdt32_ld_(&amp;prop-&gt;nameoff));</span></span>
<span id="L492"><span class="lineNum">     492</span>                 :             :                 }</span>
<span id="L493"><span class="lineNum">     493</span>                 :             :         }</span>
<span id="L494"><span class="lineNum">     494</span>                 :             : </span>
<span id="L495"><span class="lineNum">     495</span>                 :             :         /* Handle realignment */</span>
<span id="L496"><span class="lineNum">     496</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(LATEST) &amp;&amp; fdt_version(fdt) &lt; 0x10 &amp;&amp;</span></span>
<span id="L497"><span class="lineNum">     497</span>                 :<span class="tlaUNC">           0 :             (offset + sizeof(*prop)) % 8 &amp;&amp; fdt32_ld_(&amp;prop-&gt;len) &gt;= 8)</span></span>
<span id="L498"><span class="lineNum">     498</span>                 :<span class="tlaUNC">           0 :                 return prop-&gt;data + 4;</span></span>
<span id="L499"><span class="lineNum">     499</span>                 :<span class="tlaUNC">           0 :         return prop-&gt;data;</span></span>
<span id="L500"><span class="lineNum">     500</span>                 :             : }</span>
<span id="L501"><span class="lineNum">     501</span>                 :             : </span>
<span id="L502"><span class="lineNum">     502</span>                 :<span class="tlaUNC">           0 : const void *fdt_getprop(const void *fdt, int nodeoffset,</span></span>
<span id="L503"><span class="lineNum">     503</span>                 :             :                         const char *name, int *lenp)</span>
<span id="L504"><span class="lineNum">     504</span>                 :             : {</span>
<span id="L505"><span class="lineNum">     505</span>                 :<span class="tlaUNC">           0 :         return fdt_getprop_namelen(fdt, nodeoffset, name, strlen(name), lenp);</span></span>
<span id="L506"><span class="lineNum">     506</span>                 :             : }</span>
<span id="L507"><span class="lineNum">     507</span>                 :             : </span>
<span id="L508"><span class="lineNum">     508</span>                 :<span class="tlaUNC">           0 : uint32_t fdt_get_phandle(const void *fdt, int nodeoffset)</span></span>
<span id="L509"><span class="lineNum">     509</span>                 :             : {</span>
<span id="L510"><span class="lineNum">     510</span>                 :             :         const fdt32_t *php;</span>
<span id="L511"><span class="lineNum">     511</span>                 :             :         int len;</span>
<span id="L512"><span class="lineNum">     512</span>                 :             : </span>
<span id="L513"><span class="lineNum">     513</span>                 :             :         /* FIXME: This is a bit sub-optimal, since we potentially scan</span>
<span id="L514"><span class="lineNum">     514</span>                 :             :          * over all the properties twice. */</span>
<span id="L515"><span class="lineNum">     515</span>                 :<span class="tlaUNC">           0 :         php = fdt_getprop(fdt, nodeoffset, &quot;phandle&quot;, &amp;len);</span></span>
<span id="L516"><span class="lineNum">     516</span>                 :<span class="tlaUNC">           0 :         if (!php || (len != sizeof(*php))) {</span></span>
<span id="L517"><span class="lineNum">     517</span>                 :<span class="tlaUNC">           0 :                 php = fdt_getprop(fdt, nodeoffset, &quot;linux,phandle&quot;, &amp;len);</span></span>
<span id="L518"><span class="lineNum">     518</span>                 :<span class="tlaUNC">           0 :                 if (!php || (len != sizeof(*php)))</span></span>
<span id="L519"><span class="lineNum">     519</span>                 :<span class="tlaUNC">           0 :                         return 0;</span></span>
<span id="L520"><span class="lineNum">     520</span>                 :             :         }</span>
<span id="L521"><span class="lineNum">     521</span>                 :             : </span>
<span id="L522"><span class="lineNum">     522</span>                 :<span class="tlaUNC">           0 :         return fdt32_ld_(php);</span></span>
<span id="L523"><span class="lineNum">     523</span>                 :             : }</span>
<span id="L524"><span class="lineNum">     524</span>                 :             : </span>
<span id="L525"><span class="lineNum">     525</span>                 :<span class="tlaUNC">           0 : const char *fdt_get_alias_namelen(const void *fdt,</span></span>
<span id="L526"><span class="lineNum">     526</span>                 :             :                                   const char *name, int namelen)</span>
<span id="L527"><span class="lineNum">     527</span>                 :             : {</span>
<span id="L528"><span class="lineNum">     528</span>                 :             :         int aliasoffset;</span>
<span id="L529"><span class="lineNum">     529</span>                 :             : </span>
<span id="L530"><span class="lineNum">     530</span>                 :<span class="tlaUNC">           0 :         aliasoffset = fdt_path_offset(fdt, &quot;/aliases&quot;);</span></span>
<span id="L531"><span class="lineNum">     531</span>                 :<span class="tlaUNC">           0 :         if (aliasoffset &lt; 0)</span></span>
<span id="L532"><span class="lineNum">     532</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L533"><span class="lineNum">     533</span>                 :             : </span>
<span id="L534"><span class="lineNum">     534</span>                 :<span class="tlaUNC">           0 :         return fdt_getprop_namelen(fdt, aliasoffset, name, namelen, NULL);</span></span>
<span id="L535"><span class="lineNum">     535</span>                 :             : }</span>
<span id="L536"><span class="lineNum">     536</span>                 :             : </span>
<span id="L537"><span class="lineNum">     537</span>                 :<span class="tlaUNC">           0 : const char *fdt_get_alias(const void *fdt, const char *name)</span></span>
<span id="L538"><span class="lineNum">     538</span>                 :             : {</span>
<span id="L539"><span class="lineNum">     539</span>                 :<span class="tlaUNC">           0 :         return fdt_get_alias_namelen(fdt, name, strlen(name));</span></span>
<span id="L540"><span class="lineNum">     540</span>                 :             : }</span>
<span id="L541"><span class="lineNum">     541</span>                 :             : </span>
<span id="L542"><span class="lineNum">     542</span>                 :<span class="tlaUNC">           0 : int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen)</span></span>
<span id="L543"><span class="lineNum">     543</span>                 :             : {</span>
<span id="L544"><span class="lineNum">     544</span>                 :<span class="tlaUNC">           0 :         int pdepth = 0, p = 0;</span></span>
<span id="L545"><span class="lineNum">     545</span>                 :             :         int offset, depth, namelen;</span>
<span id="L546"><span class="lineNum">     546</span>                 :             :         const char *name;</span>
<span id="L547"><span class="lineNum">     547</span>                 :             : </span>
<span id="L548"><span class="lineNum">     548</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L549"><span class="lineNum">     549</span>                 :             : </span>
<span id="L550"><span class="lineNum">     550</span>                 :<span class="tlaUNC">           0 :         if (buflen &lt; 2)</span></span>
<span id="L551"><span class="lineNum">     551</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_NOSPACE;</span></span>
<span id="L552"><span class="lineNum">     552</span>                 :             : </span>
<span id="L553"><span class="lineNum">     553</span>                 :<span class="tlaUNC">           0 :         for (offset = 0, depth = 0;</span></span>
<span id="L554"><span class="lineNum">     554</span>                 :<span class="tlaUNC">           0 :              (offset &gt;= 0) &amp;&amp; (offset &lt;= nodeoffset);</span></span>
<span id="L555"><span class="lineNum">     555</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, &amp;depth)) {</span></span>
<span id="L556"><span class="lineNum">     556</span>                 :<span class="tlaUNC">           0 :                 while (pdepth &gt; depth) {</span></span>
<span id="L557"><span class="lineNum">     557</span>                 :             :                         do {</span>
<span id="L558"><span class="lineNum">     558</span>                 :<span class="tlaUNC">           0 :                                 p--;</span></span>
<span id="L559"><span class="lineNum">     559</span>                 :<span class="tlaUNC">           0 :                         } while (buf[p-1] != '/');</span></span>
<span id="L560"><span class="lineNum">     560</span>                 :<span class="tlaUNC">           0 :                         pdepth--;</span></span>
<span id="L561"><span class="lineNum">     561</span>                 :             :                 }</span>
<span id="L562"><span class="lineNum">     562</span>                 :             : </span>
<span id="L563"><span class="lineNum">     563</span>                 :<span class="tlaUNC">           0 :                 if (pdepth &gt;= depth) {</span></span>
<span id="L564"><span class="lineNum">     564</span>                 :<span class="tlaUNC">           0 :                         name = fdt_get_name(fdt, offset, &amp;namelen);</span></span>
<span id="L565"><span class="lineNum">     565</span>                 :<span class="tlaUNC">           0 :                         if (!name)</span></span>
<span id="L566"><span class="lineNum">     566</span>                 :<span class="tlaUNC">           0 :                                 return namelen;</span></span>
<span id="L567"><span class="lineNum">     567</span>                 :<span class="tlaUNC">           0 :                         if ((p + namelen + 1) &lt;= buflen) {</span></span>
<span id="L568"><span class="lineNum">     568</span>                 :<span class="tlaUNC">           0 :                                 memcpy(buf + p, name, namelen);</span></span>
<span id="L569"><span class="lineNum">     569</span>                 :<span class="tlaUNC">           0 :                                 p += namelen;</span></span>
<span id="L570"><span class="lineNum">     570</span>                 :<span class="tlaUNC">           0 :                                 buf[p++] = '/';</span></span>
<span id="L571"><span class="lineNum">     571</span>                 :<span class="tlaUNC">           0 :                                 pdepth++;</span></span>
<span id="L572"><span class="lineNum">     572</span>                 :             :                         }</span>
<span id="L573"><span class="lineNum">     573</span>                 :             :                 }</span>
<span id="L574"><span class="lineNum">     574</span>                 :             : </span>
<span id="L575"><span class="lineNum">     575</span>                 :<span class="tlaUNC">           0 :                 if (offset == nodeoffset) {</span></span>
<span id="L576"><span class="lineNum">     576</span>                 :<span class="tlaUNC">           0 :                         if (pdepth &lt; (depth + 1))</span></span>
<span id="L577"><span class="lineNum">     577</span>                 :<span class="tlaUNC">           0 :                                 return -FDT_ERR_NOSPACE;</span></span>
<span id="L578"><span class="lineNum">     578</span>                 :             : </span>
<span id="L579"><span class="lineNum">     579</span>                 :<span class="tlaUNC">           0 :                         if (p &gt; 1) /* special case so that root path is &quot;/&quot;, not &quot;&quot; */</span></span>
<span id="L580"><span class="lineNum">     580</span>                 :<span class="tlaUNC">           0 :                                 p--;</span></span>
<span id="L581"><span class="lineNum">     581</span>                 :<span class="tlaUNC">           0 :                         buf[p] = '\0';</span></span>
<span id="L582"><span class="lineNum">     582</span>                 :<span class="tlaUNC">           0 :                         return 0;</span></span>
<span id="L583"><span class="lineNum">     583</span>                 :             :                 }</span>
<span id="L584"><span class="lineNum">     584</span>                 :             :         }</span>
<span id="L585"><span class="lineNum">     585</span>                 :             : </span>
<span id="L586"><span class="lineNum">     586</span>                 :<span class="tlaUNC">           0 :         if ((offset == -FDT_ERR_NOTFOUND) || (offset &gt;= 0))</span></span>
<span id="L587"><span class="lineNum">     587</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_BADOFFSET;</span></span>
<span id="L588"><span class="lineNum">     588</span>                 :<span class="tlaUNC">           0 :         else if (offset == -FDT_ERR_BADOFFSET)</span></span>
<span id="L589"><span class="lineNum">     589</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_BADSTRUCTURE;</span></span>
<span id="L590"><span class="lineNum">     590</span>                 :             : </span>
<span id="L591"><span class="lineNum">     591</span>                 :<span class="tlaUNC">           0 :         return offset; /* error from fdt_next_node() */</span></span>
<span id="L592"><span class="lineNum">     592</span>                 :             : }</span>
<span id="L593"><span class="lineNum">     593</span>                 :             : </span>
<span id="L594"><span class="lineNum">     594</span>                 :<span class="tlaUNC">           0 : int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset,</span></span>
<span id="L595"><span class="lineNum">     595</span>                 :             :                                  int supernodedepth, int *nodedepth)</span>
<span id="L596"><span class="lineNum">     596</span>                 :             : {</span>
<span id="L597"><span class="lineNum">     597</span>                 :             :         int offset, depth;</span>
<span id="L598"><span class="lineNum">     598</span>                 :<span class="tlaUNC">           0 :         int supernodeoffset = -FDT_ERR_INTERNAL;</span></span>
<span id="L599"><span class="lineNum">     599</span>                 :             : </span>
<span id="L600"><span class="lineNum">     600</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L601"><span class="lineNum">     601</span>                 :             : </span>
<span id="L602"><span class="lineNum">     602</span>                 :<span class="tlaUNC">           0 :         if (supernodedepth &lt; 0)</span></span>
<span id="L603"><span class="lineNum">     603</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_NOTFOUND;</span></span>
<span id="L604"><span class="lineNum">     604</span>                 :             : </span>
<span id="L605"><span class="lineNum">     605</span>                 :<span class="tlaUNC">           0 :         for (offset = 0, depth = 0;</span></span>
<span id="L606"><span class="lineNum">     606</span>                 :<span class="tlaUNC">           0 :              (offset &gt;= 0) &amp;&amp; (offset &lt;= nodeoffset);</span></span>
<span id="L607"><span class="lineNum">     607</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, &amp;depth)) {</span></span>
<span id="L608"><span class="lineNum">     608</span>                 :<span class="tlaUNC">           0 :                 if (depth == supernodedepth)</span></span>
<span id="L609"><span class="lineNum">     609</span>                 :<span class="tlaUNC">           0 :                         supernodeoffset = offset;</span></span>
<span id="L610"><span class="lineNum">     610</span>                 :             : </span>
<span id="L611"><span class="lineNum">     611</span>                 :<span class="tlaUNC">           0 :                 if (offset == nodeoffset) {</span></span>
<span id="L612"><span class="lineNum">     612</span>                 :<span class="tlaUNC">           0 :                         if (nodedepth)</span></span>
<span id="L613"><span class="lineNum">     613</span>                 :<span class="tlaUNC">           0 :                                 *nodedepth = depth;</span></span>
<span id="L614"><span class="lineNum">     614</span>                 :             : </span>
<span id="L615"><span class="lineNum">     615</span>                 :<span class="tlaUNC">           0 :                         if (supernodedepth &gt; depth)</span></span>
<span id="L616"><span class="lineNum">     616</span>                 :<span class="tlaUNC">           0 :                                 return -FDT_ERR_NOTFOUND;</span></span>
<span id="L617"><span class="lineNum">     617</span>                 :             :                         else</span>
<span id="L618"><span class="lineNum">     618</span>                 :<span class="tlaUNC">           0 :                                 return supernodeoffset;</span></span>
<span id="L619"><span class="lineNum">     619</span>                 :             :                 }</span>
<span id="L620"><span class="lineNum">     620</span>                 :             :         }</span>
<span id="L621"><span class="lineNum">     621</span>                 :             : </span>
<span id="L622"><span class="lineNum">     622</span>                 :<span class="tlaUNC">           0 :         if (!can_assume(VALID_INPUT)) {</span></span>
<span id="L623"><span class="lineNum">     623</span>                 :<span class="tlaUNC">           0 :                 if ((offset == -FDT_ERR_NOTFOUND) || (offset &gt;= 0))</span></span>
<span id="L624"><span class="lineNum">     624</span>                 :<span class="tlaUNC">           0 :                         return -FDT_ERR_BADOFFSET;</span></span>
<span id="L625"><span class="lineNum">     625</span>                 :<span class="tlaUNC">           0 :                 else if (offset == -FDT_ERR_BADOFFSET)</span></span>
<span id="L626"><span class="lineNum">     626</span>                 :<span class="tlaUNC">           0 :                         return -FDT_ERR_BADSTRUCTURE;</span></span>
<span id="L627"><span class="lineNum">     627</span>                 :             :         }</span>
<span id="L628"><span class="lineNum">     628</span>                 :             : </span>
<span id="L629"><span class="lineNum">     629</span>                 :<span class="tlaUNC">           0 :         return offset; /* error from fdt_next_node() */</span></span>
<span id="L630"><span class="lineNum">     630</span>                 :             : }</span>
<span id="L631"><span class="lineNum">     631</span>                 :             : </span>
<span id="L632"><span class="lineNum">     632</span>                 :<span class="tlaUNC">           0 : int fdt_node_depth(const void *fdt, int nodeoffset)</span></span>
<span id="L633"><span class="lineNum">     633</span>                 :             : {</span>
<span id="L634"><span class="lineNum">     634</span>                 :             :         int nodedepth;</span>
<span id="L635"><span class="lineNum">     635</span>                 :             :         int err;</span>
<span id="L636"><span class="lineNum">     636</span>                 :             : </span>
<span id="L637"><span class="lineNum">     637</span>                 :<span class="tlaUNC">           0 :         err = fdt_supernode_atdepth_offset(fdt, nodeoffset, 0, &amp;nodedepth);</span></span>
<span id="L638"><span class="lineNum">     638</span>                 :<span class="tlaUNC">           0 :         if (err)</span></span>
<span id="L639"><span class="lineNum">     639</span>                 :<span class="tlaUNC">           0 :                 return (can_assume(LIBFDT_FLAWLESS) || err &lt; 0) ? err :</span></span>
<span id="L640"><span class="lineNum">     640</span>                 :             :                         -FDT_ERR_INTERNAL;</span>
<span id="L641"><span class="lineNum">     641</span>                 :<span class="tlaUNC">           0 :         return nodedepth;</span></span>
<span id="L642"><span class="lineNum">     642</span>                 :             : }</span>
<span id="L643"><span class="lineNum">     643</span>                 :             : </span>
<span id="L644"><span class="lineNum">     644</span>                 :<span class="tlaUNC">           0 : int fdt_parent_offset(const void *fdt, int nodeoffset)</span></span>
<span id="L645"><span class="lineNum">     645</span>                 :             : {</span>
<span id="L646"><span class="lineNum">     646</span>                 :<span class="tlaUNC">           0 :         int nodedepth = fdt_node_depth(fdt, nodeoffset);</span></span>
<span id="L647"><span class="lineNum">     647</span>                 :             : </span>
<span id="L648"><span class="lineNum">     648</span>                 :<span class="tlaUNC">           0 :         if (nodedepth &lt; 0)</span></span>
<span id="L649"><span class="lineNum">     649</span>                 :<span class="tlaUNC">           0 :                 return nodedepth;</span></span>
<span id="L650"><span class="lineNum">     650</span>                 :<span class="tlaUNC">           0 :         return fdt_supernode_atdepth_offset(fdt, nodeoffset,</span></span>
<span id="L651"><span class="lineNum">     651</span>                 :             :                                             nodedepth - 1, NULL);</span>
<span id="L652"><span class="lineNum">     652</span>                 :             : }</span>
<span id="L653"><span class="lineNum">     653</span>                 :             : </span>
<span id="L654"><span class="lineNum">     654</span>                 :<span class="tlaUNC">           0 : int fdt_node_offset_by_prop_value(const void *fdt, int startoffset,</span></span>
<span id="L655"><span class="lineNum">     655</span>                 :             :                                   const char *propname,</span>
<span id="L656"><span class="lineNum">     656</span>                 :             :                                   const void *propval, int proplen)</span>
<span id="L657"><span class="lineNum">     657</span>                 :             : {</span>
<span id="L658"><span class="lineNum">     658</span>                 :             :         int offset;</span>
<span id="L659"><span class="lineNum">     659</span>                 :             :         const void *val;</span>
<span id="L660"><span class="lineNum">     660</span>                 :             :         int len;</span>
<span id="L661"><span class="lineNum">     661</span>                 :             : </span>
<span id="L662"><span class="lineNum">     662</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L663"><span class="lineNum">     663</span>                 :             : </span>
<span id="L664"><span class="lineNum">     664</span>                 :             :         /* FIXME: The algorithm here is pretty horrible: we scan each</span>
<span id="L665"><span class="lineNum">     665</span>                 :             :          * property of a node in fdt_getprop(), then if that didn't</span>
<span id="L666"><span class="lineNum">     666</span>                 :             :          * find what we want, we scan over them again making our way</span>
<span id="L667"><span class="lineNum">     667</span>                 :             :          * to the next node.  Still it's the easiest to implement</span>
<span id="L668"><span class="lineNum">     668</span>                 :             :          * approach; performance can come later. */</span>
<span id="L669"><span class="lineNum">     669</span>                 :<span class="tlaUNC">           0 :         for (offset = fdt_next_node(fdt, startoffset, NULL);</span></span>
<span id="L670"><span class="lineNum">     670</span>                 :<span class="tlaUNC">           0 :              offset &gt;= 0;</span></span>
<span id="L671"><span class="lineNum">     671</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, NULL)) {</span></span>
<span id="L672"><span class="lineNum">     672</span>                 :<span class="tlaUNC">           0 :                 val = fdt_getprop(fdt, offset, propname, &amp;len);</span></span>
<span id="L673"><span class="lineNum">     673</span>                 :<span class="tlaUNC">           0 :                 if (val &amp;&amp; (len == proplen)</span></span>
<span id="L674"><span class="lineNum">     674</span>                 :<span class="tlaUNC">           0 :                     &amp;&amp; (memcmp(val, propval, len) == 0))</span></span>
<span id="L675"><span class="lineNum">     675</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L676"><span class="lineNum">     676</span>                 :             :         }</span>
<span id="L677"><span class="lineNum">     677</span>                 :             : </span>
<span id="L678"><span class="lineNum">     678</span>                 :<span class="tlaUNC">           0 :         return offset; /* error from fdt_next_node() */</span></span>
<span id="L679"><span class="lineNum">     679</span>                 :             : }</span>
<span id="L680"><span class="lineNum">     680</span>                 :             : </span>
<span id="L681"><span class="lineNum">     681</span>                 :<span class="tlaUNC">           0 : int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle)</span></span>
<span id="L682"><span class="lineNum">     682</span>                 :             : {</span>
<span id="L683"><span class="lineNum">     683</span>                 :             :         int offset;</span>
<span id="L684"><span class="lineNum">     684</span>                 :             : </span>
<span id="L685"><span class="lineNum">     685</span>                 :<span class="tlaUNC">           0 :         if ((phandle == 0) || (phandle == ~0U))</span></span>
<span id="L686"><span class="lineNum">     686</span>                 :<span class="tlaUNC">           0 :                 return -FDT_ERR_BADPHANDLE;</span></span>
<span id="L687"><span class="lineNum">     687</span>                 :             : </span>
<span id="L688"><span class="lineNum">     688</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L689"><span class="lineNum">     689</span>                 :             : </span>
<span id="L690"><span class="lineNum">     690</span>                 :             :         /* FIXME: The algorithm here is pretty horrible: we</span>
<span id="L691"><span class="lineNum">     691</span>                 :             :          * potentially scan each property of a node in</span>
<span id="L692"><span class="lineNum">     692</span>                 :             :          * fdt_get_phandle(), then if that didn't find what</span>
<span id="L693"><span class="lineNum">     693</span>                 :             :          * we want, we scan over them again making our way to the next</span>
<span id="L694"><span class="lineNum">     694</span>                 :             :          * node.  Still it's the easiest to implement approach;</span>
<span id="L695"><span class="lineNum">     695</span>                 :             :          * performance can come later. */</span>
<span id="L696"><span class="lineNum">     696</span>                 :<span class="tlaUNC">           0 :         for (offset = fdt_next_node(fdt, -1, NULL);</span></span>
<span id="L697"><span class="lineNum">     697</span>                 :<span class="tlaUNC">           0 :              offset &gt;= 0;</span></span>
<span id="L698"><span class="lineNum">     698</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, NULL)) {</span></span>
<span id="L699"><span class="lineNum">     699</span>                 :<span class="tlaUNC">           0 :                 if (fdt_get_phandle(fdt, offset) == phandle)</span></span>
<span id="L700"><span class="lineNum">     700</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L701"><span class="lineNum">     701</span>                 :             :         }</span>
<span id="L702"><span class="lineNum">     702</span>                 :             : </span>
<span id="L703"><span class="lineNum">     703</span>                 :<span class="tlaUNC">           0 :         return offset; /* error from fdt_next_node() */</span></span>
<span id="L704"><span class="lineNum">     704</span>                 :             : }</span>
<span id="L705"><span class="lineNum">     705</span>                 :             : </span>
<span id="L706"><span class="lineNum">     706</span>                 :<span class="tlaUNC">           0 : int fdt_stringlist_contains(const char *strlist, int listlen, const char *str)</span></span>
<span id="L707"><span class="lineNum">     707</span>                 :             : {</span>
<span id="L708"><span class="lineNum">     708</span>                 :<span class="tlaUNC">           0 :         int len = strlen(str);</span></span>
<span id="L709"><span class="lineNum">     709</span>                 :             :         const char *p;</span>
<span id="L710"><span class="lineNum">     710</span>                 :             : </span>
<span id="L711"><span class="lineNum">     711</span>                 :<span class="tlaUNC">           0 :         while (listlen &gt;= len) {</span></span>
<span id="L712"><span class="lineNum">     712</span>                 :<span class="tlaUNC">           0 :                 if (memcmp(str, strlist, len+1) == 0)</span></span>
<span id="L713"><span class="lineNum">     713</span>                 :<span class="tlaUNC">           0 :                         return 1;</span></span>
<span id="L714"><span class="lineNum">     714</span>                 :<span class="tlaUNC">           0 :                 p = memchr(strlist, '\0', listlen);</span></span>
<span id="L715"><span class="lineNum">     715</span>                 :<span class="tlaUNC">           0 :                 if (!p)</span></span>
<span id="L716"><span class="lineNum">     716</span>                 :<span class="tlaUNC">           0 :                         return 0; /* malformed strlist.. */</span></span>
<span id="L717"><span class="lineNum">     717</span>                 :<span class="tlaUNC">           0 :                 listlen -= (p-strlist) + 1;</span></span>
<span id="L718"><span class="lineNum">     718</span>                 :<span class="tlaUNC">           0 :                 strlist = p + 1;</span></span>
<span id="L719"><span class="lineNum">     719</span>                 :             :         }</span>
<span id="L720"><span class="lineNum">     720</span>                 :<span class="tlaUNC">           0 :         return 0;</span></span>
<span id="L721"><span class="lineNum">     721</span>                 :             : }</span>
<span id="L722"><span class="lineNum">     722</span>                 :             : </span>
<span id="L723"><span class="lineNum">     723</span>                 :<span class="tlaUNC">           0 : int fdt_stringlist_count(const void *fdt, int nodeoffset, const char *property)</span></span>
<span id="L724"><span class="lineNum">     724</span>                 :             : {</span>
<span id="L725"><span class="lineNum">     725</span>                 :             :         const char *list, *end;</span>
<span id="L726"><span class="lineNum">     726</span>                 :<span class="tlaUNC">           0 :         int length, count = 0;</span></span>
<span id="L727"><span class="lineNum">     727</span>                 :             : </span>
<span id="L728"><span class="lineNum">     728</span>                 :<span class="tlaUNC">           0 :         list = fdt_getprop(fdt, nodeoffset, property, &amp;length);</span></span>
<span id="L729"><span class="lineNum">     729</span>                 :<span class="tlaUNC">           0 :         if (!list)</span></span>
<span id="L730"><span class="lineNum">     730</span>                 :<span class="tlaUNC">           0 :                 return length;</span></span>
<span id="L731"><span class="lineNum">     731</span>                 :             : </span>
<span id="L732"><span class="lineNum">     732</span>                 :<span class="tlaUNC">           0 :         end = list + length;</span></span>
<span id="L733"><span class="lineNum">     733</span>                 :             : </span>
<span id="L734"><span class="lineNum">     734</span>                 :<span class="tlaUNC">           0 :         while (list &lt; end) {</span></span>
<span id="L735"><span class="lineNum">     735</span>                 :<span class="tlaUNC">           0 :                 length = strnlen(list, end - list) + 1;</span></span>
<span id="L736"><span class="lineNum">     736</span>                 :             : </span>
<span id="L737"><span class="lineNum">     737</span>                 :             :                 /* Abort if the last string isn't properly NUL-terminated. */</span>
<span id="L738"><span class="lineNum">     738</span>                 :<span class="tlaUNC">           0 :                 if (list + length &gt; end)</span></span>
<span id="L739"><span class="lineNum">     739</span>                 :<span class="tlaUNC">           0 :                         return -FDT_ERR_BADVALUE;</span></span>
<span id="L740"><span class="lineNum">     740</span>                 :             : </span>
<span id="L741"><span class="lineNum">     741</span>                 :<span class="tlaUNC">           0 :                 list += length;</span></span>
<span id="L742"><span class="lineNum">     742</span>                 :<span class="tlaUNC">           0 :                 count++;</span></span>
<span id="L743"><span class="lineNum">     743</span>                 :             :         }</span>
<span id="L744"><span class="lineNum">     744</span>                 :             : </span>
<span id="L745"><span class="lineNum">     745</span>                 :<span class="tlaUNC">           0 :         return count;</span></span>
<span id="L746"><span class="lineNum">     746</span>                 :             : }</span>
<span id="L747"><span class="lineNum">     747</span>                 :             : </span>
<span id="L748"><span class="lineNum">     748</span>                 :<span class="tlaUNC">           0 : int fdt_stringlist_search(const void *fdt, int nodeoffset, const char *property,</span></span>
<span id="L749"><span class="lineNum">     749</span>                 :             :                           const char *string)</span>
<span id="L750"><span class="lineNum">     750</span>                 :             : {</span>
<span id="L751"><span class="lineNum">     751</span>                 :<span class="tlaUNC">           0 :         int length, len, idx = 0;</span></span>
<span id="L752"><span class="lineNum">     752</span>                 :             :         const char *list, *end;</span>
<span id="L753"><span class="lineNum">     753</span>                 :             : </span>
<span id="L754"><span class="lineNum">     754</span>                 :<span class="tlaUNC">           0 :         list = fdt_getprop(fdt, nodeoffset, property, &amp;length);</span></span>
<span id="L755"><span class="lineNum">     755</span>                 :<span class="tlaUNC">           0 :         if (!list)</span></span>
<span id="L756"><span class="lineNum">     756</span>                 :<span class="tlaUNC">           0 :                 return length;</span></span>
<span id="L757"><span class="lineNum">     757</span>                 :             : </span>
<span id="L758"><span class="lineNum">     758</span>                 :<span class="tlaUNC">           0 :         len = strlen(string) + 1;</span></span>
<span id="L759"><span class="lineNum">     759</span>                 :<span class="tlaUNC">           0 :         end = list + length;</span></span>
<span id="L760"><span class="lineNum">     760</span>                 :             : </span>
<span id="L761"><span class="lineNum">     761</span>                 :<span class="tlaUNC">           0 :         while (list &lt; end) {</span></span>
<span id="L762"><span class="lineNum">     762</span>                 :<span class="tlaUNC">           0 :                 length = strnlen(list, end - list) + 1;</span></span>
<span id="L763"><span class="lineNum">     763</span>                 :             : </span>
<span id="L764"><span class="lineNum">     764</span>                 :             :                 /* Abort if the last string isn't properly NUL-terminated. */</span>
<span id="L765"><span class="lineNum">     765</span>                 :<span class="tlaUNC">           0 :                 if (list + length &gt; end)</span></span>
<span id="L766"><span class="lineNum">     766</span>                 :<span class="tlaUNC">           0 :                         return -FDT_ERR_BADVALUE;</span></span>
<span id="L767"><span class="lineNum">     767</span>                 :             : </span>
<span id="L768"><span class="lineNum">     768</span>                 :<span class="tlaUNC">           0 :                 if (length == len &amp;&amp; memcmp(list, string, length) == 0)</span></span>
<span id="L769"><span class="lineNum">     769</span>                 :<span class="tlaUNC">           0 :                         return idx;</span></span>
<span id="L770"><span class="lineNum">     770</span>                 :             : </span>
<span id="L771"><span class="lineNum">     771</span>                 :<span class="tlaUNC">           0 :                 list += length;</span></span>
<span id="L772"><span class="lineNum">     772</span>                 :<span class="tlaUNC">           0 :                 idx++;</span></span>
<span id="L773"><span class="lineNum">     773</span>                 :             :         }</span>
<span id="L774"><span class="lineNum">     774</span>                 :             : </span>
<span id="L775"><span class="lineNum">     775</span>                 :<span class="tlaUNC">           0 :         return -FDT_ERR_NOTFOUND;</span></span>
<span id="L776"><span class="lineNum">     776</span>                 :             : }</span>
<span id="L777"><span class="lineNum">     777</span>                 :             : </span>
<span id="L778"><span class="lineNum">     778</span>                 :<span class="tlaUNC">           0 : const char *fdt_stringlist_get(const void *fdt, int nodeoffset,</span></span>
<span id="L779"><span class="lineNum">     779</span>                 :             :                                const char *property, int idx,</span>
<span id="L780"><span class="lineNum">     780</span>                 :             :                                int *lenp)</span>
<span id="L781"><span class="lineNum">     781</span>                 :             : {</span>
<span id="L782"><span class="lineNum">     782</span>                 :             :         const char *list, *end;</span>
<span id="L783"><span class="lineNum">     783</span>                 :             :         int length;</span>
<span id="L784"><span class="lineNum">     784</span>                 :             : </span>
<span id="L785"><span class="lineNum">     785</span>                 :<span class="tlaUNC">           0 :         list = fdt_getprop(fdt, nodeoffset, property, &amp;length);</span></span>
<span id="L786"><span class="lineNum">     786</span>                 :<span class="tlaUNC">           0 :         if (!list) {</span></span>
<span id="L787"><span class="lineNum">     787</span>                 :<span class="tlaUNC">           0 :                 if (lenp)</span></span>
<span id="L788"><span class="lineNum">     788</span>                 :<span class="tlaUNC">           0 :                         *lenp = length;</span></span>
<span id="L789"><span class="lineNum">     789</span>                 :             : </span>
<span id="L790"><span class="lineNum">     790</span>                 :<span class="tlaUNC">           0 :                 return NULL;</span></span>
<span id="L791"><span class="lineNum">     791</span>                 :             :         }</span>
<span id="L792"><span class="lineNum">     792</span>                 :             : </span>
<span id="L793"><span class="lineNum">     793</span>                 :<span class="tlaUNC">           0 :         end = list + length;</span></span>
<span id="L794"><span class="lineNum">     794</span>                 :             : </span>
<span id="L795"><span class="lineNum">     795</span>                 :<span class="tlaUNC">           0 :         while (list &lt; end) {</span></span>
<span id="L796"><span class="lineNum">     796</span>                 :<span class="tlaUNC">           0 :                 length = strnlen(list, end - list) + 1;</span></span>
<span id="L797"><span class="lineNum">     797</span>                 :             : </span>
<span id="L798"><span class="lineNum">     798</span>                 :             :                 /* Abort if the last string isn't properly NUL-terminated. */</span>
<span id="L799"><span class="lineNum">     799</span>                 :<span class="tlaUNC">           0 :                 if (list + length &gt; end) {</span></span>
<span id="L800"><span class="lineNum">     800</span>                 :<span class="tlaUNC">           0 :                         if (lenp)</span></span>
<span id="L801"><span class="lineNum">     801</span>                 :<span class="tlaUNC">           0 :                                 *lenp = -FDT_ERR_BADVALUE;</span></span>
<span id="L802"><span class="lineNum">     802</span>                 :             : </span>
<span id="L803"><span class="lineNum">     803</span>                 :<span class="tlaUNC">           0 :                         return NULL;</span></span>
<span id="L804"><span class="lineNum">     804</span>                 :             :                 }</span>
<span id="L805"><span class="lineNum">     805</span>                 :             : </span>
<span id="L806"><span class="lineNum">     806</span>                 :<span class="tlaUNC">           0 :                 if (idx == 0) {</span></span>
<span id="L807"><span class="lineNum">     807</span>                 :<span class="tlaUNC">           0 :                         if (lenp)</span></span>
<span id="L808"><span class="lineNum">     808</span>                 :<span class="tlaUNC">           0 :                                 *lenp = length - 1;</span></span>
<span id="L809"><span class="lineNum">     809</span>                 :             : </span>
<span id="L810"><span class="lineNum">     810</span>                 :<span class="tlaUNC">           0 :                         return list;</span></span>
<span id="L811"><span class="lineNum">     811</span>                 :             :                 }</span>
<span id="L812"><span class="lineNum">     812</span>                 :             : </span>
<span id="L813"><span class="lineNum">     813</span>                 :<span class="tlaUNC">           0 :                 list += length;</span></span>
<span id="L814"><span class="lineNum">     814</span>                 :<span class="tlaUNC">           0 :                 idx--;</span></span>
<span id="L815"><span class="lineNum">     815</span>                 :             :         }</span>
<span id="L816"><span class="lineNum">     816</span>                 :             : </span>
<span id="L817"><span class="lineNum">     817</span>                 :<span class="tlaUNC">           0 :         if (lenp)</span></span>
<span id="L818"><span class="lineNum">     818</span>                 :<span class="tlaUNC">           0 :                 *lenp = -FDT_ERR_NOTFOUND;</span></span>
<span id="L819"><span class="lineNum">     819</span>                 :             : </span>
<span id="L820"><span class="lineNum">     820</span>                 :<span class="tlaUNC">           0 :         return NULL;</span></span>
<span id="L821"><span class="lineNum">     821</span>                 :             : }</span>
<span id="L822"><span class="lineNum">     822</span>                 :             : </span>
<span id="L823"><span class="lineNum">     823</span>                 :<span class="tlaUNC">           0 : int fdt_node_check_compatible(const void *fdt, int nodeoffset,</span></span>
<span id="L824"><span class="lineNum">     824</span>                 :             :                               const char *compatible)</span>
<span id="L825"><span class="lineNum">     825</span>                 :             : {</span>
<span id="L826"><span class="lineNum">     826</span>                 :             :         const void *prop;</span>
<span id="L827"><span class="lineNum">     827</span>                 :             :         int len;</span>
<span id="L828"><span class="lineNum">     828</span>                 :             : </span>
<span id="L829"><span class="lineNum">     829</span>                 :<span class="tlaUNC">           0 :         prop = fdt_getprop(fdt, nodeoffset, &quot;compatible&quot;, &amp;len);</span></span>
<span id="L830"><span class="lineNum">     830</span>                 :<span class="tlaUNC">           0 :         if (!prop)</span></span>
<span id="L831"><span class="lineNum">     831</span>                 :<span class="tlaUNC">           0 :                 return len;</span></span>
<span id="L832"><span class="lineNum">     832</span>                 :             : </span>
<span id="L833"><span class="lineNum">     833</span>                 :<span class="tlaUNC">           0 :         return !fdt_stringlist_contains(prop, len, compatible);</span></span>
<span id="L834"><span class="lineNum">     834</span>                 :             : }</span>
<span id="L835"><span class="lineNum">     835</span>                 :             : </span>
<span id="L836"><span class="lineNum">     836</span>                 :<span class="tlaUNC">           0 : int fdt_node_offset_by_compatible(const void *fdt, int startoffset,</span></span>
<span id="L837"><span class="lineNum">     837</span>                 :             :                                   const char *compatible)</span>
<span id="L838"><span class="lineNum">     838</span>                 :             : {</span>
<span id="L839"><span class="lineNum">     839</span>                 :             :         int offset, err;</span>
<span id="L840"><span class="lineNum">     840</span>                 :             : </span>
<span id="L841"><span class="lineNum">     841</span>                 :<span class="tlaUNC">           0 :         FDT_RO_PROBE(fdt);</span></span>
<span id="L842"><span class="lineNum">     842</span>                 :             : </span>
<span id="L843"><span class="lineNum">     843</span>                 :             :         /* FIXME: The algorithm here is pretty horrible: we scan each</span>
<span id="L844"><span class="lineNum">     844</span>                 :             :          * property of a node in fdt_node_check_compatible(), then if</span>
<span id="L845"><span class="lineNum">     845</span>                 :             :          * that didn't find what we want, we scan over them again</span>
<span id="L846"><span class="lineNum">     846</span>                 :             :          * making our way to the next node.  Still it's the easiest to</span>
<span id="L847"><span class="lineNum">     847</span>                 :             :          * implement approach; performance can come later. */</span>
<span id="L848"><span class="lineNum">     848</span>                 :<span class="tlaUNC">           0 :         for (offset = fdt_next_node(fdt, startoffset, NULL);</span></span>
<span id="L849"><span class="lineNum">     849</span>                 :<span class="tlaUNC">           0 :              offset &gt;= 0;</span></span>
<span id="L850"><span class="lineNum">     850</span>                 :<span class="tlaUNC">           0 :              offset = fdt_next_node(fdt, offset, NULL)) {</span></span>
<span id="L851"><span class="lineNum">     851</span>                 :<span class="tlaUNC">           0 :                 err = fdt_node_check_compatible(fdt, offset, compatible);</span></span>
<span id="L852"><span class="lineNum">     852</span>                 :<span class="tlaUNC">           0 :                 if ((err &lt; 0) &amp;&amp; (err != -FDT_ERR_NOTFOUND))</span></span>
<span id="L853"><span class="lineNum">     853</span>                 :<span class="tlaUNC">           0 :                         return err;</span></span>
<span id="L854"><span class="lineNum">     854</span>                 :<span class="tlaUNC">           0 :                 else if (err == 0)</span></span>
<span id="L855"><span class="lineNum">     855</span>                 :<span class="tlaUNC">           0 :                         return offset;</span></span>
<span id="L856"><span class="lineNum">     856</span>                 :             :         }</span>
<span id="L857"><span class="lineNum">     857</span>                 :             : </span>
<span id="L858"><span class="lineNum">     858</span>                 :<span class="tlaUNC">           0 :         return offset; /* error from fdt_next_node() */</span></span>
<span id="L859"><span class="lineNum">     859</span>                 :             : }</span>
        </pre>
              </td>
            </tr>
          </table>
          <br>

          <table width="100%" border=0 cellspacing=0 cellpadding=0>
            <tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
            <tr><td class="versionInfo">Generated by: <a href="https://github.com//linux-test-project/lcov" target="_parent">LCOV version 2.0-1</a></td></tr>
          </table>
          <br>

</body>
</html>
