aboutsummaryrefslogtreecommitdiffstats
path: root/packages/linux
diff options
context:
space:
mode:
authorMatt Reimer <mattjreimer@gmail.com>2006-02-10 19:06:32 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-02-10 19:06:32 +0000
commite77169523b1eaea7f859097ba1d75f4b1920f832 (patch)
treef10c931286993e122737860a894cdf7d2b3a8df2 /packages/linux
parent4eec69290278e9f6c8298cfcd384299618ac5090 (diff)
downloadopenembedded-e77169523b1eaea7f859097ba1d75f4b1920f832.tar.gz
handhelds-pxa-2.6_cvs.bb: Add a patch for h2200 to retry loading the
bootloader firmware every 30 seconds until successful. Also, I changed the bootloader firmware filename to the more appropriate h2200_bootloader.bin.
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/handhelds-pxa-2.6/h2200_pm.patch31
-rw-r--r--packages/linux/handhelds-pxa-2.6_cvs.bb1
2 files changed, 32 insertions, 0 deletions
diff --git a/packages/linux/handhelds-pxa-2.6/h2200_pm.patch b/packages/linux/handhelds-pxa-2.6/h2200_pm.patch
new file mode 100644
index 0000000000..7395b42aff
--- /dev/null
+++ b/packages/linux/handhelds-pxa-2.6/h2200_pm.patch
@@ -0,0 +1,31 @@
+Index: kernel26/arch/arm/mach-pxa/h2200/h2200_pm.c
+This patch makes the kernel try every 30 seconds to load the bootloader
+firmware until successful. Also, it changes the bootloader filename that is
+requested from hamcop_bootloader.bin to the more appropriate
+h2200_bootloader.bin.
+
+There isn't a 2.6.13-hh1 branch in hh.org CVS where we can commit this patch,
+so we'll just apply it here.
+
+===================================================================
+RCS file: /cvs/linux/kernel26/arch/arm/mach-pxa/h2200/h2200_pm.c,v
+retrieving revision 1.13
+diff -u -p -r1.13 h2200_pm.c
+--- kernel26/arch/arm/mach-pxa/h2200/h2200_pm.c 29 Oct 2005 23:13:04 -0000 1.13
++++ kernel26/arch/arm/mach-pxa/h2200/h2200_pm.c 10 Feb 2006 00:11:20 -0000
+@@ -148,9 +148,12 @@ static void h2200_load_bootloader(void *
+ {
+ const struct firmware *fw;
+
+- if (request_firmware(&fw, "hamcop_bootloader.bin", &h2200_hamcop.dev))
+- printk(KERN_ERR "h2200_pm: request_firmware failed\n");
+- else {
++ if (request_firmware(&fw, "h2200_bootloader.bin", &h2200_hamcop.dev)) {
++ printk(KERN_ERR "h2200_pm: request_firmware failed; "
++ "will try again in %d seconds\n",
++ BOOTLOADER_LOAD_DELAY / HZ);
++ schedule_delayed_work(&fw_work, BOOTLOADER_LOAD_DELAY);
++ } else {
+ printk("h2200_pm: bootloader loaded\n");
+ memcpy(bootloader, fw->data, fw->size < HAMCOP_SRAM_Size ?
+ fw->size : HAMCOP_SRAM_Size);
diff --git a/packages/linux/handhelds-pxa-2.6_cvs.bb b/packages/linux/handhelds-pxa-2.6_cvs.bb
index e04d0c4921..c4d31a7f0f 100644
--- a/packages/linux/handhelds-pxa-2.6_cvs.bb
+++ b/packages/linux/handhelds-pxa-2.6_cvs.bb
@@ -12,6 +12,7 @@ FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}"
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26 \
file://ide_not_removable-r0.patch;patch=1 \
+ file://h2200_pm.patch;patch=1 \
file://defconfig"
S = "${WORKDIR}/kernel26"