From 6dda6e3c3e1413e08364fdca7496435a894abe5f Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard@openedhand.com>
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 ++++++++++++++++++++++
 .../linux-omap-2.6.22.19/defconfig-omap-3430ldp    | 18 ++++-----
 meta/packages/linux/linux-omap_2.6.22.19.bb        |  5 ++-
 3 files changed, 59 insertions(+), 11 deletions(-)
 create mode 100644 meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch

(limited to 'meta/packages/linux')

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 0000000000..80900526c6
--- /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;
+ 
diff --git a/meta/packages/linux/linux-omap-2.6.22.19/defconfig-omap-3430ldp b/meta/packages/linux/linux-omap-2.6.22.19/defconfig-omap-3430ldp
index 112786f9a9..c6a7a72146 100644
--- a/meta/packages/linux/linux-omap-2.6.22.19/defconfig-omap-3430ldp
+++ b/meta/packages/linux/linux-omap-2.6.22.19/defconfig-omap-3430ldp
@@ -1280,9 +1280,9 @@ CONFIG_DNOTIFY=y
 #
 # DOS/FAT/NT Filesystems
 #
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
 CONFIG_FAT_DEFAULT_CODEPAGE=437
 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 # CONFIG_NTFS_FS is not set
@@ -1309,7 +1309,7 @@ CONFIG_RAMFS=y
 # CONFIG_BEFS_FS is not set
 # CONFIG_BFS_FS is not set
 # CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS=m
 CONFIG_JFFS2_FS_DEBUG=0
 CONFIG_JFFS2_FS_WRITEBUFFER=y
 # CONFIG_JFFS2_SUMMARY is not set
@@ -1378,9 +1378,9 @@ CONFIG_MSDOS_PARTITION=y
 #
 # Native Language Support
 #
-CONFIG_NLS=y
+CONFIG_NLS=m
 CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_437=m
 # CONFIG_NLS_CODEPAGE_737 is not set
 # CONFIG_NLS_CODEPAGE_775 is not set
 # CONFIG_NLS_CODEPAGE_850 is not set
@@ -1404,7 +1404,7 @@ CONFIG_NLS_CODEPAGE_437=y
 # CONFIG_NLS_CODEPAGE_1250 is not set
 # CONFIG_NLS_CODEPAGE_1251 is not set
 # CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_1=m
 # CONFIG_NLS_ISO8859_2 is not set
 # CONFIG_NLS_ISO8859_3 is not set
 # CONFIG_NLS_ISO8859_4 is not set
@@ -1526,8 +1526,8 @@ CONFIG_CRC_CCITT=y
 # CONFIG_CRC_ITU_T is not set
 CONFIG_CRC32=y
 CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
 CONFIG_PLIST=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT=y
diff --git a/meta/packages/linux/linux-omap_2.6.22.19.bb b/meta/packages/linux/linux-omap_2.6.22.19.bb
index 7f25bd267a..f6777bcc5b 100644
--- a/meta/packages/linux/linux-omap_2.6.22.19.bb
+++ b/meta/packages/linux/linux-omap_2.6.22.19.bb
@@ -1,9 +1,10 @@
 require linux-omap.inc
-PR = "r5"
+PR = "r6"
 COMPATIBLE_MACHINE = "omap-3430ldp"
 SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.19.tar.bz2 \
          file://defconfig-omap-3430ldp \
          file://linux-2.6.22.19-ldp-v1.3.patch.gz;patch=1 \
-	 file://fixes.patch;patch=1"
+	 file://fixes.patch;patch=1 \
+	 file://add_rootwait.patch;patch=1"
 S = "${WORKDIR}/linux-2.6.22.19"
 
-- 
cgit v1.2.3