[oe] [meta-handheld][PATCH] linux-yocto(-tiny-kexecboot)_3.2: Zaurus collie MTD fixes

Andrea Adami andrea.adami at gmail.com
Thu Feb 28 23:57:51 UTC 2013


* experimental patches to fix mtd partitions detection
* kexecboot now finds cramfs
* mount of orig. cramfs partition tested for fun :)
* collie's NOR is still READ-ONLY on boot
*
* while there, add a patch to mcp.h to fix
* collie_battery.c compilation

Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
---
 .../linux/linux-yocto-3.2/collie/collie-eraseinfo.patch     | 11 +++++++++++
 .../linux/linux-yocto-3.2/collie/collie-jedec-probe.patch   | 11 +++++++++++
 .../linux/linux-yocto-3.2/collie/collie-mtd-rw.patch        | 12 ++++++++++++
 recipes-kernel/linux/linux-yocto-3.2/collie/collie.cfg      |  2 +-
 .../linux/linux-yocto-3.2/collie/mcp-device.patch           | 13 +++++++++++++
 .../collie/collie-eraseinfo.patch                           | 11 +++++++++++
 .../collie/collie-jedec-probe.patch                         | 11 +++++++++++
 .../collie/collie-mtd-rw.patch                              | 12 ++++++++++++
 .../linux-yocto-tiny-kexecboot-3.2/collie/mcp-device.patch  | 13 +++++++++++++
 .../linux/linux-yocto-tiny-kexecboot_3.2.bbappend           |  6 +++++-
 recipes-kernel/linux/linux-yocto_3.2.bbappend               |  4 ++++
 11 files changed, 104 insertions(+), 2 deletions(-)
 create mode 100644 recipes-kernel/linux/linux-yocto-3.2/collie/collie-eraseinfo.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-3.2/collie/collie-jedec-probe.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-3.2/collie/collie-mtd-rw.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-3.2/collie/mcp-device.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-jedec-probe.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-mtd-rw.patch
 create mode 100644 recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/mcp-device.patch

diff --git a/recipes-kernel/linux/linux-yocto-3.2/collie/collie-eraseinfo.patch b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-eraseinfo.patch
new file mode 100644
index 0000000..47e814d
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-eraseinfo.patch
@@ -0,0 +1,11 @@
+--- a/drivers/mtd/chips/jedec_probe.c
++++ b/drivers/mtd/chips/jedec_probe.c
+@@ -1305,7 +1305,7 @@
+ 		.cmd_set	= P_ID_INTEL_STD,
+ 		.nr_regions	= 1,
+ 		.regions	= {
+-			ERASEINFO(0x40000,16),
++			ERASEINFO(0x08000,128),
+ 		}
+ 	}, {
+ 		.mfr_id		= CFI_MFR_SST,
diff --git a/recipes-kernel/linux/linux-yocto-3.2/collie/collie-jedec-probe.patch b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-jedec-probe.patch
new file mode 100644
index 0000000..530643e
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-jedec-probe.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm/mach-sa1100/collie.c
++++ b/arch/arm/mach-sa1100/collie.c
+@@ -289,7 +289,7 @@
+ }
+ 
+ static struct flash_platform_data collie_flash_data = {
+-	.map_name	= "cfi_probe",
++	.map_name	= "jedec_probe",
+ 	.init		= collie_flash_init,
+ 	.set_vpp	= collie_set_vpp,
+ 	.exit		= collie_flash_exit,
diff --git a/recipes-kernel/linux/linux-yocto-3.2/collie/collie-mtd-rw.patch b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-mtd-rw.patch
new file mode 100644
index 0000000..193004d
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-3.2/collie/collie-mtd-rw.patch
@@ -0,0 +1,12 @@
+diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
+index fa9c0a9..bf6b04f 100644
+--- a/drivers/mtd/maps/sa1100-flash.c
++++ b/drivers/mtd/maps/sa1100-flash.c
+@@ -206,6 +206,7 @@ static int sa1100_probe_subdev(struct sa_subdev_info *subdev, struct resource *r
+ 		goto err;
+ 	}
+ 	subdev->mtd->owner = THIS_MODULE;
++	subdev->mtd->unlock(subdev->mtd, 0xc0000, subdev->mtd->size - 0xc0000);
+ 
+ 	printk(KERN_INFO "SA1100 flash: CFI device at 0x%08lx, %uMiB, %d-bit\n",
+ 		phys, (unsigned)(subdev->mtd->size >> 20),
diff --git a/recipes-kernel/linux/linux-yocto-3.2/collie/collie.cfg b/recipes-kernel/linux/linux-yocto-3.2/collie/collie.cfg
index 2f5ead7..a47461e 100644
--- a/recipes-kernel/linux/linux-yocto-3.2/collie/collie.cfg
+++ b/recipes-kernel/linux/linux-yocto-3.2/collie/collie.cfg
@@ -1473,7 +1473,7 @@ CONFIG_APM_POWER=y
 # CONFIG_TEST_POWER is not set
 # CONFIG_BATTERY_DS2780 is not set
 # CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_COLLIE is not set
+CONFIG_BATTERY_COLLIE=y
 # CONFIG_BATTERY_BQ20Z75 is not set
 # CONFIG_BATTERY_BQ27x00 is not set
 # CONFIG_BATTERY_MAX17040 is not set
diff --git a/recipes-kernel/linux/linux-yocto-3.2/collie/mcp-device.patch b/recipes-kernel/linux/linux-yocto-3.2/collie/mcp-device.patch
new file mode 100644
index 0000000..9a0a8ba
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-3.2/collie/mcp-device.patch
@@ -0,0 +1,13 @@
+--- a/include/linux/mfd/mcp.h	2013-02-18 00:14:09.000000000 +0100
++++ b/include/linux/mfd/mcp.h	2013-02-17 23:55:52.000000000 +0100
+@@ -10,6 +10,8 @@
+ #ifndef MCP_H
+ #define MCP_H
+ 
++#include <linux/device.h>
++
+ struct mcp_ops;
+ 
+ struct mcp {
+
+
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
new file mode 100644
index 0000000..47e814d
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
@@ -0,0 +1,11 @@
+--- a/drivers/mtd/chips/jedec_probe.c
++++ b/drivers/mtd/chips/jedec_probe.c
+@@ -1305,7 +1305,7 @@
+ 		.cmd_set	= P_ID_INTEL_STD,
+ 		.nr_regions	= 1,
+ 		.regions	= {
+-			ERASEINFO(0x40000,16),
++			ERASEINFO(0x08000,128),
+ 		}
+ 	}, {
+ 		.mfr_id		= CFI_MFR_SST,
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-jedec-probe.patch b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-jedec-probe.patch
new file mode 100644
index 0000000..530643e
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-jedec-probe.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm/mach-sa1100/collie.c
++++ b/arch/arm/mach-sa1100/collie.c
+@@ -289,7 +289,7 @@
+ }
+ 
+ static struct flash_platform_data collie_flash_data = {
+-	.map_name	= "cfi_probe",
++	.map_name	= "jedec_probe",
+ 	.init		= collie_flash_init,
+ 	.set_vpp	= collie_set_vpp,
+ 	.exit		= collie_flash_exit,
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-mtd-rw.patch b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-mtd-rw.patch
new file mode 100644
index 0000000..193004d
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-mtd-rw.patch
@@ -0,0 +1,12 @@
+diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
+index fa9c0a9..bf6b04f 100644
+--- a/drivers/mtd/maps/sa1100-flash.c
++++ b/drivers/mtd/maps/sa1100-flash.c
+@@ -206,6 +206,7 @@ static int sa1100_probe_subdev(struct sa_subdev_info *subdev, struct resource *r
+ 		goto err;
+ 	}
+ 	subdev->mtd->owner = THIS_MODULE;
++	subdev->mtd->unlock(subdev->mtd, 0xc0000, subdev->mtd->size - 0xc0000);
+ 
+ 	printk(KERN_INFO "SA1100 flash: CFI device at 0x%08lx, %uMiB, %d-bit\n",
+ 		phys, (unsigned)(subdev->mtd->size >> 20),
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/mcp-device.patch b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/mcp-device.patch
new file mode 100644
index 0000000..9a0a8ba
--- /dev/null
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/mcp-device.patch
@@ -0,0 +1,13 @@
+--- a/include/linux/mfd/mcp.h	2013-02-18 00:14:09.000000000 +0100
++++ b/include/linux/mfd/mcp.h	2013-02-17 23:55:52.000000000 +0100
+@@ -10,6 +10,8 @@
+ #ifndef MCP_H
+ #define MCP_H
+ 
++#include <linux/device.h>
++
+ struct mcp_ops;
+ 
+ struct mcp {
+
+
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.2.bbappend b/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.2.bbappend
index 6ab9f2f..7f03732 100644
--- a/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.2.bbappend
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.2.bbappend
@@ -34,12 +34,16 @@ SRC_URI_append_c7x0 = " \
 SRC_URI_append_collie = " \
            file://collie-tiny.scc \
            file://collie-kexecboot.cfg \
-           file://qvga/logo_linux_clut224.ppm.bz2 \
            file://0001-pcmcia-pxa2xx_sharpsl-retain-ops-structure-on-collie.patch \
            file://locomo_kbd_tweak-r2.patch \
            file://collie_remove_irq_to_gpio.patch \
+           file://mcp-device.patch \
+           file://collie-jedec-probe.patch \
+           file://collie-eraseinfo.patch \
+           file://qvga/logo_linux_clut224.ppm.bz2 \
            file://revert-check-on-console-device.patch \
            "
+#           file://collie-mtd-rw.patch
 
 SRC_URI_append_poodle = " \
            file://poodle-tiny.scc \
diff --git a/recipes-kernel/linux/linux-yocto_3.2.bbappend b/recipes-kernel/linux/linux-yocto_3.2.bbappend
index a4ff596..6b765d5 100644
--- a/recipes-kernel/linux/linux-yocto_3.2.bbappend
+++ b/recipes-kernel/linux/linux-yocto_3.2.bbappend
@@ -27,8 +27,12 @@ SRC_URI_append_collie = " \
            file://qvga/logo_linux_clut224.ppm.bz2 \
            file://0001-pcmcia-pxa2xx_sharpsl-retain-ops-structure-on-collie.patch \
            file://collie_remove_irq_to_gpio.patch \
+           file://mcp-device.patch \
+           file://collie-jedec-probe.patch \
+           file://collie-eraseinfo.patch \
            file://locomo_kbd_tweak-r2.patch \
            "
+#           file://collie-mtd-rw.patch
 
 SRC_URI_append_poodle = " \
            file://poodle-standard.scc \
-- 
1.7.12.4





More information about the Openembedded-devel mailing list