From 6dda6e3c3e1413e08364fdca7496435a894abe5f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 3 Aug 2008 11:20:11 +0000 Subject: linux-omap-2.6.22.19: Backport rootwait feature, make some further parts of the kernel modular git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5008 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../linux/linux-omap-2.6.22.19/add_rootwait.patch | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch (limited to 'meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch') diff --git a/meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch b/meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch new file mode 100644 index 000000000..80900526c --- /dev/null +++ b/meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch @@ -0,0 +1,47 @@ +Index: linux-2.6.22.19/init/do_mounts.c +=================================================================== +--- linux-2.6.22.19.orig/init/do_mounts.c 2008-07-25 17:29:47.000000000 +0100 ++++ linux-2.6.22.19/init/do_mounts.c 2008-07-25 17:31:17.000000000 +0100 +@@ -25,6 +25,7 @@ + int root_mountflags = MS_RDONLY | MS_SILENT; + char * __initdata root_device_name; + static char __initdata saved_root_name[64]; ++static int __initdata root_wait; + + dev_t ROOT_DEV; + +@@ -216,6 +217,16 @@ + + __setup("root=", root_dev_setup); + ++static int __init rootwait_setup(char *str) ++{ ++ if (*str) ++ return 0; ++ root_wait = 1; ++ return 1; ++} ++ ++__setup("rootwait", rootwait_setup); ++ + static char * __initdata root_mount_data; + static int __init root_data_setup(char *str) + { +@@ -443,6 +454,17 @@ + if (initrd_load()) + goto out; + ++ /* wait for any asynchronous scanning to complete */ ++ if ((ROOT_DEV == 0) && root_wait) { ++ printk(KERN_INFO "Waiting for root device %s...\n", ++ saved_root_name); ++ while (driver_probe_done() != 0 || ++ (ROOT_DEV = name_to_dev_t(saved_root_name)) == 0) ++ msleep(100); ++ } ++ ++ is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; ++ + if (is_floppy && rd_doload && rd_load_disk(0)) + ROOT_DEV = Root_RAM0; + -- cgit v1.2.3