[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110802225316.GF5063@pulham.picochip.com>
Date: Tue, 2 Aug 2011 23:53:16 +0100
From: Jamie Iles <jamie@...ieiles.com>
To: Brian Norris <computersforpeace@...il.com>
Cc: Daniel Drake <dsd@...top.org>, linux-mtd@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Dmitry Eremin-Solenikov <dbaryshkov@...il.com>,
Jamie Iles <jamie@...ieiles.com>
Subject: Re: MTD-related kobject badness during linux-next boot
Hi Brian,
On Tue, Aug 02, 2011 at 10:40:29AM -0700, Brian Norris wrote:
> Since Dmitry's change, it looks like cafe_nand will add the master
> device, then parse and register its partitions, if found. However, if
> partitions are NOT found, then mtd_device_parse_register() falls back
> to adding the master device, which was already added. In
> drivers/mtd/mtdcore.c, see:
>
> int mtd_device_parse_register(struct mtd_info *mtd, const char **types,
> ...
> if (err > 0) {
> ...
> } else if (err == 0) {
> err = add_mtd_device(mtd);
> ...
>
>
> So it looks like perhaps we can solve the problem by just killing the
> "register the whole device first" and allow mtd_device_parse_register
> to do it if there are no partitions. Any cafe_nand developers know if
> this is a problem? i.e., is there a reason we need both the whole
> device AND the partitions sent to add_mtd_device()? I'll send a full
> patch with sign-off and description if there are no objections.
I think that's the right thing to do. There's actually a comment in
drivers/mtd/mtdpart.c saying:
/* NOTE: we don't arrange MTDs as a tree; it'd be error-prone
* to have the same data be in two different partitions.
*/
So I do think it should be the whole device *or* the partitions. In any
case, your patch looks good to me.
Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists