summaryrefslogtreecommitdiff
path: root/packages/linux/linux-ezx-2.6.21
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-ezx-2.6.21')
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a1200/defconfig6
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a780/defconfig6
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/e680/defconfig6
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch64
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch6
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch13
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch8
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch64
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch8
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-core.patch58
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch268
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/index.html8
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/series7
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/rokre2/defconfig6
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/rokre6/defconfig6
15 files changed, 186 insertions, 348 deletions
diff --git a/packages/linux/linux-ezx-2.6.21/a1200/defconfig b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
index 929eae4d5c..074d70244b 100755
--- a/packages/linux/linux-ezx-2.6.21/a1200/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
@@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
@@ -1313,12 +1313,12 @@ CONFIG_RTC_DRV_SA1100=m
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
diff --git a/packages/linux/linux-ezx-2.6.21/a780/defconfig b/packages/linux/linux-ezx-2.6.21/a780/defconfig
index f79aaa7e7d..30f9f72174 100755
--- a/packages/linux/linux-ezx-2.6.21/a780/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/a780/defconfig
@@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
@@ -1317,12 +1317,12 @@ CONFIG_RTC_DRV_SA1100=m
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
diff --git a/packages/linux/linux-ezx-2.6.21/e680/defconfig b/packages/linux/linux-ezx-2.6.21/e680/defconfig
index 94947cceb3..9a30ce673f 100755
--- a/packages/linux/linux-ezx-2.6.21/e680/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/e680/defconfig
@@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
@@ -1311,12 +1311,12 @@ CONFIG_RTC_DRV_SA1100=m
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=n
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
index e6146058a0..77aec1c629 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-eoc.patch
@@ -1,73 +1,15 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:38:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:48:23.000000000 -0300
-@@ -25,6 +25,7 @@
- #include <asm/arch/mmc.h>
-
- #include "generic.h"
-+#include "ezx-eoc.h"
-
- extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
- extern void ezx_backlight_power(int);
-@@ -203,8 +204,65 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-24 20:14:54.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-24 20:15:18.000000000 -0300
+@@ -203,8 +203,15 @@
},
};
+
-+/* EOC */
-+static const unsigned int tab_init_eoc_reg[][2] =
-+{
-+ {POWER_IC_REG_EOC_INT_MASK, 0x00000FEF},
-+ {POWER_IC_REG_EOC_POWER_CONTROL_0, 0x00000C00},
-+ {POWER_IC_REG_EOC_POWER_CONTROL_1, 0x0000000C},
-+ {POWER_IC_REG_EOC_CONN_CONTROL, 0x00021044},
-+};
-+
-+static void dump_eoc_registers(void)
-+{
-+ int i, val = 0;
-+
-+ printk("========DUMP EOC=========\n");
-+ for (i = 0; i < POWER_IC_REG_EOC_NUM; i++) {
-+ eoc_reg_read(i, &val);
-+ printk("eoc_registers[%d] = 0x%08X\n", i, val);
-+ }
-+ printk("========END DUMP=========\n");
-+}
-+
-+/*
-+ * FIXME: The same about the PCAP driver applies here.
-+ * This is the initial state only.
-+ * Which bits does the change to USB/UART/AUDIO mode?
-+ * I think that this is causing the crash on pxa27x-udc
-+ * you are setting the 'port connected' bit, and thats why
-+ * you are getting interrupts early.
-+ * --WM
-+ */
-+
-+static int __init a1200_eoc_init(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < sizeof(tab_init_eoc_reg)/sizeof(unsigned int)/2; i++)
-+ {
-+ eoc_reg_write(tab_init_eoc_reg[i][0], tab_init_eoc_reg[i][1]);
-+ }
-+ dump_eoc_registers();
-+ return 0;
-+}
-+
-+static struct ezx_eoc_platform_data a1200_eoc_platform_data = {
-+ .init = a1200_eoc_init,
-+};
-+
+struct platform_device a1200_eoc_device = {
+ .name = "ezx-eoc",
+ .id = -1,
-+ .dev = {
-+ .platform_data = &a1200_eoc_platform_data,
-+ },
+};
+
static struct platform_device *devices[] __initdata = {
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch
index 15d87f7751..fc51773205 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-flip.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:28:02.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:31:40.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:53.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:01:06.000000000 -0300
@@ -16,6 +16,7 @@
#include <linux/mmc/host.h>
#include <linux/irq.h>
@@ -10,7 +10,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
-@@ -343,11 +344,34 @@
+@@ -292,11 +293,34 @@
.num_resources = ARRAY_SIZE(pcap_ts_resources),
.resource = pcap_ts_resources,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch
index be1a6f11f7..5771f6d359 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-kbd.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 11:48:10.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:24:58.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 00:03:01.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:40.000000000 -0300
@@ -15,6 +15,7 @@
#include <linux/fb.h>
#include <linux/mmc/host.h>
@@ -10,14 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
-@@ -23,12 +24,14 @@
+@@ -23,11 +24,13 @@
#include <asm/arch/ezx.h>
#include <asm/arch/ezx-pcap.h>
#include <asm/arch/mmc.h>
+#include <asm/arch/kbd.h>
#include "generic.h"
- #include "ezx-eoc.h"
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -25,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
#ifdef CONFIG_EZX_PCAP
extern int ezx_pcap_mmcsd_power(int);
-@@ -284,6 +287,63 @@
- .resource = pcap_ts_resources,
+@@ -209,6 +212,63 @@
+ .id = -1,
};
+/* Keypad */
@@ -89,7 +88,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
static struct platform_device *devices[] __initdata = {
&a1200_pcap_device,
&a1200_eoc_device,
-@@ -294,6 +354,7 @@
+@@ -218,6 +278,7 @@
{
set_pxa_fb_info(&a1200_fb_info);
pxa_set_mci_info(&a1200_mci_platform_data);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
index 2327257507..bf328cd931 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
@@ -1,11 +1,11 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:50:31.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-21 21:51:06.000000000 -0300
-@@ -260,9 +260,34 @@
- },
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:40.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-25 02:00:53.000000000 -0300
+@@ -269,9 +269,34 @@
};
+
+/* PCAP_TS */
+struct resource pcap_ts_resources[] = {
+ [0] = {
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
index f6e152c735..3824079c15 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e6-eoc.patch
@@ -1,73 +1,15 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:38:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:49:42.000000000 -0300
-@@ -25,6 +25,7 @@
- #include <asm/arch/mmc.h>
-
- #include "generic.h"
-+#include "ezx-eoc.h"
-
- extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
- extern void ezx_backlight_power(int);
-@@ -203,8 +204,65 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-24 20:14:54.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-24 20:15:18.000000000 -0300
+@@ -203,8 +203,15 @@
},
};
+
-+/* EOC */
-+static const unsigned int tab_init_eoc_reg[][2] =
-+{
-+ {POWER_IC_REG_EOC_INT_MASK, 0x00000FEF},
-+ {POWER_IC_REG_EOC_POWER_CONTROL_0, 0x00000C00},
-+ {POWER_IC_REG_EOC_POWER_CONTROL_1, 0x0000000C},
-+ {POWER_IC_REG_EOC_CONN_CONTROL, 0x00021044},
-+};
-+
-+static void dump_eoc_registers(void)
-+{
-+ int i, val = 0;
-+
-+ printk("========DUMP EOC=========\n");
-+ for (i = 0; i < POWER_IC_REG_EOC_NUM; i++) {
-+ eoc_reg_read(i, &val);
-+ printk("eoc_registers[%d] = 0x%08X\n", i, val);
-+ }
-+ printk("========END DUMP=========\n");
-+}
-+
-+/*
-+ * FIXME: The same about the PCAP driver applies here.
-+ * This is the initial state only.
-+ * Which bits does the change to USB/UART/AUDIO mode?
-+ * I think that this is causing the crash on pxa27x-udc
-+ * you are setting the 'port connected' bit, and thats why
-+ * you are getting interrupts early.
-+ * --WM
-+ */
-+
-+static int __init e6_eoc_init(void)
-+{
-+ int i;
-+
-+ for (i = 0; i < sizeof(tab_init_eoc_reg)/sizeof(unsigned int)/2; i++)
-+ {
-+ eoc_reg_write(tab_init_eoc_reg[i][0], tab_init_eoc_reg[i][1]);
-+ }
-+ dump_eoc_registers();
-+ return 0;
-+}
-+
-+static struct ezx_eoc_platform_data e6_eoc_platform_data = {
-+ .init = e6_eoc_init,
-+};
-+
+struct platform_device e6_eoc_device = {
+ .name = "ezx-eoc",
+ .id = -1,
-+ .dev = {
-+ .platform_data = &e6_eoc_platform_data,
-+ },
+};
+
static struct platform_device *devices[] __initdata = {
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
index a39b782300..ad4a52eeec 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e6-ts.patch
@@ -1,9 +1,9 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:50:31.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-21 21:51:40.000000000 -0300
-@@ -260,9 +260,34 @@
- },
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e6.c 2007-09-25 00:03:01.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-25 02:00:58.000000000 -0300
+@@ -209,9 +209,34 @@
+ .id = -1,
};
+/* PCAP_TS */
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
index e85a40d1a9..711a8a467b 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-09-23 11:17:06.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-09-23 13:27:06.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-09-23 13:27:19.000000000 -0300
@@ -53,3 +53,6 @@
str r1, [r0, #0x18]
#endif
@@ -11,8 +11,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
+#endif
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-23 11:18:47.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-23 13:27:06.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-23 13:27:19.000000000 -0300
@@ -37,6 +37,10 @@
bool "Keith und Koep Trizeps4 DIMM-Module"
select PXA27x
@@ -68,8 +68,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
endif
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-23 11:18:47.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-23 13:27:06.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-23 13:27:19.000000000 -0300
@@ -18,6 +18,12 @@
obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
@@ -86,7 +86,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-09-23 11:18:47.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,118 @@
+/*
+ * ezx.c - Common code for EZX platform.
@@ -209,7 +209,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-09-23 11:17:06.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,225 @@
+/*
+ * linux/include/asm-arm/arch-pxa/ezx.h
@@ -438,9 +438,9 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
+
Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 11:17:06.000000000 -0300
-@@ -849,6 +849,8 @@
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 13:27:13.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-09-23 13:27:19.000000000 -0300
+@@ -856,6 +856,8 @@
#define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */
#define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */
@@ -449,7 +449,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define UDCCSN(x) __REG2(0x40600100, (x) << 2)
#define UDCCSR0 __REG(0x40600100) /* UDC Control/Status register - Endpoint 0 */
#define UDCCSR0_SA (1 << 7) /* Setup Active */
-@@ -1252,6 +1254,7 @@
+@@ -1259,6 +1261,7 @@
#define GPIO33_nCS_5 33 /* chip select 5 */
#define GPIO34_FFRXD 34 /* FFUART receive */
#define GPIO34_MMCCS0 34 /* MMC Chip Select 0 */
@@ -457,7 +457,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO35_FFCTS 35 /* FFUART Clear to send */
#define GPIO36_FFDCD 36 /* FFUART Data carrier detect */
#define GPIO37_FFDSR 37 /* FFUART data set ready */
-@@ -1365,6 +1368,7 @@
+@@ -1372,6 +1375,7 @@
#define GPIO18_RDY_MD (18 | GPIO_ALT_FN_1_IN)
#define GPIO19_DREQ1_MD (19 | GPIO_ALT_FN_1_IN)
#define GPIO20_DREQ0_MD (20 | GPIO_ALT_FN_1_IN)
@@ -465,7 +465,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO23_SCLK_MD (23 | GPIO_ALT_FN_2_OUT)
#define GPIO24_SFRM_MD (24 | GPIO_ALT_FN_2_OUT)
#define GPIO25_STXD_MD (25 | GPIO_ALT_FN_2_OUT)
-@@ -1375,23 +1379,33 @@
+@@ -1382,23 +1386,33 @@
#define GPIO28_BITCLK_OUT_I2S_MD (28 | GPIO_ALT_FN_1_OUT)
#define GPIO29_SDATA_IN_AC97_MD (29 | GPIO_ALT_FN_1_IN)
#define GPIO29_SDATA_IN_I2S_MD (29 | GPIO_ALT_FN_2_IN)
@@ -499,7 +499,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO41_FFRTS_MD (41 | GPIO_ALT_FN_2_OUT)
#define GPIO42_BTRXD_MD (42 | GPIO_ALT_FN_1_IN)
#define GPIO42_HWRXD_MD (42 | GPIO_ALT_FN_3_IN)
-@@ -1416,13 +1430,17 @@
+@@ -1423,13 +1437,17 @@
#define GPIO51_HWRTS_MD (51 | GPIO_ALT_FN_1_OUT)
#define GPIO51_nPIOW_MD (51 | GPIO_ALT_FN_2_OUT)
#define GPIO52_nPCE_1_MD (52 | GPIO_ALT_FN_2_OUT)
@@ -517,7 +517,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO57_nIOIS16_MD (57 | GPIO_ALT_FN_1_IN)
#define GPIO58_LDD_0_MD (58 | GPIO_ALT_FN_2_OUT)
#define GPIO59_LDD_1_MD (59 | GPIO_ALT_FN_2_OUT)
-@@ -1458,13 +1476,19 @@
+@@ -1465,13 +1483,19 @@
#define GPIO80_nCS_4_MD (80 | GPIO_ALT_FN_2_OUT)
#define GPIO81_NSSP_CLK_OUT (81 | GPIO_ALT_FN_1_OUT)
#define GPIO81_NSSP_CLK_IN (81 | GPIO_ALT_FN_1_IN)
@@ -537,7 +537,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT)
#define GPIO102_nPCE_1_MD (102 | GPIO_ALT_FN_1_OUT)
#define GPIO104_pSKTSEL_MD (104 | GPIO_ALT_FN_1_OUT)
-@@ -1476,6 +1500,7 @@
+@@ -1483,6 +1507,7 @@
#define GPIO112_MMCCMD_MD (112 | GPIO_ALT_FN_1_OUT)
#define GPIO113_I2S_SYSCLK_MD (113 | GPIO_ALT_FN_1_OUT)
#define GPIO113_AC97_RESET_N_MD (113 | GPIO_ALT_FN_2_OUT)
@@ -545,7 +545,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define GPIO117_I2CSCL_MD (117 | GPIO_ALT_FN_1_IN)
#define GPIO118_I2CSDA_MD (118 | GPIO_ALT_FN_1_IN)
-@@ -1491,6 +1516,7 @@
+@@ -1498,6 +1523,7 @@
#define PFER __REG(0x40F00014) /* Power Manager GPIO Falling-Edge Detect Enable Register */
#define PEDR __REG(0x40F00018) /* Power Manager GPIO Edge Detect Status Register */
#define PCFR __REG(0x40F0001C) /* Power Manager General Configuration Register */
@@ -555,8 +555,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define PGSR2 __REG(0x40F00028) /* Power Manager GPIO Sleep State Register for GP[84-64] */
Index: linux-2.6.21/arch/arm/boot/compressed/head.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-09-23 11:17:06.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-09-23 13:27:06.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-09-23 13:27:19.000000000 -0300
@@ -117,6 +117,9 @@
mov r0, r0
.endr
@@ -569,8 +569,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head.S
.word start @ absolute load/run zImage address
Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 11:17:06.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 13:27:06.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-09-23 13:27:19.000000000 -0300
@@ -14,14 +14,14 @@
#define STUART ((volatile unsigned long *)0x40700000)
#define HWUART ((volatile unsigned long *)0x41600000)
@@ -591,8 +591,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
/*
Index: linux-2.6.21/arch/arm/mm/init.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-09-23 11:16:58.000000000 -0300
-+++ linux-2.6.21/arch/arm/mm/init.c 2007-09-23 11:17:06.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-09-23 13:27:07.000000000 -0300
++++ linux-2.6.21/arch/arm/mm/init.c 2007-09-23 13:27:19.000000000 -0300
@@ -241,6 +241,10 @@
*/
reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT,
@@ -607,7 +607,7 @@ Index: linux-2.6.21/arch/arm/mm/init.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-09-23 11:17:06.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,88 @@
+/*
+ * ezx-a780.c - Code specific to A780 GSM Phone.
@@ -700,7 +700,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-09-23 11:20:03.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e2.c - Code specific to E2 GSM Phone.
@@ -775,7 +775,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-23 11:17:06.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,87 @@
+/*
+ * ezx-e680.c - Code specific to E680 GSM Phone.
@@ -867,7 +867,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 11:19:29.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-a1200.c - Code specific to A1200 GSM Phone.
@@ -942,7 +942,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-23 11:19:52.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-09-23 13:27:19.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e6.c - Code specific to E6 GSM Phone.
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
index 293251423c..bf93ebc854 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-eoc.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-23 09:31:23.000000000 -0300
-@@ -0,0 +1,272 @@
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c 2007-09-24 23:40:45.000000000 -0300
+@@ -0,0 +1,260 @@
+/*
+ * EZX EOC Driver for Motorola EZX phones
+ *
@@ -21,8 +21,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+#include <asm/arch/hardware.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/ezx.h>
-+
-+#include "ezx-eoc.h"
++#include <asm/arch/udc.h>
+
+#if 1
+#define EOC_DBG printk
@@ -30,26 +29,23 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+#define EOC_DBG(x, args...)
+#endif
+
++#define REG_INT_STATUS 32
++#define REG_INT_MASK 33
++#define REG_INT_SENSE 34
++#define REG_POWER_CONTROL_0 35
++#define REG_POWER_CONTROL_1 36
++#define REG_CONN_CONTROL 37
++
+#define EOC_REG_ADDR_SIZE 1
+#define EOC_REG_DATA_SIZE 3
-+#define I2C_DRIVERID_EOC 2100
++#define EOC_FUNC_NOTHING 0
++#define EOC_FUNC_USB_NET 1
+
-+struct ezx_eoc_platform_data *pdata;
-+static int eoc_func = EOC_FUNC_USB_NET;
+static const char eoc_i2c_driver_name[] = "ezx-eoc";
-+
-+/* Addresses to scan */
-+static unsigned short normal_i2c[] = {
-+ 0x17, /* Address for version 2.0 and above */
-+ // 0x7C, /* Address for versions prior too 2.0 */
-+ I2C_CLIENT_END
-+};
-+
-+/* I2C Magic */
-+I2C_CLIENT_INSMOD;
++static int eoc_func = EOC_FUNC_USB_NET;
++static struct pxa2xx_udc_mach_info ezx_udc_info;
+
+static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter);
-+static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind);
+static int ezx_eoc_detach_client(struct i2c_client *client);
+
+static struct i2c_client *eoc_i2c_client = NULL;
@@ -58,82 +54,68 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ .driver = {
+ .name = (char *)eoc_i2c_driver_name,
+ },
-+ .id = I2C_DRIVERID_EOC,
+ .attach_adapter = ezx_eoc_attach_adapter,
+ .detach_client = ezx_eoc_detach_client,
+};
+
+int eoc_reg_read(int reg, unsigned int *reg_value)
+{
-+ unsigned char reg_num = reg;
-+ unsigned char value[EOC_REG_DATA_SIZE];
-+ int retval;
-+
-+ struct i2c_msg msgs[2] =
-+ {
-+ { 0, 0, EOC_REG_ADDR_SIZE, &reg_num },
-+ { 0, I2C_M_RD, EOC_REG_DATA_SIZE, value }
-+ };
-+
-+ /* check if we have initialized */ /*not necessary --WM
-+ if (eoc_i2c_client == NULL)
-+ {
-+ EOC_DBG("eoc_reg_read: not initialized\n");
-+ return -EINVAL;
-+ }
-+*/
-+ msgs[0].addr = msgs[1].addr = eoc_i2c_client->addr;
-+
-+ /* transfer message to client */
-+ retval = i2c_transfer(eoc_i2c_client->adapter, msgs, 2);
-+ if (retval >= 0)
-+ {
-+ *reg_value = (value[2] << 0);
-+ *reg_value |= (value[1] << 8);
-+ *reg_value |= (value[0] << 16);
-+ }
-+ return retval;
++ unsigned char reg_num = reg;
++ unsigned char value[EOC_REG_DATA_SIZE];
++ int retval;
++
++ struct i2c_msg msgs[2] =
++ {
++ { eoc_i2c_client->addr, 0, EOC_REG_ADDR_SIZE, &reg_num },
++ { eoc_i2c_client->addr, I2C_M_RD, EOC_REG_DATA_SIZE, value }
++ };
++
++ /* transfer message to client */
++ retval = i2c_transfer(eoc_i2c_client->adapter, msgs, 2);
++ if (retval < 0)
++ return retval;
++
++ *reg_value = (value[2] << 0);
++ *reg_value |= (value[1] << 8);
++ *reg_value |= (value[0] << 16);
++ return 0;
+}
-+EXPORT_SYMBOL_GPL(eoc_reg_read);
+
+int eoc_reg_write(int reg, unsigned int reg_value)
+{
-+ unsigned char value[EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE];
-+ int retval;
-+
-+ /* check if we have initialized */ /*not necessary --WM
-+ if (eoc_i2c_client == NULL)
-+ {
-+ EOC_DBG("eoc_reg_write: not initialized\n");
-+ return -EINVAL;
-+ }
-+*/
-+ /* Copy the data into a buffer into the correct format */
-+ value[0] = reg;
-+ value[1] = (reg_value >> 16) & 0xFF;
-+ value[2] = (reg_value >> 8) & 0xFF;
-+ value[3] = (reg_value >> 0) & 0xFF;
-+
-+ /* Write the data to the EOC */
-+ retval = i2c_master_send (eoc_i2c_client, value, EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE);
-+
-+ return retval;
++ unsigned char value[EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE];
++ int retval;
++
++ /* Copy the data into a buffer into the correct format */
++ value[0] = reg;
++ value[1] = (reg_value >> 16) & 0xFF;
++ value[2] = (reg_value >> 8) & 0xFF;
++ value[3] = (reg_value >> 0) & 0xFF;
++
++ /* Write the data to the EOC */
++ retval = i2c_master_send (eoc_i2c_client, value, EOC_REG_ADDR_SIZE + EOC_REG_DATA_SIZE);
++ if (retval < 0)
++ return retval;
++ return 0;
+}
-+EXPORT_SYMBOL_GPL(eoc_reg_write);
+
+static void eoc_switch_to_usb(void)
+{
++ EOC_DBG("EOC: Switching to USB\n");
+ pxa_gpio_mode(GPIO34_USB_P2_2_MD);
+ pxa_gpio_mode(GPIO35_USB_P2_1_MD);
+ pxa_gpio_mode(GPIO36_USB_P2_4_MD);
+ pxa_gpio_mode(GPIO39_USB_P2_6_MD);
+ pxa_gpio_mode(GPIO40_USB_P2_5_MD);
+ pxa_gpio_mode(GPIO53_USB_P2_3_MD);
-+ EOC_DBG("ALEX;*********************************************emu_switch_to_usb;\n");
++ UP2OCR = 0x02000000;
++ /* FIXME change eoc bits to USB */
++
+}
+
+static void eoc_switch_to_nothing(void)
+{
++ EOC_DBG("EOC: Switching do disconnected\n");
+ pxa_gpio_mode(GPIO34_TXENB | GPIO_OUT);
+ set_GPIO(GPIO34_TXENB);
+ pxa_gpio_mode(GPIO35_XRXD | GPIO_IN);
@@ -141,6 +123,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ pxa_gpio_mode(GPIO39_VPOUT | GPIO_IN);
+ pxa_gpio_mode(GPIO40_VPIN | GPIO_IN);
+ pxa_gpio_mode(GPIO53_VMIN | GPIO_IN);
++ /* FIXME disconnect mini usb port */
+}
+
+static void eoc_switch_to_default(void)
@@ -155,77 +138,56 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ }
+}
+
-+int x = 0;
+static int ezx_eoc_attach_adapter(struct i2c_adapter *adapter)
+{
-+ if (!x) {
-+ x++;
-+ return i2c_probe(adapter, &addr_data, ezx_eoc_detect);
-+ }
-+ return -1;
-+}
-+
-+/* This function is called by i2c_probe */
-+static int ezx_eoc_detect(struct i2c_adapter *adapter, int address, int kind)
-+{
-+ struct i2c_client *new_client;
+ int err = 0;
++ EOC_DBG(">>>>attach adapter enter\n");
++
++ if (eoc_i2c_client != NULL) {
++ EOC_DBG(">>>>already loaded!!!\n");
++ return 0;
++ }
+
-+ if (!(new_client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL)))
++ if (!(eoc_i2c_client = kmalloc(sizeof(struct i2c_client), GFP_KERNEL)))
+ return -ENOMEM;
+
-+ new_client->addr = address;
-+ new_client->adapter = adapter;
-+ new_client->driver = &eoc_i2c_driver;
-+ new_client->flags = 0;
-+ strlcpy(new_client->name, eoc_i2c_driver_name, I2C_NAME_SIZE);
++ eoc_i2c_client->addr = 0x17;
++ eoc_i2c_client->adapter = adapter;
++ eoc_i2c_client->driver = &eoc_i2c_driver;
++ eoc_i2c_client->flags = 0;
++ strlcpy(eoc_i2c_client->name, eoc_i2c_driver_name, I2C_NAME_SIZE);
+
-+ if ((err = i2c_attach_client(new_client))) {
-+ kfree(new_client);
++ if ((err = i2c_attach_client(eoc_i2c_client))) {
++ kfree(eoc_i2c_client);
++ eoc_i2c_client = NULL;
+ return err;
+ }
-+
-+ eoc_i2c_client = new_client;
-+
-+ if (pdata && pdata->init)
-+ pdata->init();
++ eoc_reg_write(REG_INT_MASK, 0x0000FEF);
++ eoc_reg_write(REG_POWER_CONTROL_0, 0x0000C00);
++ eoc_reg_write(REG_POWER_CONTROL_1, 0x000000C);
++ eoc_reg_write(REG_CONN_CONTROL,0x0021044);
+
+ eoc_switch_to_default();
-+
++ EOC_DBG(">>>>attach adapter exit\n");
+ return 0;
++
+}
+
+static int ezx_eoc_detach_client(struct i2c_client *client)
+{
-+ int err;
-+
-+ err = i2c_detach_client(client);
-+ if (err)
-+ return err;
-+
-+ return 0;
++ return i2c_detach_client(client);
+}
+
+static int __init ezx_eoc_probe(struct platform_device *dev)
+{
+ int ret;
+
-+ pdata = dev->dev.platform_data;
-+
+ ret = i2c_add_driver(&eoc_i2c_driver);
+ if (ret != 0)
+ return -EINVAL;
+
-+ /*
-+ * I think we should save platform_data and call init and eoc_switch
-+ * from ezx_eoc_detect, after client is setup.
-+ * And there is no need for all the "check if initialised" checks if
-+ * you assure that you only call read/write after the client is set.
-+ * Probably, this was causing the crash on i2c-core too.
-+ * --WM
-+ */
++ pxa_set_udc_info(&ezx_udc_info);
+
-+ /* FIXME: should set udc_info here -WM */
+ return 0;
+}
+
@@ -246,6 +208,34 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+ return 0;
+}
+
++/* USB Device Controller */
++static int udc_connected_status;
++static void ezx_udc_command(int cmd)
++{
++ switch (cmd) {
++ case PXA2XX_UDC_CMD_DISCONNECT:
++ printk(KERN_NOTICE "USB cmd disconnect\n");
++// ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_USB_PU,0);
++ udc_connected_status = 0;
++ break;
++ case PXA2XX_UDC_CMD_CONNECT:
++ printk(KERN_NOTICE "USB cmd connect\n");
++// ezx_pcap_bit_set(PCAP_BIT_BUSCTRL_USB_PU,1);
++ udc_connected_status = 1;
++ break;
++ }
++}
++
++static int ezx_udc_is_connected(void)
++{
++ return udc_connected_status;
++}
++
++static struct pxa2xx_udc_mach_info ezx_udc_info __initdata = {
++ .udc_is_connected = ezx_udc_is_connected,
++ .udc_command = ezx_udc_command,
++};
++
+static struct platform_driver ezx_eoc_driver = {
+ .probe = ezx_eoc_probe,
+ .remove = ezx_eoc_remove,
@@ -271,52 +261,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.c
+MODULE_DESCRIPTION("EZX EOC I2C driver");
+MODULE_LICENSE("GPL");
+
-+/* doesnt module_init work?? -WM */
-+late_initcall(ezx_eoc_init);
-+//module_init(ezx_eoc_init);
++module_init(ezx_eoc_init);
+module_exit(ezx_eoc_exit);
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-eoc.h 2007-09-22 14:12:05.000000000 -0300
-@@ -0,0 +1,33 @@
-+/*
-+ * linux/arch/arm/mach-pxa/ezx-eoc.h
-+ *
-+ * Copyright (C) Alex Zhang <celeber2@gmail.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#ifndef __EZX_EOC_H__
-+#define __EZX_EOC_H__
-+
-+enum {
-+ POWER_IC_REG_EOC_INT_STATUS,
-+ POWER_IC_REG_EOC_INT_MASK,
-+ POWER_IC_REG_EOC_INT_SENSE,
-+ POWER_IC_REG_EOC_POWER_CONTROL_0,
-+ POWER_IC_REG_EOC_POWER_CONTROL_1,
-+ POWER_IC_REG_EOC_CONN_CONTROL,
-+ POWER_IC_REG_EOC_NUM
-+};
-+
-+enum {
-+ EOC_FUNC_NOTHING,
-+ EOC_FUNC_USB_NET,
-+};
-+
-+struct ezx_eoc_platform_data {
-+ int (*init)(void);
-+};
-+
-+#endif /* __EZX_EOC_H__ */
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-22 14:12:05.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-22 14:12:05.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-09-24 20:15:00.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-09-24 20:15:16.000000000 -0300
@@ -108,6 +108,12 @@
config EZX_PCAP
bool "PCAP Support"
@@ -332,8 +282,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
depends on EZX_PCAP
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-22 14:12:05.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-22 14:12:05.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-09-24 20:15:00.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-09-24 20:15:16.000000000 -0300
@@ -27,6 +27,7 @@
obj-$(CONFIG_EZX_BP) += ezx-bp.o
obj-$(CONFIG_EZX_PCAP) += ezx-pcap.o
diff --git a/packages/linux/linux-ezx-2.6.21/patches/index.html b/packages/linux/linux-ezx-2.6.21/patches/index.html
index bbbb40d590..6cd7a62548 100644
--- a/packages/linux/linux-ezx-2.6.21/patches/index.html
+++ b/packages/linux/linux-ezx-2.6.21/patches/index.html
@@ -1,10 +1,12 @@
-<html><head><title>Revision 2059: /trunk/src/kernel-2.6/patches</title></head>
+<html><head><title>Revision 2064: /trunk/src/kernel-2.6/patches</title></head>
<body>
- <h2>Revision 2059: /trunk/src/kernel-2.6/patches</h2>
+ <h2>Revision 2064: /trunk/src/kernel-2.6/patches</h2>
<ul>
<li><a href="../">..</a></li>
<li><a href="Makefile.OpenEZX">Makefile.OpenEZX</a></li>
<li><a href="a1200-eoc.patch">a1200-eoc.patch</a></li>
+ <li><a href="a1200-flip.patch">a1200-flip.patch</a></li>
+ <li><a href="a1200-kbd.patch">a1200-kbd.patch</a></li>
<li><a href="a1200-mci.patch">a1200-mci.patch</a></li>
<li><a href="a1200-pcap.patch">a1200-pcap.patch</a></li>
<li><a href="a1200-ts.patch">a1200-ts.patch</a></li>
@@ -46,7 +48,6 @@
<li><a href="ezx-pcap.patch">ezx-pcap.patch</a></li>
<li><a href="ezx-pm.patch">ezx-pm.patch</a></li>
<li><a href="ezx-serial-bug-workaround.patch">ezx-serial-bug-workaround.patch</a></li>
- <li><a href="i2c-core-fix-a1200.patch">i2c-core-fix-a1200.patch</a></li>
<li><a href="mtdfix.patch">mtdfix.patch</a></li>
<li><a href="mux-fix-init-errorpath.patch">mux-fix-init-errorpath.patch</a></li>
<li><a href="mux-fix-makefile.patch">mux-fix-makefile.patch</a></li>
@@ -64,6 +65,7 @@
<li><a href="pxa-kbd.patch">pxa-kbd.patch</a></li>
<li><a href="pxa27x-udc-fix-a1200.patch">pxa27x-udc-fix-a1200.patch</a></li>
<li><a href="pxa27x-udc-support.2.patch">pxa27x-udc-support.2.patch</a></li>
+ <li><a href="pxa27x_overlay-r5.patch">pxa27x_overlay-r5.patch</a></li>
<li><a href="series">series</a></li>
</ul>
<hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.1.4 (r13838).</em>
diff --git a/packages/linux/linux-ezx-2.6.21/patches/series b/packages/linux/linux-ezx-2.6.21/patches/series
index aa95fcbc78..99f95a6c07 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/series
+++ b/packages/linux/linux-ezx-2.6.21/patches/series
@@ -1,5 +1,6 @@
patch-2.6.21.4
mtdfix.patch
+pxa27x_overlay-r5.patch
ezx-core.patch
# ezx-core TODO: should be ezx-common
@@ -42,6 +43,7 @@ ezx-emu.patch
a780-emu.patch
e680-emu.patch
+pxa27x-udc-fix-a1200.patch #(see ezx-a1200.c)
ezx-eoc.patch
a1200-eoc.patch
e6-eoc.patch
@@ -53,6 +55,7 @@ ezx-serial-bug-workaround.patch
pxa-kbd.patch
a780-kbd.patch
e680-kbd.patch
+a1200-kbd.patch
pcap-ts.patch
a780-ts.patch
@@ -64,6 +67,7 @@ ezx-backlight.patch
a780-flip.patch
e680-locksw.patch
+a1200-flip.patch
a780-leds.patch
e680-leds.patch
@@ -97,7 +101,6 @@ ezx-asoc.patch
# pxa-ohci, ts0710_mux, ts0710_mux_usb, ezx-bp
# the folowing break too much stuff on other phones.
-# i2c-core-fix-a1200.patch (see ezx-eoc.c)
-# pxa27x-udc-fix-a1200.patch (see ezx-a1200.c)
# incomplete
+
diff --git a/packages/linux/linux-ezx-2.6.21/rokre2/defconfig b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
index 8d0f391c08..7e22a3c371 100755
--- a/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/rokre2/defconfig
@@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
@@ -1310,12 +1310,12 @@ CONFIG_RTC_DRV_SA1100=m
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
diff --git a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
index 7bafcf81f1..8201825d75 100755
--- a/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
+++ b/packages/linux/linux-ezx-2.6.21/rokre6/defconfig
@@ -45,7 +45,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
@@ -1313,12 +1313,12 @@ CONFIG_RTC_DRV_SA1100=m
#
# File systems
#
-CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS=n
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y