Re: [PATCH] mtd: part: add generic parsing of linux,part-probe

Rafał Miłecki
2015-05-19T22:07:26Z

On 19 May 2015 at 23:59, Hauke Mehrtens <hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org> wrote:
>> So my first Idea would be having something like this:
>>
>> mtdevice@foo {
>> ...
>> bootloader: partition@0 {
>> reg = <0 0x10000>;
>> device_type = "flash-partition";
>> read-only;
>> };
>>
>> firmware: partition@10000 {
>> reg = <0x1000 0x7e0000>;
>> device_type = "flash-partition";
>> compatible = "brcm,trx";
>> };
>>
>> calibration: partition@7f0000 {
>> reg = < >;
>> device_type = "flash-partition";
>> read-only;
>> };
>> };
>>
>> Then the ofpart parsing could be integrated into the core, and
>> partition parsers get run according to their compatibles on the
>> individual partitions.
>>
>> Of course this also might be total overengineering and completely the
>> wrong place for devicetree as it's essentially configuration data, but
>> since the now described partitions are now more or less "static", IMHO
>> this would be a-okay.
>
> This sounds like the problem Rafał wanted to solve in his patch "mtd:
> add support for typed parsers splitting partitions"
>
> This would also solve my problem and would make the bcm47xx part parser
> a lot simpler and more secure for targets using device tree.
> I still think we should add a alternative for the people that do not
> want to rewrite their partition parser. Specifying the list of available
> partition parser in the flash driver is a bad idea because it is the
> wrong place.

This is what I hoped for all the time. To get both patches accepted
(linux,part-probe & typed parsers). That would give us a really nice
way to handle partitioning on every device.

> I am in favor of both concepts, because there is already one driver
> reading the partition parser list from device tree and it is implemented
> pretty easy. Jonas Approach sounds nice because it really solves two
> more problems.
> Jonas approach would work on bcm47xx and bcm53xx targets, because there
> the header is located after the boot loader and does not contain all
> partitions. This could also be used to divide the partition containing
> the kernel and the read only root fs in OpenWrt. Are there any more
> users which could use this extended approach?

I got a bit lost with above. The patch adding typed parsers I sent
will allow us to write both: TRX parser (splitter) and SquashFS parser
(splitter). This is all we need in OpenWrt and I my patch is highly
based on OpenWrt version obviously too.