Re: [PATCH 1/2] mtd: add support for partition parsers

From: Richard Weinberger
Date: Sat Sep 17 2016 - 06:00:34 EST


On Tue, Jul 19, 2016 at 10:51 PM, RafaÅ MiÅecki <zajec5@xxxxxxxxx> wrote:
> This extends MTD subsystem by adding a support for partition parsers
> that should be used for creating subpartitions. There are some types of
> partitions that require splitting, like firmware containers.
> It's common some home routers that a single firmware image gets flashed
> to predefined partition and then we need to parse it dynamically.
> The reason for having such parsers is to share code. Right now we have
> e.g. TRX parsing implemented in bcm47xxpart but this could be used in
> more cases (e.g. on ramips which doesn't use bcm47xxpart or with DT).
> This implementation requires marking partition as requiring parsing with
> a specific parser. This can be used right away with some parsers like
> bcm47xxpart, in future we will hopefully also find a solution for doing
> it with ofpart ("fixed-partitions").
> Signed-off-by: RafaÅ MiÅecki <zajec5@xxxxxxxxx>
> ---
> One thing I'm not proud of in this patch is struct mtd_partition casting
> in order to be able to modify partition offset. It's marked as const so
> it was the only way I could think of. Any better ideas? Currently parser
> gets a single MTD and it doesn't have to deal with its offset, which I
> kind of like as it simplifies things.

I have to admit, I don't fully understand what you are trying to solve.
Why are you introducing a new concept of partition parsing in patch 2/2?
We have already one.

Are you unhappy with the way parsers are _requested_?
Currently MTD core tries cmdlinepart and ofpart, drivers can override that.
Do you need a way to request a parser via DT or cmdline?