• E
    cmd: adtimg: Refactor usage style · 4f731c79
    Eugeniu Rosca 提交于
    Trying to extend 'adtimg' functionality [1], we've been severely hit
    by a major limitation in the command's usage scheme. Specifically, the
    command's user interface appears to be too centric to getting the
    DTB/DTBO entry [3] based on the index of the desired DT in the image,
    which makes it really difficult retrieving the DT entry based on
    alternative criteria (e.g. filtering by id/rev fields), the
    latter being demanded by real life customer use-cases [1].
    
    This went to the point of receiving below feedback from Sam [2]:
    
     -- snip --
     As for 'dtimg' command: after giving it some thought, I think not much
     people using it yet. So in this particular case I don't have some
     strong preference, and if you think the 'dtimg' interface is ugly, and
     it overcomes "don't break interfaces" rule, maybe now is a good time
     to rework it (before it gets widely used).
     -- snip --
    
    Given the above, rework the usage pattern from [4] to [5], in order to
    allow an intuitive enablement of "by id|rev" DT search [6].
    
    [1] https://patchwork.ozlabs.org/cover/1202575/
        ("cmd: dtimg: Enhance with --id and --rev options (take #1)")
    [2] https://patchwork.ozlabs.org/patch/1182207/#2317020
    [3] https://source.android.com/devices/architecture/dto/partitions
    [4] Old usage
    adtimg dump <addr>                    - Print image contents
    adtimg start <addr> <index> <varname> - Get DT address by index
    adtimg size <addr> <index> <varname>  - Get DT size by index
    
    [5] New usage
    adtimg addr <addr>                      - Set image location to <addr>
    adtimg dump                             - Print out image contents
    adtimg get dt --index=<i> [avar [svar]] - Get DT address and size by index
    
    [6] Soon-to-be-provided "by id|rev" add-on functionality
    adtimg get dt --id=<id> --rev=<rev> [avar [svar [ivar]]]
     - Get DT address/size/index by id|rev fields
    Signed-off-by: NEugeniu Rosca <erosca@de.adit-jv.com>
    Reviewed-by: NSam Protsenko <semen.protsenko@linaro.org>
    4f731c79
adtimg.c 5.5 KB