Skip to content
  • David Gibson's avatar
    libfdt: Implement property iteration functions · d1c63148
    David Gibson authored
    
    
    For ages, we've been talking about adding functions to libfdt to allow
    iteration through properties.  So, finally, here are some.
    
    I got bogged down on this for a long time because I didn't want to
    expose offsets directly to properties to the callers.  But without
    that, attempting to make reasonable iteration functions just became
    horrible.  So eventually, I settled on an interface which does now
    expose property offsets.  fdt_first_property_offset() and
    fdt_next_property_offset() are used to step through the offsets of the
    properties starting from a particularly node offset.  The details of
    the property at each offset can then be retrieved with either
    fdt_get_property_by_offset() or fdt_getprop_by_offset() which have
    interfaces similar to fdt_get_property() and fdt_getprop()
    respectively.
    
    No explicit testcases are included, but we do use the new functions to
    reimplement the existing fdt_get_property() function.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    
    This was extracted from the DTC commit:
    73dca9ae0b9abe6924ba640164ecce9f8df69c5a Mon Sep 17 00:00:00 2001
    
    Signed-off-by: default avatarGerald Van Baren <vanbaren@cideas.com>
    d1c63148