• Rafał Miłecki's avatar
    mtd: partitions: add support for partition parsers · 1a0915be
    Rafał Miłecki authored
    Some devices have partitions that are kind of containers with extra
    subpartitions / volumes instead of e.g. a simple filesystem data. To
    support such cases we need to first create normal flash device
    partitions and then take care of these special ones.
    
    It's very common case for home routers. Depending on the vendor there
    are formats like TRX, Seama, TP-Link, WRGG & more. All of them are used
    to embed few partitions into a single one / single firmware file.
    
    Ideally all vendors would use some well documented / standardized format
    like UBI (and some probably start doing so), but there are still
    countless devices on the market using these poor vendor specific
    formats.
    
    This patch extends MTD subsystem by allowing to specify list of parsers
    that should be tried for a given partition. Supporting such poor formats
    is highly unlikely to be the top priority so these changes try to
    minimize maintenance cost to the minimum. It reuses existing code for
    these new parsers and just adds a one property and one new function.
    
    This implementation requires setting partition parsers in a flash
    parser. A proper change of bcm47xxpart will follow and in the future we
    will hopefully also find a solution for doing it with ofpart
    ("fixed-partitions").
    Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
    Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
    1a0915be
partitions.h 3.75 KB