All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] UBI:Force ubi driver load after mtd device drivers
@ 2012-08-08  2:31 Jiang Lu
  2012-08-08 21:52 ` richard -rw- weinberger
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jiang Lu @ 2012-08-08  2:31 UTC (permalink / raw)
  To: linux-mtd

To implement rootfs on mtd device with UBIFS, kernel need create a
UBIFS device when booting:

drivers/mtd/ubi/build.c ubi_init()
for (i = 0; i < mtd_devs; i++) {
	...
	mtd = open_mtd_device(p->name);
	if (IS_ERR(mtd)) {
		err = PTR_ERR(mtd);
		goto out_detach;
	}

	ubi_attach_mtd_dev()
	...
}
module_init(ubi_init);

Kernel can not create the UBIFS device without corresponding mtd
partiton.

Some NAND device can not guarenteen the mtd patition created before
UBIFS deivce driver loading. Such as SPI NAND deivce, the mtd partition
will create after SPI bus driver loaded.

UBI device driver must load after other mtd device drivers to make sure
the mtd partition already exist when creating UBI deivce.

The patch updates the UBI device driver's initial routine to
late_initcall level.

Signed-off-by: Jiang Lu <lu.jiang@windriver.com>
---
 drivers/mtd/ubi/build.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 0fde9fc..efbcaef 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1275,7 +1275,7 @@ out:
 	ubi_err("UBI error: cannot initialize UBI, error %d", err);
 	return err;
 }
-module_init(ubi_init);
+late_initcall(ubi_init);
 
 static void __exit ubi_exit(void)
 {
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-08-28 13:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-08  2:31 [PATCH] UBI:Force ubi driver load after mtd device drivers Jiang Lu
2012-08-08 21:52 ` richard -rw- weinberger
2012-08-09  5:46   ` Warrick
2012-08-24  9:41 ` Artem Bityutskiy
2012-08-24 10:03   ` Artem Bityutskiy
2012-08-24 11:24   ` Artem Bityutskiy
2012-08-27  1:10     ` Lu.Jiang
2012-08-28 13:52 ` Artem Bityutskiy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.