Re: [PATCH] mtd: unify mtd partition/device registration

From: Mike Frysinger
Date: Thu Nov 13 2008 - 09:51:20 EST


On Thu, Nov 13, 2008 at 09:28, Atsushi Nemoto wrote:
> On Thu, 13 Nov 2008 22:43:50 +0900 (JST), Atsushi Nemoto wrote:
>> On Wed, 12 Nov 2008 18:38:53 -0500, Mike Frysinger wrote:
>> > Rather than having every map/mtd driver doing the same sequence of
>> > registering partitions and/or devices, implement common parse_mtd().
>> >
>> > Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
>> > ---
>> > drivers/mtd/mtdcore.c | 37 +++++++++++++++++++++++++++++++++++++
>> > include/linux/mtd/mtd.h | 3 +++
>> > 2 files changed, 40 insertions(+), 0 deletions(-)
>>
>> I like this idea.
>
> Some drivers call both add_mtd_device() and add_mtd_partitions(). The
> mtd_device is used to access whole flash area (like /dev/hda). How do
> you think of these usage patterns?
>
> maps/edb7312.c
> maps/mbx860.c
> maps/plat-ram.c
> nand/cafe_nand.c
> nand/diskonchip.c
> nand/ndfc.c
>
> Automatic fallback to mtd_device in parse_mtd() is convenient but
> somewhat unflexible...

we could just have it do it all the time. i dont see a problem with
exposing the entire block device the whole time ? i know for the
driver or two of mine, i'm fine with it.

...
ret = parse_mtd_partitions(mtd, probe_types, &parts, 0);
if (ret > 0) {
ret = add_mtd_partitions(mtd, parts, ret);
kfree(parts);
} else if (nr_parts)
ret = add_mtd_partitions(mtd, parts, nr_parts);
if (ret)
return ret;
#endif

return add_mtd_device(mtd);
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/