summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-08-03 11:20:11 +0000
committerRichard Purdie <richard@openedhand.com>2008-08-03 11:20:11 +0000
commit6dda6e3c3e1413e08364fdca7496435a894abe5f (patch)
tree9dd8a6f0fb8b6d33eb36c99f532e406b071ee582
parentfeedc99ff99ee8386a4f552179b97ce06a617f83 (diff)
downloadpoky-6dda6e3c3e1413e08364fdca7496435a894abe5f.tar.gz
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
-rw-r--r--meta/packages/linux/linux-omap-2.6.22.19/add_rootwait.patch47
-rw-r--r--meta/packages/linux/linux-omap-2.6.22.19/defconfig-omap-3430ldp18
-rw-r--r--meta/packages/linux/linux-omap_2.6.22.19.bb5
3 files changed, 59 insertions, 11 deletions
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 @@
1Index: linux-2.6.22.19/init/do_mounts.c
2===================================================================
3--- linux-2.6.22.19.orig/init/do_mounts.c 2008-07-25 17:29:47.000000000 +0100
4+++ linux-2.6.22.19/init/do_mounts.c 2008-07-25 17:31:17.000000000 +0100
5@@ -25,6 +25,7 @@
6 int root_mountflags = MS_RDONLY | MS_SILENT;
7 char * __initdata root_device_name;
8 static char __initdata saved_root_name[64];
9+static int __initdata root_wait;
10
11 dev_t ROOT_DEV;
12
13@@ -216,6 +217,16 @@
14
15 __setup("root=", root_dev_setup);
16
17+static int __init rootwait_setup(char *str)
18+{
19+ if (*str)
20+ return 0;
21+ root_wait = 1;
22+ return 1;
23+}
24+
25+__setup("rootwait", rootwait_setup);
26+
27 static char * __initdata root_mount_data;
28 static int __init root_data_setup(char *str)
29 {
30@@ -443,6 +454,17 @@
31 if (initrd_load())
32 goto out;
33
34+ /* wait for any asynchronous scanning to complete */
35+ if ((ROOT_DEV == 0) && root_wait) {
36+ printk(KERN_INFO "Waiting for root device %s...\n",
37+ saved_root_name);
38+ while (driver_probe_done() != 0 ||
39+ (ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
40+ msleep(100);
41+ }
42+
43+ is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
44+
45 if (is_floppy && rd_doload && rd_load_disk(0))
46 ROOT_DEV = Root_RAM0;
47
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
1280# 1280#
1281# DOS/FAT/NT Filesystems 1281# DOS/FAT/NT Filesystems
1282# 1282#
1283CONFIG_FAT_FS=y 1283CONFIG_FAT_FS=m
1284CONFIG_MSDOS_FS=y 1284CONFIG_MSDOS_FS=m
1285CONFIG_VFAT_FS=y 1285CONFIG_VFAT_FS=m
1286CONFIG_FAT_DEFAULT_CODEPAGE=437 1286CONFIG_FAT_DEFAULT_CODEPAGE=437
1287CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 1287CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1288# CONFIG_NTFS_FS is not set 1288# CONFIG_NTFS_FS is not set
@@ -1309,7 +1309,7 @@ CONFIG_RAMFS=y
1309# CONFIG_BEFS_FS is not set 1309# CONFIG_BEFS_FS is not set
1310# CONFIG_BFS_FS is not set 1310# CONFIG_BFS_FS is not set
1311# CONFIG_EFS_FS is not set 1311# CONFIG_EFS_FS is not set
1312CONFIG_JFFS2_FS=y 1312CONFIG_JFFS2_FS=m
1313CONFIG_JFFS2_FS_DEBUG=0 1313CONFIG_JFFS2_FS_DEBUG=0
1314CONFIG_JFFS2_FS_WRITEBUFFER=y 1314CONFIG_JFFS2_FS_WRITEBUFFER=y
1315# CONFIG_JFFS2_SUMMARY is not set 1315# CONFIG_JFFS2_SUMMARY is not set
@@ -1378,9 +1378,9 @@ CONFIG_MSDOS_PARTITION=y
1378# 1378#
1379# Native Language Support 1379# Native Language Support
1380# 1380#
1381CONFIG_NLS=y 1381CONFIG_NLS=m
1382CONFIG_NLS_DEFAULT="iso8859-1" 1382CONFIG_NLS_DEFAULT="iso8859-1"
1383CONFIG_NLS_CODEPAGE_437=y 1383CONFIG_NLS_CODEPAGE_437=m
1384# CONFIG_NLS_CODEPAGE_737 is not set 1384# CONFIG_NLS_CODEPAGE_737 is not set
1385# CONFIG_NLS_CODEPAGE_775 is not set 1385# CONFIG_NLS_CODEPAGE_775 is not set
1386# CONFIG_NLS_CODEPAGE_850 is not set 1386# CONFIG_NLS_CODEPAGE_850 is not set
@@ -1404,7 +1404,7 @@ CONFIG_NLS_CODEPAGE_437=y
1404# CONFIG_NLS_CODEPAGE_1250 is not set 1404# CONFIG_NLS_CODEPAGE_1250 is not set
1405# CONFIG_NLS_CODEPAGE_1251 is not set 1405# CONFIG_NLS_CODEPAGE_1251 is not set
1406# CONFIG_NLS_ASCII is not set 1406# CONFIG_NLS_ASCII is not set
1407CONFIG_NLS_ISO8859_1=y 1407CONFIG_NLS_ISO8859_1=m
1408# CONFIG_NLS_ISO8859_2 is not set 1408# CONFIG_NLS_ISO8859_2 is not set
1409# CONFIG_NLS_ISO8859_3 is not set 1409# CONFIG_NLS_ISO8859_3 is not set
1410# CONFIG_NLS_ISO8859_4 is not set 1410# CONFIG_NLS_ISO8859_4 is not set
@@ -1526,8 +1526,8 @@ CONFIG_CRC_CCITT=y
1526# CONFIG_CRC_ITU_T is not set 1526# CONFIG_CRC_ITU_T is not set
1527CONFIG_CRC32=y 1527CONFIG_CRC32=y
1528CONFIG_LIBCRC32C=y 1528CONFIG_LIBCRC32C=y
1529CONFIG_ZLIB_INFLATE=y 1529CONFIG_ZLIB_INFLATE=m
1530CONFIG_ZLIB_DEFLATE=y 1530CONFIG_ZLIB_DEFLATE=m
1531CONFIG_PLIST=y 1531CONFIG_PLIST=y
1532CONFIG_HAS_IOMEM=y 1532CONFIG_HAS_IOMEM=y
1533CONFIG_HAS_IOPORT=y 1533CONFIG_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 @@
1require linux-omap.inc 1require linux-omap.inc
2PR = "r5" 2PR = "r6"
3COMPATIBLE_MACHINE = "omap-3430ldp" 3COMPATIBLE_MACHINE = "omap-3430ldp"
4SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.19.tar.bz2 \ 4SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.19.tar.bz2 \
5 file://defconfig-omap-3430ldp \ 5 file://defconfig-omap-3430ldp \
6 file://linux-2.6.22.19-ldp-v1.3.patch.gz;patch=1 \ 6 file://linux-2.6.22.19-ldp-v1.3.patch.gz;patch=1 \
7 file://fixes.patch;patch=1" 7 file://fixes.patch;patch=1 \
8 file://add_rootwait.patch;patch=1"
8S = "${WORKDIR}/linux-2.6.22.19" 9S = "${WORKDIR}/linux-2.6.22.19"
9 10