From 39e146187adddf62ee64d2a9821325a5202922af Mon Sep 17 00:00:00 2001 From: Philippe De Swert Date: Thu, 26 Apr 2007 11:22:25 +0000 Subject: gpe-mininet: added new svn build recipe packages/gpe-mininet/gpe-mininet_svn.bb * new svn build recipe --- packages/gpe-mininet/gpe-mininet_svn.bb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 packages/gpe-mininet/gpe-mininet_svn.bb diff --git a/packages/gpe-mininet/gpe-mininet_svn.bb b/packages/gpe-mininet/gpe-mininet_svn.bb new file mode 100644 index 0000000000..1acca052fd --- /dev/null +++ b/packages/gpe-mininet/gpe-mininet_svn.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "GPE network connection checker" +SECTION = "gpe" +LICENSE = "GPL" +DEPENDS = "libgpewidget gpe-icons gpe-conf" +RRECOMMENDS = "gpe-conf" +PR = "r0" +PV = "0.7+svn-${SRCDATE}" + +inherit autotools pkgconfig + +SRC_URI = "${GPE_EXTRA_SVN}" + +S = "${WORKDIR}/${PN}" + +FILES_${PN} = " ${bindir} ${datadir}/pixmaps ${datadir}/applications" +FILES_${PN} += " ${datadir}/gpe/pixmaps" + +DEFAULT_PREFERENCE = "-1" -- cgit v1.2.3 From 3b4a6fb3ae5695a951427b4cf502977ef843be5d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 1 May 2007 18:17:26 +0000 Subject: glibc: also add strlen patch to glibc-2.4 dir --- packages/glibc/glibc-2.4/armeb-strlen.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 packages/glibc/glibc-2.4/armeb-strlen.patch diff --git a/packages/glibc/glibc-2.4/armeb-strlen.patch b/packages/glibc/glibc-2.4/armeb-strlen.patch new file mode 100644 index 0000000000..69a2e59d30 --- /dev/null +++ b/packages/glibc/glibc-2.4/armeb-strlen.patch @@ -0,0 +1,11 @@ +--- /tmp/strlen.S 2007-05-01 18:32:48.000000000 +0200 ++++ glibc-2.5/ports/sysdeps/arm/strlen.S 2007-05-01 18:33:29.665251000 +0200 +@@ -24,6 +24,8 @@ + * exit: r0 = len + */ + ++#define __ARMEB__ ++ + ENTRY(strlen) + bic r1, r0, $3 @ addr of word containing first byte + ldr r2, [r1], $4 @ get the first word -- cgit v1.2.3 From 23a69763708f6c95528a47ac5a4ba36c43d5e106 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 1 May 2007 21:14:47 +0000 Subject: linux-ezx 2.6.21: update patches to r1995, gives you working ts, keys and some powermanagement --- packages/linux/linux-ezx-2.6.21/ezx-core.patch | 54 +-- packages/linux/linux-ezx-2.6.21/ezx-emu.patch | 51 ++- packages/linux/linux-ezx-2.6.21/ezx-kbd.patch | 139 +++++++ packages/linux/linux-ezx-2.6.21/ezx-pcap.patch | 34 +- packages/linux/linux-ezx-2.6.21/ezx-pm.patch | 58 +++ packages/linux/linux-ezx-2.6.21/ezx-ts.patch | 399 ++++++++++++++++++ .../linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch | 224 ++++++++++ .../linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch | 11 +- packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch | 237 +++++++++++ packages/linux/linux-ezx-2.6.21/pxa-kbd.patch | 463 +++++++++++++++++++++ .../linux-ezx-2.6.21/touchscreen-fix-r0.patch | 21 + packages/linux/linux-ezx-2.6.21/wyrm-ts.diff | 124 ++++++ packages/linux/linux-ezx_2.6.21.bb | 23 +- 13 files changed, 1765 insertions(+), 73 deletions(-) create mode 100644 packages/linux/linux-ezx-2.6.21/ezx-kbd.patch create mode 100644 packages/linux/linux-ezx-2.6.21/ezx-pm.patch create mode 100644 packages/linux/linux-ezx-2.6.21/ezx-ts.patch create mode 100644 packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch create mode 100644 packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch create mode 100644 packages/linux/linux-ezx-2.6.21/pxa-kbd.patch create mode 100644 packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch create mode 100644 packages/linux/linux-ezx-2.6.21/wyrm-ts.diff diff --git a/packages/linux/linux-ezx-2.6.21/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/ezx-core.patch index 81be0ef159..8423db6e00 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-core.patch +++ b/packages/linux/linux-ezx-2.6.21/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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-05-01 00:21:34.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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 01:39:12.000000000 -0300 @@ -37,6 +37,10 @@ bool "Keith und Koep Trizeps4 DIMM-Module" select PXA27x @@ -60,8 +60,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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 01:39:13.000000000 -0300 @@ -18,6 +18,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o @@ -73,8 +73,8 @@ 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-04-26 20:27:42.000000000 -0300 -@@ -0,0 +1,379 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 01:39:14.000000000 -0300 +@@ -0,0 +1,378 @@ +/* + * linux/arch/arm/mach-ezx/a780.c + * @@ -97,7 +97,6 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c +#include +#include +#include -+#include + +#include +#include @@ -379,7 +378,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c + +static void __init a780_init(void) +{ -+//FIXME CKEN = CKEN9_OSTIMER | CKEN22_MEMC | CKEN5_STUART; ++ CKEN = CKEN9_OSTIMER | CKEN22_MEMC; + + ezx_ssp_set_machinfo(&ezx_ssp_machinfo); + @@ -457,7 +456,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-04-26 20:27:42.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-05-01 00:21:34.000000000 -0300 @@ -0,0 +1,225 @@ +/* + * linux/include/asm-arm/arch-pxa/ezx.h @@ -686,8 +685,8 @@ 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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-04-26 20:28:45.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 01:39:11.000000000 -0300 @@ -849,6 +849,8 @@ #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ @@ -803,8 +802,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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-05-01 00:21:34.000000000 -0300 @@ -117,6 +117,9 @@ mov r0, r0 .endr @@ -817,8 +816,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-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 00:21:34.000000000 -0300 @@ -14,14 +14,14 @@ #define STUART ((volatile unsigned long *)0x40700000) #define HWUART ((volatile unsigned long *)0x41600000) @@ -840,7 +839,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-04-26 20:27:42.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-05-01 00:21:34.000000000 -0300 @@ -0,0 +1,126 @@ +/* + * SSP control code for Motorola EZX phones @@ -971,7 +970,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-04-26 20:27:42.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-05-01 00:21:34.000000000 -0300 @@ -0,0 +1,9 @@ +#include + @@ -985,8 +984,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-04-26 20:27:42.000000000 -0300 -@@ -0,0 +1,112 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-05-01 01:51:20.000000000 -0300 +@@ -0,0 +1,113 @@ +/* + * linux/arch/arm/mach-ezx/a780.c + * @@ -1028,8 +1027,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + } +} + -+#ifdef CONFIG_PXA_E2 -+static void sumatra_backlight_power(int on) ++static void ezx_backlight_power(int on) +{ + if (on) { + pxa_gpio_mode(GPIO16_PWM0_MD); @@ -1045,6 +1043,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + } +} + ++#ifdef CONFIG_PXA_E2 +static struct pxafb_mode_info mode_ezx = { + .pixclock = 192308, + .xres = 240, @@ -1064,7 +1063,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + .num_modes = 1, + .lccr0 = 0x022008B8, + .lccr3 = 0xC130FF13, -+ .pxafb_backlight_power = sumatra_backlight_power, ++ .pxafb_backlight_power = ezx_backlight_power, + .pxafb_lcd_power = &pxafb_lcd_power, +}; + @@ -1088,7 +1087,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + .num_modes = 1, + .lccr0 = 0x002008F8, + .lccr3 = 0x0430FF09, -+ .pxafb_lcd_power= &pxafb_lcd_power, ++ .pxafb_backlight_power = ezx_backlight_power, ++ .pxafb_lcd_power = &pxafb_lcd_power, +}; +#endif + @@ -1101,8 +1101,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c +arch_initcall(__ezx_lcd_init); Index: linux-2.6.21/arch/arm/mm/init.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-04-26 00:08:32.000000000 -0300 -+++ linux-2.6.21/arch/arm/mm/init.c 2007-04-26 20:27:42.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-05-01 00:21:30.000000000 -0300 ++++ linux-2.6.21/arch/arm/mm/init.c 2007-05-01 00:21:34.000000000 -0300 @@ -241,6 +241,10 @@ */ reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, diff --git a/packages/linux/linux-ezx-2.6.21/ezx-emu.patch b/packages/linux/linux-ezx-2.6.21/ezx-emu.patch index cb3bfc53e7..95fdd96fc1 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-emu.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-emu.patch @@ -1,8 +1,8 @@ -Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c 2007-04-23 01:14:40.000000000 -0300 -@@ -0,0 +1,200 @@ ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-05-01 03:58:42.000000000 -0300 +@@ -0,0 +1,215 @@ +/* + * EMU Driver for Motorola EZX phones + * @@ -135,7 +135,10 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c + + pxa_set_udc_info(&ezx_udc_info); + -+ emu_switch_to_default(); ++ if(ezx_pcap_read_bit(SSP_PCAP_ADJ_BIT_PSTAT_USBDET_4V)) ++ emu_switch_to_default(); ++ else ++ emu_switch_to_nothing(); + + return 0; +} @@ -148,6 +151,18 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c + return 0; +} + ++static int ezx_emu_suspend(struct platform_device *dev) ++{ ++ emu_switch_to_nothing(); ++ return 0; ++} ++ ++static int ezx_emu_resume(struct platform_device *dev) ++{ ++ emu_switch_to_default(); ++ return 0; ++} ++ +/* USB Device Controller */ +static int udc_connected_status; +static void ezx_udc_command(int cmd) @@ -179,8 +194,8 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c +static struct platform_driver ezxemu_driver = { + .probe = ezx_emu_probe, + .remove = ezx_emu_remove, -+ //.suspend = ezx_emu_suspend, -+ //.resume = ezx_emu_resume, ++ .suspend = ezx_emu_suspend, ++ .resume = ezx_emu_resume, + .driver = { + .name = "ezx-emu", + .owner = THIS_MODULE, @@ -203,10 +218,10 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-emu.c +MODULE_DESCRIPTION("Motorola Enchanced Mini Usb driver"); +MODULE_AUTHOR("Daniel Ribeiro "); +MODULE_LICENSE("GPL"); -Index: linux-2.6.20.7/arch/arm/mach-pxa/Kconfig +Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig =================================================================== ---- linux-2.6.20.7.orig/arch/arm/mach-pxa/Kconfig 2007-04-22 15:02:54.000000000 -0300 -+++ linux-2.6.20.7/arch/arm/mach-pxa/Kconfig 2007-04-22 15:23:10.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-01 01:39:12.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 02:07:23.000000000 -0300 @@ -94,6 +94,27 @@ endchoice @@ -235,10 +250,10 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/Kconfig endif endmenu -Index: linux-2.6.20.7/arch/arm/mach-pxa/Makefile +Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.20.7.orig/arch/arm/mach-pxa/Makefile 2007-04-22 15:23:01.000000000 -0300 -+++ linux-2.6.20.7/arch/arm/mach-pxa/Makefile 2007-04-22 15:23:10.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 02:07:23.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 04:10:48.000000000 -0300 @@ -19,6 +19,7 @@ obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o obj-$(CONFIG_MACH_TOSA) += tosa.o @@ -247,11 +262,11 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/Makefile # Support for blinky lights led-y := leds.o -Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c +Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.20.7.orig/arch/arm/mach-pxa/ezx.c 2007-04-22 15:22:55.000000000 -0300 -+++ linux-2.6.20.7/arch/arm/mach-pxa/ezx.c 2007-04-23 01:02:05.000000000 -0300 -@@ -36,6 +36,7 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-01 02:07:23.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 02:07:23.000000000 -0300 +@@ -35,6 +35,7 @@ #include #include @@ -259,7 +274,7 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c #include "ezx.h" #include "generic.h" #include -@@ -92,6 +93,30 @@ +@@ -91,6 +92,30 @@ .resource = ezxpcap_resources, }; @@ -290,7 +305,7 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c /* OHCI Controller */ static int ezx_ohci_init(struct device *dev) -@@ -317,6 +342,7 @@ +@@ -316,6 +341,7 @@ &ezxssp_device, &ezxpcap_device, &ezxbp_device, diff --git a/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch b/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch new file mode 100644 index 0000000000..7c020a2d96 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/ezx-kbd.patch @@ -0,0 +1,139 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-kbd.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-kbd.c 2007-04-30 20:33:19.000000000 -0300 +@@ -0,0 +1,109 @@ ++#include ++#include ++#include ++ ++extern void __init pxa_set_kbd_info(struct pxakbd_platform_data *); ++ ++#if defined(CONFIG_PXA_EZX_E680) ++static unsigned char ezx_keycode[] = { ++ /* row 0 */ ++ KEY_UP, KEY_RIGHT, KEY_RESERVED, KEY_PHONE, ++ /* row 1 */ ++ KEY_DOWN, KEY_LEFT, KEY_VOLUMEUP, KEY_VOLUMEDOWN, ++ /* row 2 */ ++ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, ++}; ++ ++static unsigned char ezx_direct_keycode[] = { ++ KEY_CAMERA, ++ KEYPAD_RESERVED, ++ KEYPAD_RESERVED, ++ KEYPAD_HOME, ++ KEY_POWER, ++ KEYPAD_MENU, ++}; ++#elif defined(CONFIG_PXA_EZX_A780) ++static unsigned char ezx_keycode[] = { ++ /* row 0 */ ++ KEY_KPENTER, KEY_MENU, KEY_CANCEL, KEY_PAGEUP, KEY_UP, ++ /* row 1 */ ++ KEY_KP1, KEY_KP2, KEY_KP3, KEY_ENTER, KEY_KPENTER, /*center joypad */ ++ /* row 2 */ ++ KEY_KP4, KEY_KP5, KEY_KP6, KEY_PAGEDOWN, KEY_PHONE, ++ /* row 3 */ ++ KEY_KP7, KEY_KP8, KEY_KP9, KEY_PHONE, KEY_LEFT, ++ /* row 4 */ ++ KEY_KPASTERISK, KEY_KP0, KEY_KPDOT, KEY_PAGEDOWN, KEY_DOWN, ++}; ++static unsigned char ezx_direct_keycode[] = { ++ KEY_CAMERA, ++}; ++#else ++#error "no EZX subarchitecture defined" ++#endif ++ ++static int ezx_kbd_init(void) ++{ ++#if defined(CONFIG_PXA_EZX_E680) ++ pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */ ++ pxa_gpio_mode(96 | GPIO_ALT_FN_1_IN); /* KP_DKIN<3>, GAME_A */ ++ pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */ ++ pxa_gpio_mode(98 | GPIO_ALT_FN_1_IN); /* KP_DKIN<5>, GAME_B */ ++ pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */ ++ pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */ ++ pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */ ++ pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */ ++ pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */ ++ pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */ ++ pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */ ++ pxa_gpio_mode(GPIO_TC_MM_EN); ++ GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN); ++ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN); ++ PGSR3 |= GPIO_bit(GPIO_TC_MM_EN); ++#elif defined(CONFIG_PXA_EZX_A780) ++ pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, voice_rec */ ++ pxa_gpio_mode(97 | GPIO_ALT_FN_3_IN); /* KP_MKIN<3> */ ++ pxa_gpio_mode(98 | GPIO_ALT_FN_3_IN); /* KP_MKIN<4> */ ++ pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */ ++ pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */ ++ pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */ ++ pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */ ++ pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */ ++ pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */ ++ pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */ ++ pxa_gpio_mode(107 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<4> */ ++#endif ++ return 0; ++} ++ ++static struct pxakbd_platform_data ezx_kbd_platform_data = { ++ .init = &ezx_kbd_init, ++ .scan_interval = HZ/40, ++ .matrix = { ++ .keycode = ezx_keycode, ++#if defined(CONFIG_PXA_EZX_E680) ++ .cols = 4, ++ .rows = 3, ++#elif defined(CONFIG_PXA_EZX_A780) ++ .cols = 5, ++ .rows = 5, ++#endif ++ }, ++ .direct = { ++ .keycode = ezx_direct_keycode, ++#if defined(CONFIG_PXA_EZX_E680) ++ .num = 6, ++#elif defined(CONFIG_PXA_EZX_A780) ++ .num = 1, ++#endif ++ }, ++}; ++ ++ ++int __init __ezx_kbd_init (void) ++{ ++ pxa_set_kbd_info(&ezx_kbd_platform_data); ++ return 0; ++} ++ ++arch_initcall(__ezx_kbd_init); +Index: linux-2.6.21/arch/arm/mach-pxa/Makefile +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-04-30 20:09:21.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-04-30 20:09:34.000000000 -0300 +@@ -18,7 +18,7 @@ + obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o + obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o + obj-$(CONFIG_MACH_TOSA) += tosa.o +-obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o ezx-mci.o ++obj-$(CONFIG_PXA_EZX) += ezx.o ezx_lcd.o ezx_ssp.o ezx-pcap.o ezx-mci.o ezx-kbd.o + obj-$(CONFIG_PXA_EZX_EMU) += ezx-emu.o + + # Support for blinky lights +Index: linux-2.6.21/drivers/input/keyboard/pxakbd.c +=================================================================== +--- linux-2.6.21.orig/drivers/input/keyboard/pxakbd.c 2007-04-30 20:47:29.000000000 -0300 ++++ linux-2.6.21/drivers/input/keyboard/pxakbd.c 2007-04-30 20:49:32.000000000 -0300 +@@ -213,6 +213,7 @@ + if (!input_dev) + goto out_pxa; + ++ spin_lock_init(&pxakbd->lock); + pxakbd->irq = platform_get_irq(pdev, 0); + r = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!r || pxakbd->irq == NO_IRQ) { diff --git a/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch b/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch index 22c5d44f36..de64d722e9 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch +++ b/packages/linux/linux-ezx-2.6.21/ezx-pcap.patch @@ -1,7 +1,7 @@ -Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-pcap.c +Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.20.7/arch/arm/mach-pxa/ezx-pcap.c 2007-04-21 08:26:37.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-05-01 14:00:50.000000000 -0300 @@ -0,0 +1,411 @@ +/* Driver for Motorola PCAP2 as present in EZX phones + * @@ -414,10 +414,10 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx-pcap.c +MODULE_AUTHOR("Harald Welte"); +MODULE_DESCRIPTION("SPI Driver for Motorola PCAP2"); + -Index: linux-2.6.20.7/include/asm-arm/arch-pxa/ezx-pcap.h +Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.20.7/include/asm-arm/arch-pxa/ezx-pcap.h 2007-04-21 08:26:37.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-05-01 14:00:50.000000000 -0300 @@ -0,0 +1,665 @@ +/* (c) Copyright Motorola Beijing 2002 all rights reserved. + @@ -1084,10 +1084,10 @@ Index: linux-2.6.20.7/include/asm-arm/arch-pxa/ezx-pcap.h +extern void ssp_pcap_screenlock_unlock(u32 data); + +#endif -Index: linux-2.6.20.7/include/asm-arm/arch-pxa/irqs.h +Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h =================================================================== ---- linux-2.6.20.7.orig/include/asm-arm/arch-pxa/irqs.h 2007-04-21 08:26:32.000000000 -0300 -+++ linux-2.6.20.7/include/asm-arm/arch-pxa/irqs.h 2007-04-21 08:26:37.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-05-01 14:00:24.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-05-01 14:00:50.000000000 -0300 @@ -176,7 +176,8 @@ #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) #elif defined(CONFIG_ARCH_LUBBOCK) || \ @@ -1115,10 +1115,10 @@ Index: linux-2.6.20.7/include/asm-arm/arch-pxa/irqs.h +#define EZX_IRQ_ONOFF EZX_IRQ(7) +#define EZX_IRQ_ONOFF2 EZX_IRQ(8) + -Index: linux-2.6.20.7/arch/arm/mach-pxa/Makefile +Index: linux-2.6.21/arch/arm/mach-pxa/Makefile =================================================================== ---- linux-2.6.20.7.orig/arch/arm/mach-pxa/Makefile 2007-04-21 08:26:37.000000000 -0300 -+++ linux-2.6.20.7/arch/arm/mach-pxa/Makefile 2007-04-21 08:45:09.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:48.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:50.000000000 -0300 @@ -18,7 +18,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o @@ -1128,11 +1128,11 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/Makefile # Support for blinky lights led-y := leds.o -Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c +Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c =================================================================== ---- linux-2.6.20.7.orig/arch/arm/mach-pxa/ezx.c 2007-04-21 08:26:37.000000000 -0300 -+++ linux-2.6.20.7/arch/arm/mach-pxa/ezx.c 2007-04-21 08:51:15.000000000 -0300 -@@ -73,6 +73,24 @@ +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-01 14:00:48.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 14:00:50.000000000 -0300 +@@ -72,6 +72,24 @@ .clk_pcap = 1, }; @@ -1157,7 +1157,7 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c /* OHCI Controller */ -@@ -236,7 +254,7 @@ +@@ -235,7 +253,7 @@ }; @@ -1166,7 +1166,7 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c [0] = { .start = GPIO_BP_RDY, .end = GPIO_BP_RDY, -@@ -256,15 +274,15 @@ +@@ -255,15 +273,15 @@ #endif }; @@ -1185,7 +1185,7 @@ Index: linux-2.6.20.7/arch/arm/mach-pxa/ezx.c }; static void __init ezx_init_gpio_irq(void) -@@ -297,7 +315,8 @@ +@@ -296,7 +314,8 @@ static struct platform_device *devices[] __initdata = { &ezxssp_device, diff --git a/packages/linux/linux-ezx-2.6.21/ezx-pm.patch b/packages/linux/linux-ezx-2.6.21/ezx-pm.patch new file mode 100644 index 0000000000..2b498c8b8c --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/ezx-pm.patch @@ -0,0 +1,58 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-04-26 00:08:32.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-04-30 18:29:49.000000000 -0300 +@@ -22,6 +22,10 @@ + #include + #include + ++#ifdef CONFIG_PXA_EZX ++#include ++#endif ++ + #include "generic.h" + + /* Crystal clock: 13MHz */ +@@ -156,7 +160,13 @@ + break; + case PM_SUSPEND_MEM: + /* set resume return address */ ++#ifdef CONFIG_PXA_EZX ++ /* set EZX flags for blob - WM */ ++ *(unsigned long *)(phys_to_virt(RESUME_ADDR)) = virt_to_phys(pxa_cpu_resume); ++ *(unsigned long *)(phys_to_virt(FLAG_ADDR)) = SLEEP_FLAG; ++#else + PSPR = virt_to_phys(pxa_cpu_resume); ++#endif + pxa_cpu_suspend(PWRMODE_SLEEP); + break; + } +Index: linux-2.6.21/arch/arm/mach-pxa/pm.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-04-26 00:08:32.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-04-30 18:29:49.000000000 -0300 +@@ -24,6 +24,10 @@ + #include + #include + ++#ifdef CONFIG_PXA_EZX ++#include ++#endif ++ + + /* + * Debug macros +@@ -152,8 +156,12 @@ + } + + /* ensure not to come back here if it wasn't intended */ ++#ifdef CONFIG_PXA_EZX ++ *(unsigned long *)(phys_to_virt(RESUME_ADDR)) = 0; ++ *(unsigned long *)(phys_to_virt(FLAG_ADDR)) = OFF_FLAG; ++#else + PSPR = 0; +- ++#endif + /* restore registers */ + RESTORE_GPLEVEL(0); RESTORE_GPLEVEL(1); RESTORE_GPLEVEL(2); + RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2); diff --git a/packages/linux/linux-ezx-2.6.21/ezx-ts.patch b/packages/linux/linux-ezx-2.6.21/ezx-ts.patch new file mode 100644 index 0000000000..1dd88efd6e --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/ezx-ts.patch @@ -0,0 +1,399 @@ +Index: linux-2.6.21/drivers/input/touchscreen/Kconfig +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-04-26 05:08:32.000000000 +0200 ++++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-04-26 23:27:05.000000000 +0200 +@@ -164,4 +164,16 @@ + To compile this driver as a module, choose M here: the + module will be called ucb1400_ts. + ++config TOUCHSCREEN_PCAP ++ tristate "Motorola PCAP touchscreen" ++ depends on PXA_EZX_PCAP ++ help ++ Say Y here if you have a Motorola EZX (E680, A780) telephone ++ and want to support the built-in touchscreen. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called hp680_ts_input. ++ + endif +Index: linux-2.6.21/drivers/input/touchscreen/Makefile +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/Makefile 2007-04-26 05:08:32.000000000 +0200 ++++ linux-2.6.21/drivers/input/touchscreen/Makefile 2007-04-26 23:27:52.000000000 +0200 +@@ -16,3 +16,4 @@ + obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o + obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o + obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o ++obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o +Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-04-26 23:27:05.000000000 +0200 +@@ -0,0 +1,364 @@ ++/* ++ * pcap_ts.c - Touchscreen driver for Motorola PCAP2 based touchscreen as found ++ * in the EZX phone platform. ++ * ++ * Copyright (C) 2006 Harald Welte ++ * ++ * Based on information found in the original Motorola 2.4.x ezx-ts.c driver. ++ * ++ * 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. ++ * ++ * TODO: ++ * split this in a hardirq handler and a tasklet/bh ++ * suspend/resume support ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "../../misc/ezx/ssp_pcap.h" ++ ++#if 1 ++#define DEBUGP(x, args ...) printk(KERN_DEBUG "%s: " x, __FUNCTION__, ## args) ++#else ++#define DEBUGP(x, args ...) ++#endif ++ ++#define PRESSURE 1 ++#define COORDINATE 2 ++ ++struct pcap_ts { ++ int irq_xy; ++ int irq_touch; ++ struct input_dev *input; ++ struct timer_list timer; ++ ++ u_int16_t x, y; ++ u_int16_t pressure, pressure_last; ++ ++ u_int8_t read_state; ++}; ++ ++#define X_AXIS_MIN 0 ++#define X_AXIS_MAX 1023 ++ ++#define Y_AXIS_MAX X_AXIS_MAX ++#define Y_AXIS_MIN X_AXIS_MIN ++ ++#define PRESSURE_MAX X_AXIS_MAX ++#define PRESSURE_MIN X_AXIS_MIN ++ ++static int pcap_ts_mode(u_int32_t mode) ++{ ++ int ret; ++ ++ u_int32_t tmp; ++ ++ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ if (ret < 0) ++ return ret; ++ ++ tmp &= ~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK; ++ tmp |= mode; ++ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ ++ DEBUGP("set ts mode "); ++ if (mode == PCAP_TS_POSITION_XY_MEASUREMENT) ++ DEBUGP("COORD\n"); ++ else if (mode == PCAP_TS_PRESSURE_MEASUREMENT) ++ DEBUGP("PRESS\n"); ++ else if (mode == PCAP_TS_STANDBY_MODE) ++ DEBUGP("STANDBY\n"); ++ else ++ printk("UNKNOWN\n"); ++ ++ return ret; ++} ++ ++/* issue a XY read command to the ADC of PCAP2. Well get an ADCDONE2 interrupt ++ * once the result of the conversion is available */ ++static int pcap_ts_start_xy_read(struct pcap_ts *pcap_ts) ++{ ++ int ret; ++ u_int32_t tmp; ++ DEBUGP("start xy read in mode %s\n", ++ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS"); ++ ++ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ if (ret < 0) ++ return ret; ++ ++ tmp &= SSP_PCAP_ADC_START_VALUE_SET_MASK; ++ tmp |= SSP_PCAP_ADC_START_VALUE; ++ ++ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ if (ret < 0) ++ return ret; ++ ++ ret = ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ADC2_ASC, 1); ++ ++ return ret; ++} ++ ++/* read the XY result from the ADC of PCAP2 */ ++static int pcap_ts_get_xy_value(struct pcap_ts *pcap_ts) ++{ ++ int ret; ++ u_int32_t tmp; ++ ++ DEBUGP("get xy value in mode %s\n", ++ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS"); ++ ++ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp); ++ if (ret < 0) ++ return ret; ++ ++ if (tmp & 0x00400000) ++ return -EIO; ++ ++ if (pcap_ts->read_state == COORDINATE) { ++ pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK); ++ pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK) ++ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ } else { ++ pcap_ts->pressure_last = pcap_ts->pressure; ++ pcap_ts->pressure = (tmp & SSP_PCAP_ADD2_VALUE_MASK) ++ >>SSP_PCAP_ADD2_VALUE_SHIFT; ++ } ++ ++ return 0; ++} ++ ++/* PCAP2 interrupts us when ADC conversion result is available */ ++static irqreturn_t pcap_ts_irq_xy(int irq, void *dev_id, struct pt_regs *regs) ++{ ++ struct pcap_ts *pcap_ts = dev_id; ++ ++ if (pcap_ts_get_xy_value(pcap_ts) < 0) { ++ printk("pcap_ts: error reading XY value\n"); ++ return IRQ_HANDLED; ++ } ++ ++ DEBUGP("%s X=%4d, Y=%4d Z=%4d\n", ++ pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS", ++ pcap_ts->x, pcap_ts->y, pcap_ts->pressure); ++ ++ if (pcap_ts->read_state == PRESSURE) { ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, ++ pcap_ts->pressure); ++ if ((pcap_ts->pressure >= PRESSURE_MAX || ++ pcap_ts->pressure <= PRESSURE_MIN ) && ++ pcap_ts->pressure == pcap_ts->pressure_last) { ++ /* pen has been released */ ++ input_report_key(pcap_ts->input, BTN_TOUCH, 0); ++ input_sync(pcap_ts->input); ++ ++ pcap_ts->x = pcap_ts->y = 0; ++ ++ /* ask PCAP2 to interrupt us if touch event happens ++ * again */ ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_mode(PCAP_TS_STANDBY_MODE); ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ ++ /* no need for timer, we'll get interrupted with ++ * next touch down event */ ++ del_timer(&pcap_ts->timer); ++ } else { ++ /* pen has been touched down */ ++ input_report_key(pcap_ts->input, BTN_TOUCH, 1); ++ /* don't input_sync(), we don't know position yet */ ++ ++ /* switch state machine into coordinate read mode */ ++ pcap_ts->read_state = COORDINATE; ++ pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT); ++ pcap_ts_start_xy_read(pcap_ts); ++ ++ mod_timer(&pcap_ts->timer, jiffies + HZ/20); ++ } ++ } else { ++ /* we are in coordinate mode */ ++ if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || ++ pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { ++ DEBUGP("invalid x/y coordinate position: PEN_UP?\n"); ++#if 0 ++ input_report_key(pcap_ts->input, BTN_TOUCH, 0); ++ pcap_ts->x = pcap_ts->y = 0; ++#endif ++ } else { ++ input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x); ++ input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y); ++ } ++ input_sync(pcap_ts->input); ++ ++ /* switch back to pressure read mode */ ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_mode(PCAP_TS_STANDBY_MODE); ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++/* PCAP2 interrupts us if the pen touches down */ ++static irqreturn_t pcap_ts_irq_touch(int irq, void *dev_id, struct pt_regs *regs) ++{ ++ struct pcap_ts *pcap_ts = dev_id; ++ DEBUGP("entered\n"); ++ ++ /* mask Touchscreen interrupt bit, prevents further touch events ++ * from being reported to us until we're finished with reading ++ * both pressure and x/y from ADC */ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 1); ++ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_start_xy_read(pcap_ts); ++ ++ return IRQ_HANDLED; ++} ++ ++static void pcap_ts_timer_fn(unsigned long data) ++{ ++ struct pcap_ts *pcap_ts = (struct pcap_ts *) data; ++ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 1); ++ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ pcap_ts->read_state = PRESSURE; ++ pcap_ts_start_xy_read(pcap_ts); ++} ++ ++static int __init ezxts_probe(struct platform_device *pdev) ++{ ++ struct pcap_ts *pcap_ts; ++ struct input_dev *input_dev; ++ int err = -ENOMEM; ++ ++ pcap_ts = kzalloc(sizeof(*pcap_ts), GFP_KERNEL); ++ input_dev = input_allocate_device(); ++ if (!pcap_ts || !input_dev) ++ goto fail; ++ ++ pcap_ts->irq_xy = platform_get_irq(pdev, 0); ++ if (pcap_ts->irq_xy < 0) { ++ err = pcap_ts->irq_xy; ++ goto fail; ++ } ++ ++ pcap_ts->irq_touch = platform_get_irq(pdev, 1); ++ if (pcap_ts->irq_touch < 0) { ++ err = pcap_ts->irq_touch; ++ goto fail; ++ } ++ ++ ssp_pcap_open(SSP_PCAP_TS_OPEN); ++ ++ err = request_irq(pcap_ts->irq_xy, pcap_ts_irq_xy, SA_INTERRUPT, ++ "PCAP Touchscreen XY", pcap_ts); ++ if (err < 0) { ++ printk(KERN_ERR "pcap_ts: can't grab xy irq %d: %d\n", ++ pcap_ts->irq_xy, err); ++ goto fail; ++ } ++ ++ err = request_irq(pcap_ts->irq_touch, pcap_ts_irq_touch, SA_INTERRUPT, ++ "PCAP Touchscreen Touch", pcap_ts); ++ if (err < 0) { ++ printk(KERN_ERR "pcap_ts: can't grab touch irq %d: %d\n", ++ pcap_ts->irq_touch, err); ++ goto fail_xy; ++ } ++ ++ pcap_ts->input = input_dev; ++ pcap_ts->read_state = PRESSURE; ++ init_timer(&pcap_ts->timer); ++ pcap_ts->timer.data = (unsigned long) pcap_ts; ++ pcap_ts->timer.function = &pcap_ts_timer_fn; ++ ++ platform_set_drvdata(pdev, pcap_ts); ++ ++ /* enable pressure interrupt */ ++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ ++ input_dev->name = "EZX PCAP2 Touchscreen"; ++ input_dev->phys = "ezxts/input0"; ++ input_dev->id.bustype = BUS_HOST; ++ input_dev->id.vendor = 0x0001; ++ input_dev->id.product = 0x0002; ++ input_dev->id.version = 0x0100; ++ input_dev->cdev.dev = &pdev->dev; ++ input_dev->private = pcap_ts; ++ ++ input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); ++ input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); ++ input_set_abs_params(input_dev, ABS_X, X_AXIS_MIN, X_AXIS_MAX, 0, 0); ++ input_set_abs_params(input_dev, ABS_Y, Y_AXIS_MIN, Y_AXIS_MAX, 0, 0); ++ input_set_abs_params(input_dev, ABS_PRESSURE, PRESSURE_MIN, ++ PRESSURE_MAX, 0, 0); ++ ++ input_register_device(pcap_ts->input); ++ ++ return 0; ++ ++fail_xy: ++ free_irq(pcap_ts->irq_xy, pcap_ts); ++fail: ++ input_free_device(input_dev); ++ kfree(pcap_ts); ++ ++ return err; ++} ++ ++static int ezxts_remove(struct platform_device *pdev) ++{ ++ struct pcap_ts *pcap_ts = platform_get_drvdata(pdev); ++ ++ del_timer_sync(&pcap_ts->timer); ++ ++ free_irq(pcap_ts->irq_touch, pcap_ts); ++ free_irq(pcap_ts->irq_xy, pcap_ts); ++ ++ input_unregister_device(pcap_ts->input); ++ kfree(pcap_ts); ++ ++ return 0; ++} ++ ++static struct platform_driver ezxts_driver = { ++ .probe = ezxts_probe, ++ .remove = ezxts_remove, ++ //.suspend = ezxts_suspend, ++ //.resume = ezxts_resume, ++ .driver = { ++ .name = "pcap-ts", ++ }, ++}; ++ ++static int __devinit ezxts_init(void) ++{ ++ return platform_driver_register(&ezxts_driver); ++} ++ ++static void __exit ezxts_exit(void) ++{ ++ platform_driver_unregister(&ezxts_driver); ++} ++ ++module_init(ezxts_init); ++module_exit(ezxts_exit); ++ ++MODULE_DESCRIPTION("Motorola PCAP2 touchscreen driver"); ++MODULE_AUTHOR("Harald Welte "); ++MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch b/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch new file mode 100644 index 0000000000..cab7490118 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.20.7-fix.patch @@ -0,0 +1,224 @@ +Index: linux-2.6.20.7/drivers/char/ts0710.h +=================================================================== +--- linux-2.6.20.7.orig/drivers/char/ts0710.h 2007-04-24 16:04:23.000000000 +0200 ++++ linux-2.6.20.7/drivers/char/ts0710.h 2007-04-24 16:04:23.000000000 +0200 +@@ -45,7 +45,7 @@ + * 11/18/2002 Modified + */ + +-#include ++//#include + #include + + #include +@@ -58,7 +58,7 @@ + #include + #include + #include +-#include ++//#include + + #include + #include +Index: linux-2.6.20.7/drivers/char/ts0710_mux.c +=================================================================== +--- linux-2.6.20.7.orig/drivers/char/ts0710_mux.c 2007-04-24 16:04:23.000000000 +0200 ++++ linux-2.6.20.7/drivers/char/ts0710_mux.c 2007-04-24 16:26:58.000000000 +0200 +@@ -46,7 +46,7 @@ + * 11/18/2002 Second version + * 04/21/2004 Add GPRS PROC + */ +-#include ++//#include + #include + #include + +@@ -70,7 +70,7 @@ + #include + #include + #include +-#include ++//#include + //#include + + #include +@@ -268,8 +268,8 @@ + static struct work_struct post_recv_tqueue; + + static struct tty_struct *mux_table[NR_MUXS]; +-static struct termios *mux_termios[NR_MUXS]; +-static struct termios *mux_termios_locked[NR_MUXS]; ++static struct ktermios *mux_termios[NR_MUXS]; ++static struct ktermios *mux_termios_locked[NR_MUXS]; + static volatile short int mux_tty[NR_MUXS]; + + #ifdef min +@@ -1894,11 +1894,14 @@ + if (test_bit(TTY_THROTTLED, &tty->flags)) { + queue_data = 1; + } else { ++ /* + if (test_bit + (TTY_DONT_FLIP, &tty->flags)) { + queue_data = 1; + post_recv = 1; +- } else if (recv_info->total) { ++ } else ++ */ ++ if (recv_info->total) { + queue_data = 1; + post_recv = 1; + } else if (recv_room < uih_len) { +@@ -3149,7 +3152,7 @@ + + /*For BP UART problem End*/ + +-static void receive_worker(void *private_) ++static void receive_worker(struct work_struct *private_) + { + struct tty_struct *tty = COMM_FOR_MUX_TTY; + int i, count, tbuf_free, tbuf_read; +@@ -3440,7 +3443,7 @@ + clear_bit(RECV_RUNNING, &mux_recv_flags); + } + +-static void post_recv_worker(void *private_) ++static void post_recv_worker(struct work_struct *private_) + { + ts0710_con *ts0710 = &ts0710_connection; + int tty_idx; +@@ -3499,11 +3502,14 @@ + if (test_bit(TTY_THROTTLED, &tty->flags)) { + add_post_recv_queue(&post_recv_q, recv_info); + continue; +- } else if (test_bit(TTY_DONT_FLIP, &tty->flags)) { ++ } ++ /* ++ else if (test_bit(TTY_DONT_FLIP, &tty->flags)) { + post_recv = 1; + add_post_recv_queue(&post_recv_q, recv_info); + continue; + } ++ */ + + flow_control = 0; + recv_packet2 = recv_info->mux_packet; +@@ -3635,7 +3641,7 @@ + } + } + +-static void send_worker(void *private_) ++static void send_worker(struct work_struct *private_) + { + ts0710_con *ts0710 = &ts0710_connection; + __u8 j; +@@ -3893,9 +3899,9 @@ + } + post_recv_count_flag = 0; + +- INIT_WORK(&send_tqueue, send_worker, NULL); +- INIT_WORK(&receive_tqueue, receive_worker, NULL); +- INIT_WORK(&post_recv_tqueue, post_recv_worker, NULL); ++ INIT_WORK(&send_tqueue, send_worker); ++ INIT_WORK(&receive_tqueue, receive_worker); ++ INIT_WORK(&post_recv_tqueue, post_recv_worker); + + mux_driver = alloc_tty_driver(NR_MUXS); + if (!mux_driver) +@@ -3904,12 +3910,12 @@ + mux_driver->owner = THIS_MODULE; + mux_driver->driver_name = "ts0710mux"; + mux_driver->name = "mux"; +- mux_driver->devfs_name = "mux"; ++ //mux_driver->devfs_name = "mux"; + mux_driver->major = TS0710MUX_MAJOR; + mux_driver->minor_start = TS0710MUX_MINOR_START; + mux_driver->type = TTY_DRIVER_TYPE_SERIAL; + mux_driver->subtype = SERIAL_TYPE_NORMAL; +- mux_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW; ++ mux_driver->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV; + + mux_driver->init_termios = tty_std_termios; + mux_driver->init_termios.c_iflag = 0; +@@ -3917,10 +3923,10 @@ + mux_driver->init_termios.c_cflag = B38400 | CS8 | CREAD; + mux_driver->init_termios.c_lflag = 0; + +-// mux_driver.ttys = mux_table; ++ //mux_driver.ttys = mux_table; + mux_driver->termios = mux_termios; + mux_driver->termios_locked = mux_termios_locked; +-// mux_driver.driver_state = mux_state; ++ //mux_driver.driver_state = mux_state; + mux_driver->other = NULL; + + mux_driver->open = mux_open; +Index: linux-2.6.20.7/drivers/char/ts0710_mux_usb.c +=================================================================== +--- linux-2.6.20.7.orig/drivers/char/ts0710_mux_usb.c 2007-04-24 16:27:30.000000000 +0200 ++++ linux-2.6.20.7/drivers/char/ts0710_mux_usb.c 2007-04-24 16:31:51.000000000 +0200 +@@ -86,8 +86,8 @@ + struct tty_struct *usb_for_mux_tty = NULL; + void (*usb_mux_dispatcher)(struct tty_struct *tty) = NULL; + void (*usb_mux_sender)(void) = NULL; +-void (*ipcusb_ap_to_bp)(unsigned char*, int) = NULL; +-void (*ipcusb_bp_to_ap)(unsigned char*, int) = NULL; ++void (*ipcusb_ap_to_bp)(const unsigned char*, int) = NULL; ++void (*ipcusb_bp_to_ap)(const unsigned char*, int) = NULL; + EXPORT_SYMBOL(usb_for_mux_driver); + EXPORT_SYMBOL(usb_for_mux_tty); + EXPORT_SYMBOL(usb_mux_dispatcher); +@@ -222,7 +222,7 @@ + inbuf = list_entry(ptr, buf_list_t, list); + src_count = inbuf->size; + if (dst_count >= src_count) { +- memcpy(buf, inbuf->body, src_count); ++ memcpy((char *)buf, inbuf->body, src_count); + ret = src_count; + list_del(ptr); + kfree(inbuf->body); +@@ -282,7 +282,7 @@ + spin_unlock(&bvd_ipc->in_buf_lock); + } + +-static void usb_ipc_read_bulk(struct urb *urb, struct pt_regs *regs) ++static void usb_ipc_read_bulk(struct urb *urb) + { + buf_list_t *inbuf; + int count = urb->actual_length; +@@ -319,7 +319,7 @@ + bvd_dbg("usb_ipc_read_bulk: completed!!!"); + } + +-static void usb_ipc_write_bulk(struct urb *urb, struct pt_regs *regs) ++static void usb_ipc_write_bulk(struct urb *urb) + { + callback_times++; + bvd_ipc->write_finished_flag = 1; +@@ -437,7 +437,7 @@ + /*send IN token*/ + bvd_ipc->readurb_mux.actual_length = 0; + bvd_ipc->readurb_mux.dev = bvd_ipc->ipc_dev; +- if (ret = usb_submit_urb(&bvd_ipc->readurb_mux, GFP_ATOMIC)) ++ if ( (ret = usb_submit_urb(&bvd_ipc->readurb_mux, GFP_ATOMIC)) ) + printk("ipcusb_xmit_data: usb_submit_urb(read mux bulk)" + "failed! status=%d\n", ret); + bvd_dbg("ipcusb_xmit_data: Send a IN token successfully!"); +@@ -447,7 +447,7 @@ + bvd_ipc->write_finished_flag = 0; + //printk("%s: clear write_finished_flag:%d\n", __FUNCTION__, bvd_ipc->write_finished_flag); + bvd_ipc->writeurb_mux.dev = bvd_ipc->ipc_dev; +- if (result = usb_submit_urb(&bvd_ipc->writeurb_mux, GFP_ATOMIC)) ++ if ( (result = usb_submit_urb(&bvd_ipc->writeurb_mux, GFP_ATOMIC)) ) + warn("ipcusb_xmit_data: funky result! result=%d\n", result); + + bvd_dbg("ipcusb_xmit_data: usb_submit_urb finished! result:%d", result); +@@ -556,7 +556,7 @@ + struct usb_config_descriptor *ipccfg; + struct usb_interface_descriptor *interface; + struct usb_endpoint_descriptor *endpoint; +- int ep_cnt, readsize, writesize; ++ int ep_cnt, readsize=0, writesize=0; + char have_bulk_in_mux, have_bulk_out_mux; + + bvd_dbg("usb_ipc_probe: vendor id 0x%x, device id 0x%x", diff --git a/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch b/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch index 79f48ae581..8d5299e3bd 100644 --- a/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch +++ b/packages/linux/linux-ezx-2.6.21/mux-linux-2.6.21-fix.patch @@ -202,7 +202,7 @@ Index: linux-2.6.21/drivers/char/ts0710_mux.c Index: linux-2.6.21/drivers/char/ts0710_mux_usb.c =================================================================== --- linux-2.6.21.orig/drivers/char/ts0710_mux_usb.c 2007-04-27 20:35:44.000000000 -0300 -+++ linux-2.6.21/drivers/char/ts0710_mux_usb.c 2007-04-27 22:28:55.000000000 -0300 ++++ linux-2.6.21/drivers/char/ts0710_mux_usb.c 2007-04-27 22:34:31.000000000 -0300 @@ -188,7 +188,8 @@ buf_list_t *inbuf; int count = urb->actual_length; @@ -213,6 +213,15 @@ Index: linux-2.6.21/drivers/char/ts0710_mux_usb.c if (!inbuf) { printk("append_to_inbuf_list: (%d) out of memory!\n", sizeof(buf_list_t)); +@@ -196,7 +197,7 @@ + } + + inbuf->size = count; +- inbuf->body = kmalloc(sizeof(char)*count, GFP_KERNEL); ++ inbuf->body = kmalloc(sizeof(char)*count, GFP_ATOMIC); + if (!inbuf->body) { + kfree(inbuf); + printk("append_to_inbuf_list: (%d) out of memory!\n", @@ -222,7 +223,7 @@ inbuf = list_entry(ptr, buf_list_t, list); src_count = inbuf->size; diff --git a/packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch b/packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch new file mode 100644 index 0000000000..d46033bc80 --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/pcap_ts.c.patch @@ -0,0 +1,237 @@ +Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/pcap_ts.c 2007-05-01 16:28:00.000000000 +0200 ++++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-05-01 16:28:03.000000000 +0200 +@@ -21,15 +21,14 @@ + #include + #include + #include +-#include ++//#include + #include + #include + #include + + #include + #include +- +-#include "../../misc/ezx/ssp_pcap.h" ++#include + + #if 1 + #define DEBUGP(x, args ...) printk(KERN_DEBUG "%s: " x, __FUNCTION__, ## args) +@@ -61,6 +60,9 @@ + #define PRESSURE_MAX X_AXIS_MAX + #define PRESSURE_MIN X_AXIS_MIN + ++#define SAMPLE_INTERVAL (HZ/100) ++ ++ + static int pcap_ts_mode(u_int32_t mode) + { + int ret; +@@ -157,8 +159,6 @@ + pcap_ts->x, pcap_ts->y, pcap_ts->pressure); + + if (pcap_ts->read_state == PRESSURE) { +- input_report_abs(pcap_ts->input, ABS_PRESSURE, +- pcap_ts->pressure); + if ((pcap_ts->pressure >= PRESSURE_MAX || + pcap_ts->pressure <= PRESSURE_MIN ) && + pcap_ts->pressure == pcap_ts->pressure_last) { +@@ -166,6 +166,8 @@ + input_report_key(pcap_ts->input, BTN_TOUCH, 0); + input_sync(pcap_ts->input); + ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, 0); ++ + pcap_ts->x = pcap_ts->y = 0; + + /* ask PCAP2 to interrupt us if touch event happens +@@ -182,18 +184,24 @@ + input_report_key(pcap_ts->input, BTN_TOUCH, 1); + /* don't input_sync(), we don't know position yet */ + ++ if (pcap_ts->pressure == 0) ++ pcap_ts->pressure = pcap_ts->pressure_last; ++ ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, ++ pcap_ts->pressure); ++ + /* switch state machine into coordinate read mode */ + pcap_ts->read_state = COORDINATE; + pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT); + pcap_ts_start_xy_read(pcap_ts); +- +- mod_timer(&pcap_ts->timer, jiffies + HZ/20); + } + } else { + /* we are in coordinate mode */ + if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || + pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { + DEBUGP("invalid x/y coordinate position: PEN_UP?\n"); ++ ++ pcap_ts->pressure = 0; + #if 0 + input_report_key(pcap_ts->input, BTN_TOUCH, 0); + pcap_ts->x = pcap_ts->y = 0; +@@ -206,8 +214,8 @@ + + /* switch back to pressure read mode */ + pcap_ts->read_state = PRESSURE; +- pcap_ts_mode(PCAP_TS_STANDBY_MODE); +- ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); ++ mod_timer(&pcap_ts->timer, jiffies + SAMPLE_INTERVAL); + } + + return IRQ_HANDLED; +@@ -234,18 +242,19 @@ + { + struct pcap_ts *pcap_ts = (struct pcap_ts *) data; + +- ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 1); +- pcap_ts_mode(PCAP_TS_PRESSURE_MEASUREMENT); +- pcap_ts->read_state = PRESSURE; + pcap_ts_start_xy_read(pcap_ts); + } + + static int __init ezxts_probe(struct platform_device *pdev) + { ++ int ret; ++ u_int32_t tmp; + struct pcap_ts *pcap_ts; + struct input_dev *input_dev; + int err = -ENOMEM; + ++ printk(KERN_DEBUG "Start probing TS!\n"); ++ + pcap_ts = kzalloc(sizeof(*pcap_ts), GFP_KERNEL); + input_dev = input_allocate_device(); + if (!pcap_ts || !input_dev) +@@ -263,7 +272,46 @@ + goto fail; + } + +- ssp_pcap_open(SSP_PCAP_TS_OPEN); ++ // Some initialization before done in ssp_pcap_open() ++ //ssp_pcap_open(SSP_PCAP_TS_OPEN); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_TS_REFENB, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_ADCDONE2I, 1); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ISR_TSI, 1); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_TSM, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_MSR_ADCDONE2M, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC2_ADINC2, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO0, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO2, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATO3, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_ATOX, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR1, 0); ++ ezx_pcap_bit_set( SSP_PCAP_ADJ_BIT_ADC1_MTR2, 0); ++ ++ //SSP_PCAP_TSI_mode_set(PCAP_TS_STANDBY_MODE); ++ ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); ++ if (ret < 0) ++ return ret; ++ ++ tmp &= (~SSP_PCAP_TOUCH_PANEL_POSITION_DETECT_MODE_MASK); ++ tmp |= PCAP_TS_STANDBY_MODE; ++ ++ ret = ezx_pcap_write(SSP_PCAP_ADJ_ADC1_REGISTER, tmp); ++ if (ret < 0) ++ return ret; ++ ++ /* send the usb accessory infomation to PM */ ++ /* ++ if((ACCESSORY_TYPE) sspUsbAccessoryInfo.type == ACCESSORY_DEVICE_USB_PORT) ++ { ++ if( (ACCESSORY_DEVICE_STATUS )sspUsbAccessoryInfo.status == ACCESSORY_DEVICE_STATUS_ATTACHED ) ++ apm_queue_event(KRNL_ACCS_ATTACH); ++ else ++ apm_queue_event(KRNL_ACCS_DETACH); ++ } ++ */ ++ + + err = request_irq(pcap_ts->irq_xy, pcap_ts_irq_xy, SA_INTERRUPT, + "PCAP Touchscreen XY", pcap_ts); +@@ -343,10 +391,11 @@ + //.resume = ezxts_resume, + .driver = { + .name = "pcap-ts", ++ .owner = THIS_MODULE, + }, + }; + +-static int __devinit ezxts_init(void) ++static int __init ezxts_init(void) + { + return platform_driver_register(&ezxts_driver); + } +Index: linux-2.6.21/drivers/input/touchscreen/Kconfig +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/Kconfig 2007-05-01 16:28:00.000000000 +0200 ++++ linux-2.6.21/drivers/input/touchscreen/Kconfig 2007-05-01 16:28:03.000000000 +0200 +@@ -166,7 +166,7 @@ + + config TOUCHSCREEN_PCAP + tristate "Motorola PCAP touchscreen" +- depends on PXA_EZX_PCAP ++ depends on PXA_EZX + help + Say Y here if you have a Motorola EZX (E680, A780) telephone + and want to support the built-in touchscreen. +@@ -174,6 +174,6 @@ + If unsure, say N. + + To compile this driver as a module, choose M here: the +- module will be called hp680_ts_input. ++ module will be called pcap_ts. + + endif +Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-01 16:28:00.000000000 +0200 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 16:28:03.000000000 +0200 +@@ -116,6 +116,31 @@ + .resource = ezxemu_resources, + }; + ++/* PCAP_TS */ ++struct resource pcap_ts_resources[] = { ++ [0] = { ++ .start = EZX_IRQ_ADCDONE2, ++ .end = EZX_IRQ_ADCDONE2, ++ .flags = IORESOURCE_IRQ, ++ }, ++ [1] = { ++ .start = EZX_IRQ_TS, ++ .end = EZX_IRQ_TS, ++ .flags = IORESOURCE_IRQ, ++ } ++}; ++ ++struct platform_device pcap_ts_device = { ++ .name = "pcap-ts", ++ .id = -1, ++ .dev = { ++ .parent = &ezxpcap_device.dev, ++ }, ++ .num_resources = ARRAY_SIZE(pcap_ts_resources), ++ .resource = pcap_ts_resources, ++}; ++ ++ + /* OHCI Controller */ + + static int ezx_ohci_init(struct device *dev) +@@ -342,6 +367,7 @@ + &ezxpcap_device, + &ezxbp_device, + &ezxemu_device, ++ &pcap_ts_device, + }; + + static void __init a780_init(void) diff --git a/packages/linux/linux-ezx-2.6.21/pxa-kbd.patch b/packages/linux/linux-ezx-2.6.21/pxa-kbd.patch new file mode 100644 index 0000000000..9bc6be656a --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/pxa-kbd.patch @@ -0,0 +1,463 @@ +Index: linux-2.6.21/arch/arm/mach-pxa/generic.c +=================================================================== +--- linux-2.6.21.orig/arch/arm/mach-pxa/generic.c 2007-04-30 19:19:58.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/generic.c 2007-04-30 19:45:20.000000000 -0300 +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #include "generic.h" + +@@ -430,6 +431,30 @@ + .id = -1, + }; + ++static struct resource pxa_kbd_resources[] = { ++ { ++ .start = IRQ_KEYPAD, ++ .end = IRQ_KEYPAD, ++ .flags = IORESOURCE_IRQ, ++ }, { ++ .start = 0x41500000, ++ .end = 0x4150004c, ++ .flags = IORESOURCE_MEM, ++ }, ++}; ++ ++static struct platform_device kbd_device = { ++ .name = "pxa-keyboard", ++ .id = -1, ++ .resource = pxa_kbd_resources, ++ .num_resources = ARRAY_SIZE(pxa_kbd_resources), ++}; ++ ++void __init pxa_set_kbd_info(struct pxakbd_platform_data *info) ++{ ++ kbd_device.dev.platform_data = info; ++} ++ + static struct platform_device *devices[] __initdata = { + &pxamci_device, + &udc_device, +@@ -444,6 +469,7 @@ + #endif + &i2s_device, + &pxartc_device, ++ &kbd_device, + }; + + static int __init pxa_init(void) +Index: linux-2.6.21/drivers/input/keyboard/Kconfig +=================================================================== +--- linux-2.6.21.orig/drivers/input/keyboard/Kconfig 2007-04-30 19:15:26.000000000 -0300 ++++ linux-2.6.21/drivers/input/keyboard/Kconfig 2007-04-30 19:43:53.000000000 -0300 +@@ -229,4 +229,11 @@ + To compile this driver as a module, choose M here: the + module will be called gpio-keys. + ++config KEYBOARD_PXA ++ tristate "Intel PXA keyboard support" ++ depends on ARCH_PXA ++ help ++ This add support for a driver of the Intel PXA2xx keyboard ++ controller. ++ + endif +Index: linux-2.6.21/drivers/input/keyboard/Makefile +=================================================================== +--- linux-2.6.21.orig/drivers/input/keyboard/Makefile 2007-04-30 19:17:25.000000000 -0300 ++++ linux-2.6.21/drivers/input/keyboard/Makefile 2007-04-30 19:46:54.000000000 -0300 +@@ -19,4 +19,4 @@ + obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o + obj-$(CONFIG_KEYBOARD_AAED2000) += aaed2000_kbd.o + obj-$(CONFIG_KEYBOARD_GPIO) += gpio_keys.o +- ++obj-$(CONFIG_KEYBOARD_PXA) += pxakbd.o +Index: linux-2.6.21/include/asm-arm/arch-pxa/kbd.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/include/asm-arm/arch-pxa/kbd.h 2007-04-30 19:27:58.000000000 -0300 +@@ -0,0 +1,28 @@ ++/* ++ * kbd_pxa.h ++ * ++ * Copyright (C) 2006 Harald Welte ++ * ++ * 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 _KBD_PXA_H_ ++#define _KBD_PXA_H_ ++ ++struct pxakbd_platform_data { ++ int (*init)(void); /* init gpio, etc. */ ++ unsigned int scan_interval; ++ struct { ++ unsigned int rows; ++ unsigned int cols; ++ unsigned char *keycode; ++ } matrix; ++ struct { ++ unsigned int num; ++ unsigned char *keycode; ++ } direct; ++}; ++ ++#endif +Index: linux-2.6.21/drivers/input/keyboard/pxakbd.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.21/drivers/input/keyboard/pxakbd.c 2007-04-30 19:48:13.000000000 -0300 +@@ -0,0 +1,332 @@ ++/* ++ * Driver for Motorola EZX phone "keyboard" ++ * ++ * (C) 2006 by Harald Welte ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#if 1 ++#define DEBUGP(x, args ...) printk(x, ## args) ++#else ++#define DEBUGP(x, args ...) ++#endif ++ ++/* per-keyboard private data structure */ ++struct pxakbd { ++ struct input_dev *input; ++ struct timer_list timer; ++ spinlock_t lock; ++ ++ struct resource *res; ++ unsigned int irq; ++ ++ struct pxakbd_platform_data *pd; ++}; ++ ++static int pxakbd_scan_direct(struct pxakbd *pxakbd) ++{ ++ u_int32_t kpdk; ++ unsigned int i; ++ int num_pressed = 0; ++ ++ kpdk = KPDK & 0x000000ff; ++ for (i = 0; i < pxakbd->pd->direct.num; i++) { ++ int pressed = 0; ++ ++ if (kpdk & (1 << i)) { ++ pressed = 1; ++ num_pressed++; ++ DEBUGP("pxakbd: pressed: direct %u\n", i); ++ } ++ if (pxakbd->pd->direct.keycode[i] != KEY_RESERVED) { ++ DEBUGP( "pxakbd: sending to input layer: keycode = %d, pressed = %d\n", pxakbd->pd->direct.keycode[i], pressed ); ++ input_report_key(pxakbd->input, pxakbd->pd->direct.keycode[i], ++ pressed); ++ } ++ } ++ return num_pressed; ++} ++ ++/* read the full 8x8 matrix from the PXA27x keypad controller */ ++static void __read_matrix(u_int8_t *matrix) ++{ ++ u_int32_t tmp; ++ ++ tmp = KPASMKP0; ++ matrix[0] = tmp & 0x000000ff; ++ matrix[1] = (tmp & 0x00ff0000) >> 16; ++ ++ tmp = KPASMKP1; ++ matrix[2] = tmp & 0x000000ff; ++ matrix[3] = (tmp & 0x00ff0000) >> 16; ++ ++ tmp = KPASMKP2; ++ matrix[4] = tmp & 0x000000ff; ++ matrix[5] = (tmp & 0x00ff0000) >> 16; ++ ++ tmp = KPASMKP3; ++ matrix[6] = tmp & 0x000000ff; ++ matrix[7] = (tmp & 0x00ff0000) >> 16; ++} ++ ++/* compare current matrix with last, generate 'diff' events */ ++static int __cmp_matrix_gen_events(struct pxakbd *pxakbd, u_int8_t *matrix) ++{ ++ unsigned int i; ++ int num_pressed = 0; ++ ++ /* iterate over the matrix */ ++ for (i = 0; i < pxakbd->pd->matrix.rows; i++) { ++ unsigned int j; ++ for (j = 0; j < pxakbd->pd->matrix.cols; j++) { ++ u_int32_t scancode = ++ (i * pxakbd->pd->matrix.cols) + j; ++ int pressed = matrix[i] & (1 << j); ++ ++ if (pressed) { ++ DEBUGP("pxakbd: pressed: %u/%u\n", i, j); ++ num_pressed++; ++ } ++ ++ input_report_key(pxakbd->input, ++ pxakbd->pd->matrix.keycode[scancode], pressed); ++ } ++ } ++ ++ return num_pressed; ++} ++ ++/* scan the matrix keypad */ ++static int pxakbd_scan_matrix(struct pxakbd *pxakbd) ++{ ++ int num_pressed; ++ u_int32_t kpas; ++ u_int8_t matrix[8]; ++ ++ kpas = KPAS; ++ ++ if ((kpas & KPAS_MUKP) == KPAS_MUKP_NONE) { ++ /* no keys pressed */ ++ memset(matrix, 0, sizeof(matrix)); ++ } else if ((kpas & KPAS_MUKP) == KPAS_MUKP_ONE) { ++ /* one key pressed */ ++ u_int8_t row = (kpas & KPAS_RP) >> 4; ++ u_int8_t col = kpas & KPAS_CP; ++ ++ if (row == 0x0f || col == 0x0f) { ++ printk(KERN_WARNING "pxakbd: col or row invalid!\n"); ++ return -1; ++ } ++ ++ /* clear the matrix and set the single pressed key */ ++ memset(matrix, 0, sizeof(matrix)); ++ matrix[row] |= (1 << col); ++ } else { ++ /* multiple keys pressed */ ++ __read_matrix(matrix); ++ } ++ ++ num_pressed = __cmp_matrix_gen_events(pxakbd, matrix); ++ ++ return num_pressed; ++} ++ ++static void pxakbd_timer_callback(unsigned long data) ++{ ++ unsigned long flags; ++ struct pxakbd *pxakbd = (struct pxakbd *) data; ++ unsigned int num_pressed; ++ ++ spin_lock_irqsave(&pxakbd->lock, flags); ++ ++ num_pressed = pxakbd_scan_direct(pxakbd); ++ num_pressed += pxakbd_scan_matrix(pxakbd); ++ ++ spin_unlock_irqrestore(&pxakbd->lock, flags); ++ ++ /* propagate events up the input stack */ ++ input_sync(pxakbd->input); ++} ++ ++static irqreturn_t pxakbd_interrupt(int irq, void *dummy) ++{ ++ struct pxakbd *pxakbd = dummy; ++ u_int32_t kpc; ++ int handled = 0; ++ int num_pressed = 0; ++ ++ /* read and clear interrupt */ ++ kpc = KPC; ++ ++ if (kpc & KPC_DI) { ++ num_pressed += pxakbd_scan_direct(pxakbd); ++ handled = 1; ++ } ++ ++ if (kpc & KPC_MI) { ++ while (KPAS & KPAS_SO) { ++ /* wait for scan to complete beforereading scan regs */ ++ cpu_relax(); ++ } ++ num_pressed += pxakbd_scan_matrix(pxakbd); ++ handled = 1; ++ } ++ ++ /* If any keys are currently pressed, we need to start the timer to detect ++ * key release. */ ++ if (num_pressed) ++ mod_timer(&pxakbd->timer, jiffies + pxakbd->pd->scan_interval); ++ ++ /* propagate events up the input stack */ ++ input_sync(pxakbd->input); ++ ++ return IRQ_RETVAL(handled); ++} ++ ++static int __init pxakbd_probe(struct platform_device *pdev) ++{ ++ struct pxakbd *pxakbd; ++ struct input_dev *input_dev; ++ struct resource *r; ++ int i; ++ int ret = -ENOMEM; ++ ++ pxakbd = kzalloc(sizeof(*pxakbd), GFP_KERNEL); ++ if (!pxakbd) ++ goto out; ++ ++ input_dev = input_allocate_device(); ++ if (!input_dev) ++ goto out_pxa; ++ ++ pxakbd->irq = platform_get_irq(pdev, 0); ++ r = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!r || pxakbd->irq == NO_IRQ) { ++ printk(KERN_ERR "pxakbd: invalid resources\n"); ++ ret = -EBUSY; ++ goto out_idev; ++ } ++ ++ pxakbd->input = input_dev; ++ init_timer(&pxakbd->timer); ++ pxakbd->timer.function = pxakbd_timer_callback; ++ pxakbd->timer.data = (unsigned long) pxakbd; ++ pxakbd->pd = pdev->dev.platform_data; ++ pxakbd->res = r; ++ ++ input_dev->name = "PXA Keyboard"; ++ input_dev->phys = "pxakbd/input0"; ++ input_dev->id.bustype = BUS_HOST; ++ input_dev->id.vendor = 0x0001; ++ input_dev->id.product = 0x0001; ++ input_dev->id.version = 0x0001; ++ input_dev->cdev.dev = &pdev->dev; ++ input_dev->private = pxakbd; ++ ++ input_dev->evbit[0] = BIT(EV_KEY)|BIT(EV_REP); ++ input_dev->keycode = pxakbd->pd->matrix.keycode; ++ input_dev->keycodesize = sizeof(unsigned char); ++ input_dev->keycodemax = pxakbd->pd->matrix.rows ++ *pxakbd->pd->matrix.cols; ++ ++ for (i = 0; i < input_dev->keycodemax; i++) ++ set_bit(pxakbd->pd->matrix.keycode[i], input_dev->keybit); ++ clear_bit(0, input_dev->keybit); ++ ++ if (request_irq(pxakbd->irq, pxakbd_interrupt, 0, "pxakbd", pxakbd)) { ++ printk(KERN_ERR "pxakbd: can't request irq %d\n", pxakbd->irq); ++ ret = -EBUSY; ++ goto out_idev; ++ } ++ ++ r = request_mem_region(r->start, 0x4c, "pxakbd"); ++ if (!r) { ++ printk(KERN_ERR "pxakbd: can't request memregion\n"); ++ ret = -EBUSY; ++ goto out_irq; ++ } ++ ++ /* set up gpio */ ++ pxakbd->pd->init(); ++ ++ /* set keypad control register */ ++ KPC = (KPC_ASACT | /* automatic scan on activity */ ++ KPC_ME | KPC_DE | /* matrix and direct keypad enabled */ ++ ((pxakbd->pd->matrix.cols-1)<<23) | /* columns */ ++ ((pxakbd->pd->matrix.rows-1)<<26) | /* rows */ ++ ((pxakbd->pd->direct.num-1)<<6) | /* direct keys */ ++ KPC_MS_ALL); /* scan all columns */ ++ ++ pxa_set_cken(CKEN19_KEYPAD, 1); ++ ++ KPC |= (KPC_DIE | KPC_MIE); /* enable matrix and direct keyboard */ ++ ++ KPKDI = 0x40; /* matrix key debounce interval: 0x40 */ ++ ++ platform_set_drvdata(pdev, pxakbd); ++ ++ return input_register_device(pxakbd->input); ++ ++out_drvdata: ++ platform_set_drvdata(pdev, NULL); ++out_mem: ++ release_resource(r); ++out_irq: ++ free_irq(pxakbd->irq, pxakbd); ++out_idev: ++ input_free_device(input_dev); ++out_pxa: ++ kfree(pxakbd); ++out: ++ return ret; ++} ++ ++static int pxakbd_remove(struct platform_device *pdev) ++{ ++ struct pxakbd *pxakbd = platform_get_drvdata(pdev); ++ input_unregister_device(pxakbd->input); ++ platform_set_drvdata(pdev, NULL); ++ release_resource(pxakbd->res); ++ free_irq(pxakbd->irq, pxakbd); ++ kfree(pxakbd); ++ return 0; ++} ++ ++static struct platform_driver pxakbd_driver = { ++ .probe = &pxakbd_probe, ++ .remove = &pxakbd_remove, ++ .driver = { ++ .name = "pxa-keyboard", ++ }, ++}; ++ ++static int __devinit pxakbd_init(void) ++{ ++ return platform_driver_register(&pxakbd_driver); ++} ++ ++static void __exit pxakbd_exit(void) ++{ ++ platform_driver_unregister(&pxakbd_driver); ++} ++ ++module_init(pxakbd_init); ++module_exit(pxakbd_exit); ++ ++MODULE_AUTHOR("Harald Welte "); ++MODULE_DESCRIPTION("Driver for Intel PXA27x keypad controller"); ++MODULE_LICENSE("GPL"); +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-04-30 19:39:30.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-04-30 19:42:34.000000000 -0300 +@@ -2165,6 +2165,11 @@ + #define KPMK_MKP (0x1 << 31) + #define KPAS_SO (0x1 << 31) + #define KPASMKPx_SO (0x1 << 31) ++#define KPAS_RP (0x000000f0) ++#define KPAS_CP (0x0000000f) ++#define KPAS_MUKP (0x7c000000) ++#define KPAS_MUKP_ONE (0x04000000) ++#define KPAS_MUKP_NONE (0x00000000) + + /* + * UHC: USB Host Controller (OHCI-like) register definitions diff --git a/packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch b/packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch new file mode 100644 index 0000000000..9f4ce980ad --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/touchscreen-fix-r0.patch @@ -0,0 +1,21 @@ + +# +# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher +# + +Index: linux-2.6.21/drivers/input/touchscreen/pcap_ts.c +=================================================================== +--- linux-2.6.21.orig/drivers/input/touchscreen/pcap_ts.c 2007-04-30 21:55:41.000000000 +0200 ++++ linux-2.6.21/drivers/input/touchscreen/pcap_ts.c 2007-04-30 21:55:41.000000000 +0200 +@@ -128,10 +128,7 @@ + if (ret < 0) + return ret; + +- if (tmp & 0x00400000) +- return -EIO; +- +- if (pcap_ts->read_state == COORDINATE) { ++ if (pcap_ts->read_state == COORDINATE && !(tmp & 0x00400000)) { + pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK); + pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK) + >>SSP_PCAP_ADD2_VALUE_SHIFT; diff --git a/packages/linux/linux-ezx-2.6.21/wyrm-ts.diff b/packages/linux/linux-ezx-2.6.21/wyrm-ts.diff new file mode 100644 index 0000000000..6e424c626c --- /dev/null +++ b/packages/linux/linux-ezx-2.6.21/wyrm-ts.diff @@ -0,0 +1,124 @@ +Ignores read interrupts after penUP events until a penDOWN interrupt arrives. +Some other changes i dont remember exactly. :) +Signed-off-by: Daniel Ribeiro +Index: linux-2.6.16/drivers/input/touchscreen/pcap_ts.c +=================================================================== +--- linux-2.6.16.orig/drivers/input/touchscreen/pcap_ts.c 2007-03-09 21:26:25.000000000 -0300 ++++ linux-2.6.16/drivers/input/touchscreen/pcap_ts.c 2007-03-09 21:26:42.000000000 -0300 +@@ -31,7 +31,7 @@ + + #include "../../misc/ezx/ssp_pcap.h" + +-#if 1 ++#if 0 + #define DEBUGP(x, args ...) printk(KERN_DEBUG "%s: " x, __FUNCTION__, ## args) + #else + #define DEBUGP(x, args ...) +@@ -39,6 +39,7 @@ + + #define PRESSURE 1 + #define COORDINATE 2 ++#define STANDBY 3 + + struct pcap_ts { + int irq_xy; +@@ -97,7 +98,7 @@ + int ret; + u_int32_t tmp; + DEBUGP("start xy read in mode %s\n", +- pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS"); ++ pcap_ts->read_state == COORDINATE ? "COORD" : (pcap_ts->read_state == PRESSURE ? "PRESS" : "STANDBY")); + + ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC1_REGISTER, &tmp); + if (ret < 0) +@@ -122,7 +123,7 @@ + u_int32_t tmp; + + DEBUGP("get xy value in mode %s\n", +- pcap_ts->read_state == COORDINATE ? "COORD" : "PRESS"); ++ pcap_ts->read_state == COORDINATE ? "COORD" : (pcap_ts->read_state == PRESSURE ? "PRESS" : "STANDBY")); + + ret = ezx_pcap_read(SSP_PCAP_ADJ_ADC2_REGISTER, &tmp); + if (ret < 0) +@@ -145,7 +146,16 @@ + static irqreturn_t pcap_ts_irq_xy(int irq, void *dev_id, struct pt_regs *regs) + { + struct pcap_ts *pcap_ts = dev_id; ++// DEBUGP("read_state: %d\n", pcap_ts->read_state); + ++ /* ++ * Ignore further read interrupts after we set STANDBY - WM ++ */ ++ if (pcap_ts->read_state == STANDBY) ++ { ++ DEBUGP("ignored\n"); ++ return IRQ_HANDLED; ++ } + if (pcap_ts_get_xy_value(pcap_ts) < 0) { + printk("pcap_ts: error reading XY value\n"); + return IRQ_HANDLED; +@@ -160,33 +170,32 @@ + pcap_ts->pressure <= PRESSURE_MIN ) && + pcap_ts->pressure == pcap_ts->pressure_last) { + /* pen has been released */ ++ DEBUGP("UP\n"); + input_report_key(pcap_ts->input, BTN_TOUCH, 0); +- input_sync(pcap_ts->input); +- + input_report_abs(pcap_ts->input, ABS_PRESSURE, 0); ++ input_sync(pcap_ts->input); + + pcap_ts->x = pcap_ts->y = 0; + ++ /* no need for timer, we'll get interrupted with ++ * next touch down event */ ++ del_timer(&pcap_ts->timer); ++ + /* ask PCAP2 to interrupt us if touch event happens + * again */ +- pcap_ts->read_state = PRESSURE; ++ pcap_ts->read_state = STANDBY; + pcap_ts_mode(PCAP_TS_STANDBY_MODE); + ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_MSR_TSM, 0); +- +- /* no need for timer, we'll get interrupted with +- * next touch down event */ +- del_timer(&pcap_ts->timer); + } else { + /* pen has been touched down */ ++ DEBUGP("DOWN\n"); ++ + input_report_key(pcap_ts->input, BTN_TOUCH, 1); + /* don't input_sync(), we don't know position yet */ + + if (pcap_ts->pressure == 0) + pcap_ts->pressure = pcap_ts->pressure_last; + +- input_report_abs(pcap_ts->input, ABS_PRESSURE, +- pcap_ts->pressure); +- + /* switch state machine into coordinate read mode */ + pcap_ts->read_state = COORDINATE; + pcap_ts_mode(PCAP_TS_POSITION_XY_MEASUREMENT); +@@ -196,18 +205,14 @@ + /* we are in coordinate mode */ + if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || + pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { +- DEBUGP("invalid x/y coordinate position: PEN_UP?\n"); +- ++ DEBUGP("PEN_UP?\n"); + pcap_ts->pressure = 0; +-#if 0 +- input_report_key(pcap_ts->input, BTN_TOUCH, 0); +- pcap_ts->x = pcap_ts->y = 0; +-#endif + } else { ++ input_report_abs(pcap_ts->input, ABS_PRESSURE, pcap_ts->pressure); + input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x); + input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y); ++ input_sync(pcap_ts->input); + } +- input_sync(pcap_ts->input); + + /* switch back to pressure read mode */ + pcap_ts->read_state = PRESSURE; diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index 2b233e0c2e..9ec5c965ab 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -5,7 +5,7 @@ HOMEPAGE = "http://www.openezx.org" LICENSE = "GPL" DEPENDS += "quilt-native" EZX = "ezx0" -PR = "${EZX}-r1" +PR = "${EZX}-r2" DEFAULT_PREFERENCE = "-1" @@ -18,8 +18,8 @@ RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" ############################################################## # source and patches # -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ - \ +SRC_URI = " \ + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://ezx-core.patch;patch=1 \ file://ezx-pcap.patch;patch=1 \ file://ezx-mci.patch;patch=1 \ @@ -27,6 +27,9 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://ezx-emu.patch;patch=1 \ file://ezx-mtd-map.patch;patch=1 \ file://ezx-serial-bug-workaround.patch;patch=1 \ + file://pxa-kbd.patch;patch=1 \ + file://ezx-kbd.patch;patch=1 \ + file://ezx-pm.patch;patch=1 \ file://mux_cli.patch;patch=1 \ file://mux-fix.patch;patch=1 \ file://mux-fix-init-errorpath.patch;patch=1 \ @@ -38,13 +41,13 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://mux-linux-2.6.21-fix.patch;patch=1 \ file://mux-ifdef-ezx-features.patch;patch=1 \ file://mux_debug.patch;patch=1 \ - - \ - - file://logo_linux_clut224.ppm \ - file://defconfig-a780 \ - file://defconfig-e680 \ - " + file://ezx-ts.patch;patch=1 \ + file://pcap_ts.c.patch;patch=1 \ + file://touchscreen-fix-r0.patch;patch=1 \ + file://logo_linux_clut224.ppm \ + file://defconfig-a780 \ + file://defconfig-e680 \ + " S = "${WORKDIR}/linux-${PV}" -- cgit v1.2.3 From 6833b130eec096aaccbe49da91768d292baffb9d Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 1 May 2007 21:42:10 +0000 Subject: ixp4xxbe: add -D__ARMEB__ to target cc arch --- conf/machine/ixp4xxbe.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/machine/ixp4xxbe.conf b/conf/machine/ixp4xxbe.conf index f208852d3a..9b3a4f693f 100644 --- a/conf/machine/ixp4xxbe.conf +++ b/conf/machine/ixp4xxbe.conf @@ -8,4 +8,6 @@ PACKAGE_EXTRA_ARCHS = "armv4b armv4tb armv5eb armv5teb" require conf/machine/include/ixp4xx.conf +TARGET_CC_ARCH += " -D__ARMEB__ " + EXTRA_IMAGECMD_jffs2 += "--big-endian" -- cgit v1.2.3 From a16460b11fee65207f3eed05ebf85478fba888c2 Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Tue, 1 May 2007 22:12:20 +0000 Subject: packages/linux/linux-magicbox_2.6.18.6.bb : Add squashfs-lzma support to the kernel --- .../squashfs-lzma-support.patch | 890 +++++++++++++++++++++ packages/linux/linux-magicbox_2.6.18.6.bb | 5 +- 2 files changed, 893 insertions(+), 2 deletions(-) create mode 100644 packages/linux/linux-magicbox-2.6.18.6/squashfs-lzma-support.patch diff --git a/packages/linux/linux-magicbox-2.6.18.6/squashfs-lzma-support.patch b/packages/linux/linux-magicbox-2.6.18.6/squashfs-lzma-support.patch new file mode 100644 index 0000000000..212386e7bc --- /dev/null +++ b/packages/linux/linux-magicbox-2.6.18.6/squashfs-lzma-support.patch @@ -0,0 +1,890 @@ +diff -Naur linux-2.6.18.orig/fs/squashfs/LzmaDecode.c linux-2.6.18/fs/squashfs/LzmaDecode.c +--- linux-2.6.18.orig/fs/squashfs/LzmaDecode.c 1969-12-31 16:00:00.000000000 -0800 ++++ linux-2.6.18/fs/squashfs/LzmaDecode.c 2006-10-14 03:56:43.000000000 -0700 +@@ -0,0 +1,663 @@ ++/* ++ LzmaDecode.c ++ LZMA Decoder ++ ++ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25) ++ http://www.7-zip.org/ ++ ++ LZMA SDK is licensed under two licenses: ++ 1) GNU Lesser General Public License (GNU LGPL) ++ 2) Common Public License (CPL) ++ It means that you can select one of these two licenses and ++ follow rules of that license. ++ ++ SPECIAL EXCEPTION: ++ Igor Pavlov, as the author of this code, expressly permits you to ++ statically or dynamically link your code (or bind by name) to the ++ interfaces of this file without subjecting your linked code to the ++ terms of the CPL or GNU LGPL. Any modifications or additions ++ to this file, however, are subject to the LGPL or CPL terms. ++*/ ++ ++#include "LzmaDecode.h" ++ ++#ifndef Byte ++#define Byte unsigned char ++#endif ++ ++#define kNumTopBits 24 ++#define kTopValue ((UInt32)1 << kNumTopBits) ++ ++#define kNumBitModelTotalBits 11 ++#define kBitModelTotal (1 << kNumBitModelTotalBits) ++#define kNumMoveBits 5 ++ ++typedef struct _CRangeDecoder ++{ ++ Byte *Buffer; ++ Byte *BufferLim; ++ UInt32 Range; ++ UInt32 Code; ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *InCallback; ++ int Result; ++ #endif ++ int ExtraBytes; ++} CRangeDecoder; ++ ++Byte RangeDecoderReadByte(CRangeDecoder *rd) ++{ ++ if (rd->Buffer == rd->BufferLim) ++ { ++ #ifdef _LZMA_IN_CB ++ UInt32 size; ++ rd->Result = rd->InCallback->Read(rd->InCallback, &rd->Buffer, &size); ++ rd->BufferLim = rd->Buffer + size; ++ if (size == 0) ++ #endif ++ { ++ rd->ExtraBytes = 1; ++ return 0xFF; ++ } ++ } ++ return (*rd->Buffer++); ++} ++ ++/* #define ReadByte (*rd->Buffer++) */ ++#define ReadByte (RangeDecoderReadByte(rd)) ++ ++void RangeDecoderInit(CRangeDecoder *rd, ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *inCallback ++ #else ++ Byte *stream, UInt32 bufferSize ++ #endif ++ ) ++{ ++ int i; ++ #ifdef _LZMA_IN_CB ++ rd->InCallback = inCallback; ++ rd->Buffer = rd->BufferLim = 0; ++ #else ++ rd->Buffer = stream; ++ rd->BufferLim = stream + bufferSize; ++ #endif ++ rd->ExtraBytes = 0; ++ rd->Code = 0; ++ rd->Range = (0xFFFFFFFF); ++ for(i = 0; i < 5; i++) ++ rd->Code = (rd->Code << 8) | ReadByte; ++} ++ ++#define RC_INIT_VAR UInt32 range = rd->Range; UInt32 code = rd->Code; ++#define RC_FLUSH_VAR rd->Range = range; rd->Code = code; ++#define RC_NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | ReadByte; } ++ ++UInt32 RangeDecoderDecodeDirectBits(CRangeDecoder *rd, int numTotalBits) ++{ ++ RC_INIT_VAR ++ UInt32 result = 0; ++ int i; ++ for (i = numTotalBits; i > 0; i--) ++ { ++ /* UInt32 t; */ ++ range >>= 1; ++ ++ result <<= 1; ++ if (code >= range) ++ { ++ code -= range; ++ result |= 1; ++ } ++ /* ++ t = (code - range) >> 31; ++ t &= 1; ++ code -= range & (t - 1); ++ result = (result + result) | (1 - t); ++ */ ++ RC_NORMALIZE ++ } ++ RC_FLUSH_VAR ++ return result; ++} ++ ++int RangeDecoderBitDecode(CProb *prob, CRangeDecoder *rd) ++{ ++ UInt32 bound = (rd->Range >> kNumBitModelTotalBits) * *prob; ++ if (rd->Code < bound) ++ { ++ rd->Range = bound; ++ *prob += (kBitModelTotal - *prob) >> kNumMoveBits; ++ if (rd->Range < kTopValue) ++ { ++ rd->Code = (rd->Code << 8) | ReadByte; ++ rd->Range <<= 8; ++ } ++ return 0; ++ } ++ else ++ { ++ rd->Range -= bound; ++ rd->Code -= bound; ++ *prob -= (*prob) >> kNumMoveBits; ++ if (rd->Range < kTopValue) ++ { ++ rd->Code = (rd->Code << 8) | ReadByte; ++ rd->Range <<= 8; ++ } ++ return 1; ++ } ++} ++ ++#define RC_GET_BIT2(prob, mi, A0, A1) \ ++ UInt32 bound = (range >> kNumBitModelTotalBits) * *prob; \ ++ if (code < bound) \ ++ { A0; range = bound; *prob += (kBitModelTotal - *prob) >> kNumMoveBits; mi <<= 1; } \ ++ else \ ++ { A1; range -= bound; code -= bound; *prob -= (*prob) >> kNumMoveBits; mi = (mi + mi) + 1; } \ ++ RC_NORMALIZE ++ ++#define RC_GET_BIT(prob, mi) RC_GET_BIT2(prob, mi, ; , ;) ++ ++int RangeDecoderBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd) ++{ ++ int mi = 1; ++ int i; ++ #ifdef _LZMA_LOC_OPT ++ RC_INIT_VAR ++ #endif ++ for(i = numLevels; i > 0; i--) ++ { ++ #ifdef _LZMA_LOC_OPT ++ CProb *prob = probs + mi; ++ RC_GET_BIT(prob, mi) ++ #else ++ mi = (mi + mi) + RangeDecoderBitDecode(probs + mi, rd); ++ #endif ++ } ++ #ifdef _LZMA_LOC_OPT ++ RC_FLUSH_VAR ++ #endif ++ return mi - (1 << numLevels); ++} ++ ++int RangeDecoderReverseBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder *rd) ++{ ++ int mi = 1; ++ int i; ++ int symbol = 0; ++ #ifdef _LZMA_LOC_OPT ++ RC_INIT_VAR ++ #endif ++ for(i = 0; i < numLevels; i++) ++ { ++ #ifdef _LZMA_LOC_OPT ++ CProb *prob = probs + mi; ++ RC_GET_BIT2(prob, mi, ; , symbol |= (1 << i)) ++ #else ++ int bit = RangeDecoderBitDecode(probs + mi, rd); ++ mi = mi + mi + bit; ++ symbol |= (bit << i); ++ #endif ++ } ++ #ifdef _LZMA_LOC_OPT ++ RC_FLUSH_VAR ++ #endif ++ return symbol; ++} ++ ++Byte LzmaLiteralDecode(CProb *probs, CRangeDecoder *rd) ++{ ++ int symbol = 1; ++ #ifdef _LZMA_LOC_OPT ++ RC_INIT_VAR ++ #endif ++ do ++ { ++ #ifdef _LZMA_LOC_OPT ++ CProb *prob = probs + symbol; ++ RC_GET_BIT(prob, symbol) ++ #else ++ symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd); ++ #endif ++ } ++ while (symbol < 0x100); ++ #ifdef _LZMA_LOC_OPT ++ RC_FLUSH_VAR ++ #endif ++ return symbol; ++} ++ ++Byte LzmaLiteralDecodeMatch(CProb *probs, CRangeDecoder *rd, Byte matchByte) ++{ ++ int symbol = 1; ++ #ifdef _LZMA_LOC_OPT ++ RC_INIT_VAR ++ #endif ++ do ++ { ++ int bit; ++ int matchBit = (matchByte >> 7) & 1; ++ matchByte <<= 1; ++ #ifdef _LZMA_LOC_OPT ++ { ++ CProb *prob = probs + ((1 + matchBit) << 8) + symbol; ++ RC_GET_BIT2(prob, symbol, bit = 0, bit = 1) ++ } ++ #else ++ bit = RangeDecoderBitDecode(probs + ((1 + matchBit) << 8) + symbol, rd); ++ symbol = (symbol << 1) | bit; ++ #endif ++ if (matchBit != bit) ++ { ++ while (symbol < 0x100) ++ { ++ #ifdef _LZMA_LOC_OPT ++ CProb *prob = probs + symbol; ++ RC_GET_BIT(prob, symbol) ++ #else ++ symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd); ++ #endif ++ } ++ break; ++ } ++ } ++ while (symbol < 0x100); ++ #ifdef _LZMA_LOC_OPT ++ RC_FLUSH_VAR ++ #endif ++ return symbol; ++} ++ ++#define kNumPosBitsMax 4 ++#define kNumPosStatesMax (1 << kNumPosBitsMax) ++ ++#define kLenNumLowBits 3 ++#define kLenNumLowSymbols (1 << kLenNumLowBits) ++#define kLenNumMidBits 3 ++#define kLenNumMidSymbols (1 << kLenNumMidBits) ++#define kLenNumHighBits 8 ++#define kLenNumHighSymbols (1 << kLenNumHighBits) ++ ++#define LenChoice 0 ++#define LenChoice2 (LenChoice + 1) ++#define LenLow (LenChoice2 + 1) ++#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) ++#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) ++#define kNumLenProbs (LenHigh + kLenNumHighSymbols) ++ ++int LzmaLenDecode(CProb *p, CRangeDecoder *rd, int posState) ++{ ++ if(RangeDecoderBitDecode(p + LenChoice, rd) == 0) ++ return RangeDecoderBitTreeDecode(p + LenLow + ++ (posState << kLenNumLowBits), kLenNumLowBits, rd); ++ if(RangeDecoderBitDecode(p + LenChoice2, rd) == 0) ++ return kLenNumLowSymbols + RangeDecoderBitTreeDecode(p + LenMid + ++ (posState << kLenNumMidBits), kLenNumMidBits, rd); ++ return kLenNumLowSymbols + kLenNumMidSymbols + ++ RangeDecoderBitTreeDecode(p + LenHigh, kLenNumHighBits, rd); ++} ++ ++#define kNumStates 12 ++ ++#define kStartPosModelIndex 4 ++#define kEndPosModelIndex 14 ++#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) ++ ++#define kNumPosSlotBits 6 ++#define kNumLenToPosStates 4 ++ ++#define kNumAlignBits 4 ++#define kAlignTableSize (1 << kNumAlignBits) ++ ++#define kMatchMinLen 2 ++ ++#define IsMatch 0 ++#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) ++#define IsRepG0 (IsRep + kNumStates) ++#define IsRepG1 (IsRepG0 + kNumStates) ++#define IsRepG2 (IsRepG1 + kNumStates) ++#define IsRep0Long (IsRepG2 + kNumStates) ++#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) ++#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) ++#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) ++#define LenCoder (Align + kAlignTableSize) ++#define RepLenCoder (LenCoder + kNumLenProbs) ++#define Literal (RepLenCoder + kNumLenProbs) ++ ++#if Literal != LZMA_BASE_SIZE ++StopCompilingDueBUG ++#endif ++ ++#ifdef _LZMA_OUT_READ ++ ++typedef struct _LzmaVarState ++{ ++ CRangeDecoder RangeDecoder; ++ Byte *Dictionary; ++ UInt32 DictionarySize; ++ UInt32 DictionaryPos; ++ UInt32 GlobalPos; ++ UInt32 Reps[4]; ++ int lc; ++ int lp; ++ int pb; ++ int State; ++ int PreviousIsMatch; ++ int RemainLen; ++} LzmaVarState; ++ ++int LzmaDecoderInit( ++ unsigned char *buffer, UInt32 bufferSize, ++ int lc, int lp, int pb, ++ unsigned char *dictionary, UInt32 dictionarySize, ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *inCallback ++ #else ++ unsigned char *inStream, UInt32 inSize ++ #endif ++ ) ++{ ++ LzmaVarState *vs = (LzmaVarState *)buffer; ++ CProb *p = (CProb *)(buffer + sizeof(LzmaVarState)); ++ UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp)); ++ UInt32 i; ++ if (bufferSize < numProbs * sizeof(CProb) + sizeof(LzmaVarState)) ++ return LZMA_RESULT_NOT_ENOUGH_MEM; ++ vs->Dictionary = dictionary; ++ vs->DictionarySize = dictionarySize; ++ vs->DictionaryPos = 0; ++ vs->GlobalPos = 0; ++ vs->Reps[0] = vs->Reps[1] = vs->Reps[2] = vs->Reps[3] = 1; ++ vs->lc = lc; ++ vs->lp = lp; ++ vs->pb = pb; ++ vs->State = 0; ++ vs->PreviousIsMatch = 0; ++ vs->RemainLen = 0; ++ dictionary[dictionarySize - 1] = 0; ++ for (i = 0; i < numProbs; i++) ++ p[i] = kBitModelTotal >> 1; ++ RangeDecoderInit(&vs->RangeDecoder, ++ #ifdef _LZMA_IN_CB ++ inCallback ++ #else ++ inStream, inSize ++ #endif ++ ); ++ return LZMA_RESULT_OK; ++} ++ ++int LzmaDecode(unsigned char *buffer, ++ unsigned char *outStream, UInt32 outSize, ++ UInt32 *outSizeProcessed) ++{ ++ LzmaVarState *vs = (LzmaVarState *)buffer; ++ CProb *p = (CProb *)(buffer + sizeof(LzmaVarState)); ++ CRangeDecoder rd = vs->RangeDecoder; ++ int state = vs->State; ++ int previousIsMatch = vs->PreviousIsMatch; ++ Byte previousByte; ++ UInt32 rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3]; ++ UInt32 nowPos = 0; ++ UInt32 posStateMask = (1 << (vs->pb)) - 1; ++ UInt32 literalPosMask = (1 << (vs->lp)) - 1; ++ int lc = vs->lc; ++ int len = vs->RemainLen; ++ UInt32 globalPos = vs->GlobalPos; ++ ++ Byte *dictionary = vs->Dictionary; ++ UInt32 dictionarySize = vs->DictionarySize; ++ UInt32 dictionaryPos = vs->DictionaryPos; ++ ++ if (len == -1) ++ { ++ *outSizeProcessed = 0; ++ return LZMA_RESULT_OK; ++ } ++ ++ while(len > 0 && nowPos < outSize) ++ { ++ UInt32 pos = dictionaryPos - rep0; ++ if (pos >= dictionarySize) ++ pos += dictionarySize; ++ outStream[nowPos++] = dictionary[dictionaryPos] = dictionary[pos]; ++ if (++dictionaryPos == dictionarySize) ++ dictionaryPos = 0; ++ len--; ++ } ++ if (dictionaryPos == 0) ++ previousByte = dictionary[dictionarySize - 1]; ++ else ++ previousByte = dictionary[dictionaryPos - 1]; ++#else ++ ++int LzmaDecode( ++ Byte *buffer, UInt32 bufferSize, ++ int lc, int lp, int pb, ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *inCallback, ++ #else ++ unsigned char *inStream, UInt32 inSize, ++ #endif ++ unsigned char *outStream, UInt32 outSize, ++ UInt32 *outSizeProcessed) ++{ ++ UInt32 numProbs = Literal + ((UInt32)LZMA_LIT_SIZE << (lc + lp)); ++ CProb *p = (CProb *)buffer; ++ CRangeDecoder rd; ++ UInt32 i; ++ int state = 0; ++ int previousIsMatch = 0; ++ Byte previousByte = 0; ++ UInt32 rep0 = 1, rep1 = 1, rep2 = 1, rep3 = 1; ++ UInt32 nowPos = 0; ++ UInt32 posStateMask = (1 << pb) - 1; ++ UInt32 literalPosMask = (1 << lp) - 1; ++ int len = 0; ++ if (bufferSize < numProbs * sizeof(CProb)) ++ return LZMA_RESULT_NOT_ENOUGH_MEM; ++ for (i = 0; i < numProbs; i++) ++ p[i] = kBitModelTotal >> 1; ++ RangeDecoderInit(&rd, ++ #ifdef _LZMA_IN_CB ++ inCallback ++ #else ++ inStream, inSize ++ #endif ++ ); ++#endif ++ ++ *outSizeProcessed = 0; ++ while(nowPos < outSize) ++ { ++ int posState = (int)( ++ (nowPos ++ #ifdef _LZMA_OUT_READ ++ + globalPos ++ #endif ++ ) ++ & posStateMask); ++ #ifdef _LZMA_IN_CB ++ if (rd.Result != LZMA_RESULT_OK) ++ return rd.Result; ++ #endif ++ if (rd.ExtraBytes != 0) ++ return LZMA_RESULT_DATA_ERROR; ++ if (RangeDecoderBitDecode(p + IsMatch + (state << kNumPosBitsMax) + posState, &rd) == 0) ++ { ++ CProb *probs = p + Literal + (LZMA_LIT_SIZE * ++ ((( ++ (nowPos ++ #ifdef _LZMA_OUT_READ ++ + globalPos ++ #endif ++ ) ++ & literalPosMask) << lc) + (previousByte >> (8 - lc)))); ++ ++ if (state < 4) state = 0; ++ else if (state < 10) state -= 3; ++ else state -= 6; ++ if (previousIsMatch) ++ { ++ Byte matchByte; ++ #ifdef _LZMA_OUT_READ ++ UInt32 pos = dictionaryPos - rep0; ++ if (pos >= dictionarySize) ++ pos += dictionarySize; ++ matchByte = dictionary[pos]; ++ #else ++ matchByte = outStream[nowPos - rep0]; ++ #endif ++ previousByte = LzmaLiteralDecodeMatch(probs, &rd, matchByte); ++ previousIsMatch = 0; ++ } ++ else ++ previousByte = LzmaLiteralDecode(probs, &rd); ++ outStream[nowPos++] = previousByte; ++ #ifdef _LZMA_OUT_READ ++ dictionary[dictionaryPos] = previousByte; ++ if (++dictionaryPos == dictionarySize) ++ dictionaryPos = 0; ++ #endif ++ } ++ else ++ { ++ previousIsMatch = 1; ++ if (RangeDecoderBitDecode(p + IsRep + state, &rd) == 1) ++ { ++ if (RangeDecoderBitDecode(p + IsRepG0 + state, &rd) == 0) ++ { ++ if (RangeDecoderBitDecode(p + IsRep0Long + (state << kNumPosBitsMax) + posState, &rd) == 0) ++ { ++ #ifdef _LZMA_OUT_READ ++ UInt32 pos; ++ #endif ++ if ( ++ (nowPos ++ #ifdef _LZMA_OUT_READ ++ + globalPos ++ #endif ++ ) ++ == 0) ++ return LZMA_RESULT_DATA_ERROR; ++ state = state < 7 ? 9 : 11; ++ #ifdef _LZMA_OUT_READ ++ pos = dictionaryPos - rep0; ++ if (pos >= dictionarySize) ++ pos += dictionarySize; ++ previousByte = dictionary[pos]; ++ dictionary[dictionaryPos] = previousByte; ++ if (++dictionaryPos == dictionarySize) ++ dictionaryPos = 0; ++ #else ++ previousByte = outStream[nowPos - rep0]; ++ #endif ++ outStream[nowPos++] = previousByte; ++ continue; ++ } ++ } ++ else ++ { ++ UInt32 distance; ++ if(RangeDecoderBitDecode(p + IsRepG1 + state, &rd) == 0) ++ distance = rep1; ++ else ++ { ++ if(RangeDecoderBitDecode(p + IsRepG2 + state, &rd) == 0) ++ distance = rep2; ++ else ++ { ++ distance = rep3; ++ rep3 = rep2; ++ } ++ rep2 = rep1; ++ } ++ rep1 = rep0; ++ rep0 = distance; ++ } ++ len = LzmaLenDecode(p + RepLenCoder, &rd, posState); ++ state = state < 7 ? 8 : 11; ++ } ++ else ++ { ++ int posSlot; ++ rep3 = rep2; ++ rep2 = rep1; ++ rep1 = rep0; ++ state = state < 7 ? 7 : 10; ++ len = LzmaLenDecode(p + LenCoder, &rd, posState); ++ posSlot = RangeDecoderBitTreeDecode(p + PosSlot + ++ ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << ++ kNumPosSlotBits), kNumPosSlotBits, &rd); ++ if (posSlot >= kStartPosModelIndex) ++ { ++ int numDirectBits = ((posSlot >> 1) - 1); ++ rep0 = ((2 | ((UInt32)posSlot & 1)) << numDirectBits); ++ if (posSlot < kEndPosModelIndex) ++ { ++ rep0 += RangeDecoderReverseBitTreeDecode( ++ p + SpecPos + rep0 - posSlot - 1, numDirectBits, &rd); ++ } ++ else ++ { ++ rep0 += RangeDecoderDecodeDirectBits(&rd, ++ numDirectBits - kNumAlignBits) << kNumAlignBits; ++ rep0 += RangeDecoderReverseBitTreeDecode(p + Align, kNumAlignBits, &rd); ++ } ++ } ++ else ++ rep0 = posSlot; ++ rep0++; ++ } ++ if (rep0 == (UInt32)(0)) ++ { ++ /* it's for stream version */ ++ len = -1; ++ break; ++ } ++ if (rep0 > nowPos ++ #ifdef _LZMA_OUT_READ ++ + globalPos ++ #endif ++ ) ++ { ++ return LZMA_RESULT_DATA_ERROR; ++ } ++ len += kMatchMinLen; ++ do ++ { ++ #ifdef _LZMA_OUT_READ ++ UInt32 pos = dictionaryPos - rep0; ++ if (pos >= dictionarySize) ++ pos += dictionarySize; ++ previousByte = dictionary[pos]; ++ dictionary[dictionaryPos] = previousByte; ++ if (++dictionaryPos == dictionarySize) ++ dictionaryPos = 0; ++ #else ++ previousByte = outStream[nowPos - rep0]; ++ #endif ++ outStream[nowPos++] = previousByte; ++ len--; ++ } ++ while(len > 0 && nowPos < outSize); ++ } ++ } ++ ++ #ifdef _LZMA_OUT_READ ++ vs->RangeDecoder = rd; ++ vs->DictionaryPos = dictionaryPos; ++ vs->GlobalPos = globalPos + nowPos; ++ vs->Reps[0] = rep0; ++ vs->Reps[1] = rep1; ++ vs->Reps[2] = rep2; ++ vs->Reps[3] = rep3; ++ vs->State = state; ++ vs->PreviousIsMatch = previousIsMatch; ++ vs->RemainLen = len; ++ #endif ++ ++ *outSizeProcessed = nowPos; ++ return LZMA_RESULT_OK; ++} +diff -Naur linux-2.6.18.orig/fs/squashfs/LzmaDecode.h linux-2.6.18/fs/squashfs/LzmaDecode.h +--- linux-2.6.18.orig/fs/squashfs/LzmaDecode.h 1969-12-31 16:00:00.000000000 -0800 ++++ linux-2.6.18/fs/squashfs/LzmaDecode.h 2006-10-14 03:56:43.000000000 -0700 +@@ -0,0 +1,100 @@ ++/* ++ LzmaDecode.h ++ LZMA Decoder interface ++ ++ LZMA SDK 4.05 Copyright (c) 1999-2004 Igor Pavlov (2004-08-25) ++ http://www.7-zip.org/ ++ ++ LZMA SDK is licensed under two licenses: ++ 1) GNU Lesser General Public License (GNU LGPL) ++ 2) Common Public License (CPL) ++ It means that you can select one of these two licenses and ++ follow rules of that license. ++ ++ SPECIAL EXCEPTION: ++ Igor Pavlov, as the author of this code, expressly permits you to ++ statically or dynamically link your code (or bind by name) to the ++ interfaces of this file without subjecting your linked code to the ++ terms of the CPL or GNU LGPL. Any modifications or additions ++ to this file, however, are subject to the LGPL or CPL terms. ++*/ ++ ++#ifndef __LZMADECODE_H ++#define __LZMADECODE_H ++ ++/* #define _LZMA_IN_CB */ ++/* Use callback for input data */ ++ ++/* #define _LZMA_OUT_READ */ ++/* Use read function for output data */ ++ ++/* #define _LZMA_PROB32 */ ++/* It can increase speed on some 32-bit CPUs, ++ but memory usage will be doubled in that case */ ++ ++/* #define _LZMA_LOC_OPT */ ++/* Enable local speed optimizations inside code */ ++ ++#ifndef UInt32 ++#ifdef _LZMA_UINT32_IS_ULONG ++#define UInt32 unsigned long ++#else ++#define UInt32 unsigned int ++#endif ++#endif ++ ++#ifdef _LZMA_PROB32 ++#define CProb UInt32 ++#else ++#define CProb unsigned short ++#endif ++ ++#define LZMA_RESULT_OK 0 ++#define LZMA_RESULT_DATA_ERROR 1 ++#define LZMA_RESULT_NOT_ENOUGH_MEM 2 ++ ++#ifdef _LZMA_IN_CB ++typedef struct _ILzmaInCallback ++{ ++ int (*Read)(void *object, unsigned char **buffer, UInt32 *bufferSize); ++} ILzmaInCallback; ++#endif ++ ++#define LZMA_BASE_SIZE 1846 ++#define LZMA_LIT_SIZE 768 ++ ++/* ++bufferSize = (LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)))* sizeof(CProb) ++bufferSize += 100 in case of _LZMA_OUT_READ ++by default CProb is unsigned short, ++but if specify _LZMA_PROB_32, CProb will be UInt32(unsigned int) ++*/ ++ ++#ifdef _LZMA_OUT_READ ++int LzmaDecoderInit( ++ unsigned char *buffer, UInt32 bufferSize, ++ int lc, int lp, int pb, ++ unsigned char *dictionary, UInt32 dictionarySize, ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *inCallback ++ #else ++ unsigned char *inStream, UInt32 inSize ++ #endif ++); ++#endif ++ ++int LzmaDecode( ++ unsigned char *buffer, ++ #ifndef _LZMA_OUT_READ ++ UInt32 bufferSize, ++ int lc, int lp, int pb, ++ #ifdef _LZMA_IN_CB ++ ILzmaInCallback *inCallback, ++ #else ++ unsigned char *inStream, UInt32 inSize, ++ #endif ++ #endif ++ unsigned char *outStream, UInt32 outSize, ++ UInt32 *outSizeProcessed); ++ ++#endif +diff -Naur linux-2.6.18.orig/fs/squashfs/inode.c linux-2.6.18/fs/squashfs/inode.c +--- linux-2.6.18.orig/fs/squashfs/inode.c 2006-10-14 03:56:28.000000000 -0700 ++++ linux-2.6.18/fs/squashfs/inode.c 2006-10-14 03:56:43.000000000 -0700 +@@ -4,6 +4,9 @@ + * Copyright (c) 2002, 2003, 2004, 2005, 2006 + * Phillip Lougher + * ++ * LZMA decompressor support added by Oleg I. Vdovikin ++ * Copyright (c) 2005 Oleg I.Vdovikin ++ * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2, +@@ -21,6 +24,7 @@ + * inode.c + */ + ++#define SQUASHFS_LZMA + #include + #include + #include +@@ -44,6 +48,19 @@ + + #include "squashfs.h" + ++#ifdef SQUASHFS_LZMA ++#include "LzmaDecode.h" ++ ++/* default LZMA settings, should be in sync with mksquashfs */ ++#define LZMA_LC 3 ++#define LZMA_LP 0 ++#define LZMA_PB 2 ++ ++#define LZMA_WORKSPACE_SIZE ((LZMA_BASE_SIZE + \ ++ (LZMA_LIT_SIZE << (LZMA_LC + LZMA_LP))) * sizeof(CProb)) ++ ++#endif ++ + static void squashfs_put_super(struct super_block *); + static int squashfs_statfs(struct dentry *, struct kstatfs *); + static int squashfs_symlink_readpage(struct file *file, struct page *page); +@@ -63,6 +80,10 @@ + static int squashfs_get_sb(struct file_system_type *, int, const char *, void *, + struct vfsmount *); + ++#ifdef SQUASHFS_LZMA ++static unsigned char lzma_workspace[LZMA_WORKSPACE_SIZE]; ++#endif ++ + static struct file_system_type squashfs_fs_type = { + .owner = THIS_MODULE, + .name = "squashfs", +@@ -246,6 +267,15 @@ + if (compressed) { + int zlib_err; + ++#ifdef SQUASHFS_LZMA ++ if ((zlib_err = LzmaDecode(lzma_workspace, ++ LZMA_WORKSPACE_SIZE, LZMA_LC, LZMA_LP, LZMA_PB, ++ c_buffer, c_byte, buffer, msblk->read_size, &bytes)) != LZMA_RESULT_OK) ++ { ++ ERROR("lzma returned unexpected result 0x%x\n", zlib_err); ++ bytes = 0; ++ } ++#else + msblk->stream.next_in = c_buffer; + msblk->stream.avail_in = c_byte; + msblk->stream.next_out = buffer; +@@ -260,7 +290,7 @@ + bytes = 0; + } else + bytes = msblk->stream.total_out; +- ++#endif + up(&msblk->read_data_mutex); + } + +@@ -964,10 +994,12 @@ + } + memset(s->s_fs_info, 0, sizeof(struct squashfs_sb_info)); + msblk = s->s_fs_info; ++#ifndef SQUASHFS_LZMA + if (!(msblk->stream.workspace = vmalloc(zlib_inflate_workspacesize()))) { + ERROR("Failed to allocate zlib workspace\n"); + goto failure; + } ++#endif + sblk = &msblk->sblk; + + msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE); +@@ -1140,7 +1172,9 @@ + kfree(msblk->read_data); + kfree(msblk->block_cache); + kfree(msblk->fragment_index_2); ++#ifndef SQUASHFS_LZMA + vfree(msblk->stream.workspace); ++#endif + kfree(s->s_fs_info); + s->s_fs_info = NULL; + return -EINVAL; +@@ -2060,7 +2094,9 @@ + kfree(sbi->fragment_index); + kfree(sbi->fragment_index_2); + kfree(sbi->meta_index); ++#ifndef SQUASHFS_LZMA + vfree(sbi->stream.workspace); ++#endif + kfree(s->s_fs_info); + s->s_fs_info = NULL; + } + +diff -Naur linux-2.6.18.orig/fs/squashfs/Makefile linux-2.6.18/fs/squashfs/Makefile +--- linux-2.6.18.orig/fs/squashfs/Makefile 2006-10-14 03:56:28.000000000 -0700 ++++ linux-2.6.18/fs/squashfs/Makefile 2006-10-14 03:56:43.000000000 -0700 +@@ -5,3 +5,4 @@ + obj-$(CONFIG_SQUASHFS) += squashfs.o + squashfs-y += inode.o + squashfs-y += squashfs2_0.o ++squashfs-y += LzmaDecode.o diff --git a/packages/linux/linux-magicbox_2.6.18.6.bb b/packages/linux/linux-magicbox_2.6.18.6.bb index 5e4dca3077..e306c54e7b 100644 --- a/packages/linux/linux-magicbox_2.6.18.6.bb +++ b/packages/linux/linux-magicbox_2.6.18.6.bb @@ -1,8 +1,8 @@ SECTION = "kernel" DESCRIPTION = "Linux kernel for Magicbox ver 1.1 and 2.0 router boards" LICENSE = "GPL" -PR = "r1" -#DEPENDS = "u-boot" +PR = "r2" +DEPENDS = "u-boot" KERNEL_CCSUFFIX = "-3.4.4" @@ -13,6 +13,7 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ file://010-load-ramdisk-even-if-rootdev-equals-ramdisk.patch;patch=1 \ file://magicbox2-ide-cf_2.6.18.patch;patch=1 \ file://squashfs3.1-patch;patch=1 \ + file://squashfs-lzma-support.patch;patch=1 \ file://kernel-2.6.18-layer7-2.6.patch;patch=1 \ file://config-2.6.18-magicbox2\ " -- cgit v1.2.3 From 24223cc2043c1148c88f10a463d0098231b7f31e Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Tue, 1 May 2007 22:14:08 +0000 Subject: conf/machine/magicbox.conf : make sure jffs2 and squashfs images generated are for big endian machines Set minimun kernel to 2.6.18. --- conf/machine/magicbox.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conf/machine/magicbox.conf b/conf/machine/magicbox.conf index 4ed28337d6..5231c68bb1 100644 --- a/conf/machine/magicbox.conf +++ b/conf/machine/magicbox.conf @@ -7,17 +7,17 @@ PACKAGE_EXTRA_ARCHS = "ppc405" PREFERRED_PROVIDER_virtual/kernel = "linux-${MACHINE}" -MACHINE_FEATURES = "kernel26 ext2" +MACHINE_FEATURES = "kernel26" +MACHINE_TASK_PROVIDER = "task-base" TARGET_CPU = "405" -OLDEST_KERNEL = "2.6.12" +OLDEST_KERNEL = "2.6.18" SERIAL_CONSOLE = "115200 ttyS0" PREFERRED_VERSION_u-boot = "1.1.2" -EXTRA_IMAGECMD = "--big-endian" -ERASEBLOCK_SIZE = "0x10000" -IMAGE_FSTYPES = "jffs2" +EXTRA_IMAGECMD_jffs2 = "--big-endian" +EXTRA_IMAGECMD_squashfs = " -be -all-root " #tune for the 405 cpu require conf/machine/include/tune-ppc405.conf -- cgit v1.2.3 From e9d12e48f9c41ee5c0f9ddb82c387a5ce2a17c9a Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 2 May 2007 02:10:55 +0000 Subject: cpan.bbclass: Building cpan modules needs to depend on both perl and perl-native. They are built with perl-native but use the configuration information from perl. This issue wasn't showing up with bitbake 1.6 but is with 1.8.2 where perl is configured and compiled perl but not staged prior to moving on. --- classes/cpan.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index 687dbcd1cb..410a1c6502 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -4,7 +4,7 @@ FILES_${PN} += '${libdir}/perl5 ${datadir}/perl5' EXTRA_CPANFLAGS ?= "" -DEPENDS += "perl-native" +DEPENDS += "perl perl-native" RDEPENDS += "perl" # Determine the staged version of perl from the perl configuration file -- cgit v1.2.3 From e4804a842235fe27e5bac51d9908933cdb3dd40e Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 2 May 2007 02:14:14 +0000 Subject: cpan.bbclass: Stop the cpan modules which ask you to confirm the configuration from hanging bitbake. They expect you to press y to indicate that you are ok with the configuration. For some reason there was no problem in bitbake 1.6 but this caused hangs in do_configure with bitbake 1.8. --- classes/cpan.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index 410a1c6502..be08c84379 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -54,7 +54,7 @@ PERLLIBDIRS = "${@perl_get_libdirs(d)}" export PERLCONFIGTARGET = "${@is_target(d)}" cpan_do_configure () { - perl Makefile.PL ${EXTRA_CPANFLAGS} + yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS} if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh if [ "${IS_NEW_PERL}" = "yes" ]; then -- cgit v1.2.3 From 25bc38faefa2262bfaebc5fa7a5ff6c915c4583b Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 2 May 2007 02:18:29 +0000 Subject: perl modules: Bump PR on cpan modules effected by the recent cpan.bbclass changes. --- packages/perl/libalgorithm-diff-perl_1.1902.bb | 2 +- packages/perl/libarchive-tar-perl_1.30.bb | 2 +- packages/perl/libcache-cache-perl_1.05.bb | 2 +- packages/perl/libclass-container-perl_0.12.bb | 2 +- packages/perl/libclass-data-inheritable-perl_0.06.bb | 2 +- packages/perl/libcompress-zlib-perl_1.42.bb | 2 +- packages/perl/libdata-optlist-perl_0.101.bb | 2 +- packages/perl/libdevel-stacktrace-perl_1.13.bb | 2 +- packages/perl/libdigest-sha1-perl_2.11.bb | 2 +- packages/perl/liberror-perl_0.17004.bb | 2 +- packages/perl/libexception-class-perl_1.23.bb | 2 +- packages/perl/libextutils-cbuilder-perl_0.18.bb | 2 +- packages/perl/libextutils-parsexs-perl_2.16.bb | 2 +- packages/perl/libintl-perl_1.16.bb | 1 + packages/perl/libio-zlib-perl_1.04.bb | 2 +- packages/perl/libipc-sharelite-perl_0.09.bb | 2 +- packages/perl/liblocale-gettext-perl_1.05.bb | 2 +- packages/perl/liblog-log4perl-perl_1.06.bb | 2 +- packages/perl/libmail-sendmail-perl_0.79.bb | 2 +- packages/perl/libmath-bigint-gmp-perl_1.18.bb | 2 +- packages/perl/libnet-ip-perl_1.25.bb | 2 +- packages/perl/libnetserver-generic-perl_1.03.bb | 2 +- packages/perl/libparams-util-perl_0.20.bb | 2 +- packages/perl/libparams-validate-perl_0.86.bb | 2 +- packages/perl/libperl6-junction-perl_1.10.bb | 2 +- packages/perl/libsub-exporter-perl_0.970.bb | 2 +- packages/perl/libsub-install-perl_0.922.bb | 2 +- packages/perl/libsub-uplevel-perl_0.13.bb | 2 +- packages/perl/libtest-builder-tester-perl_1.01.bb | 2 +- packages/perl/libtest-differences-perl_0.47.bb | 2 +- packages/perl/libtest-exception-perl_0.22.bb | 2 +- packages/perl/libtest-mockmodule-perl_0.05.bb | 2 +- packages/perl/libtest-output-perl_0.10.bb | 2 +- packages/perl/libtext-diff-perl_0.35.bb | 2 +- packages/perl/libversion-perl_0.6701.bb | 2 +- packages/perl/libxml-parser-perl_2.34.bb | 2 +- packages/perl/libyaml-perl_0.62.bb | 2 +- 37 files changed, 37 insertions(+), 36 deletions(-) diff --git a/packages/perl/libalgorithm-diff-perl_1.1902.bb b/packages/perl/libalgorithm-diff-perl_1.1902.bb index 1021b4c77c..bd5c12f08c 100644 --- a/packages/perl/libalgorithm-diff-perl_1.1902.bb +++ b/packages/perl/libalgorithm-diff-perl_1.1902.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-exporter perl-module-strict perl-module-vars \ perl-module-strict perl-module-vars" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TY/TYEMQ/Algorithm-Diff-${PV}.tar.gz" diff --git a/packages/perl/libarchive-tar-perl_1.30.bb b/packages/perl/libarchive-tar-perl_1.30.bb index b58506688b..978879be2c 100644 --- a/packages/perl/libarchive-tar-perl_1.30.bb +++ b/packages/perl/libarchive-tar-perl_1.30.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS += "libio-zlib-perl-native" RDEPENDS += "libio-zlib-perl" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/K/KA/KANE/Archive-Tar-${PV}.tar.gz" diff --git a/packages/perl/libcache-cache-perl_1.05.bb b/packages/perl/libcache-cache-perl_1.05.bb index c90e9fed53..d33edc595e 100644 --- a/packages/perl/libcache-cache-perl_1.05.bb +++ b/packages/perl/libcache-cache-perl_1.05.bb @@ -4,7 +4,7 @@ LICENSE = "Artistic|GPL" DEPENDS = "libdigest-sha1-perl-native liberror-perl-native \ libipc-sharelite-perl-native" RDEPENDS = "libdigest-sha1-perl liberror-perl libipc-sharelite-perl" -PR = "r3" +PR = "r4" SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DC/DCLINTON/Cache-Cache-${PV}.tar.gz" diff --git a/packages/perl/libclass-container-perl_0.12.bb b/packages/perl/libclass-container-perl_0.12.bb index 6395cfc890..5bb8968225 100644 --- a/packages/perl/libclass-container-perl_0.12.bb +++ b/packages/perl/libclass-container-perl_0.12.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS = "libparams-validate-perl-native" RDEPENDS = "libparams-validate-perl" -PR = "r3" +PR = "r4" SRC_URI = "http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Class-Container-${PV}.tar.gz" diff --git a/packages/perl/libclass-data-inheritable-perl_0.06.bb b/packages/perl/libclass-data-inheritable-perl_0.06.bb index 71a1f76526..a1f666ad7e 100644 --- a/packages/perl/libclass-data-inheritable-perl_0.06.bb +++ b/packages/perl/libclass-data-inheritable-perl_0.06.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Class::Data::Inheritable - Inheritable, overridable class data" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r3" +PR = "r4" SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TM/TMTM/Class-Data-Inheritable-${PV}.tar.gz" diff --git a/packages/perl/libcompress-zlib-perl_1.42.bb b/packages/perl/libcompress-zlib-perl_1.42.bb index 19f60f801b..8afb0141f6 100644 --- a/packages/perl/libcompress-zlib-perl_1.42.bb +++ b/packages/perl/libcompress-zlib-perl_1.42.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Compress::Zlib - Interface to zlib compression library" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r4" +PR = "r5" SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PM/PMQS/Compress-Zlib-${PV}.tar.gz" diff --git a/packages/perl/libdata-optlist-perl_0.101.bb b/packages/perl/libdata-optlist-perl_0.101.bb index 40a2da46a7..3b7652d165 100644 --- a/packages/perl/libdata-optlist-perl_0.101.bb +++ b/packages/perl/libdata-optlist-perl_0.101.bb @@ -4,7 +4,7 @@ LICENSE = "Artistic|GPL" DEPENDS += "libsub-install-perl-native libparams-util-perl-native" RDEPENDS += "perl-module-list-util libparams-util-perl perl-module-strict \ libsub-install-perl perl-module-warnings " -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Data-OptList-${PV}.tar.gz" diff --git a/packages/perl/libdevel-stacktrace-perl_1.13.bb b/packages/perl/libdevel-stacktrace-perl_1.13.bb index e5414895b0..e4c5158d67 100644 --- a/packages/perl/libdevel-stacktrace-perl_1.13.bb +++ b/packages/perl/libdevel-stacktrace-perl_1.13.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Devel::StackTrace - Stack trace and stack trace frame objects" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r3" +PR = "r4" SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Devel-StackTrace-${PV}.tar.gz" diff --git a/packages/perl/libdigest-sha1-perl_2.11.bb b/packages/perl/libdigest-sha1-perl_2.11.bb index 178b463d38..3b139299fe 100644 --- a/packages/perl/libdigest-sha1-perl_2.11.bb +++ b/packages/perl/libdigest-sha1-perl_2.11.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Digest::SHA1 - Perl interface to the SHA-1 algorithm" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r8" +PR = "r9" SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-${PV}.tar.gz" diff --git a/packages/perl/liberror-perl_0.17004.bb b/packages/perl/liberror-perl_0.17004.bb index b41b4ce50e..7647c630ed 100644 --- a/packages/perl/liberror-perl_0.17004.bb +++ b/packages/perl/liberror-perl_0.17004.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Error - Error/exception handling in an OO-ish way" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r4" +PR = "r5" SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PEVANS/Error-${PV}.tar.gz" diff --git a/packages/perl/libexception-class-perl_1.23.bb b/packages/perl/libexception-class-perl_1.23.bb index 3255fc582d..8acfec6ee9 100644 --- a/packages/perl/libexception-class-perl_1.23.bb +++ b/packages/perl/libexception-class-perl_1.23.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS = "libclass-data-inheritable-perl-native libdevel-stacktrace-perl-native" RDEPENDS = "libclass-data-inheritable-perl libdevel-stacktrace-perl" -PR = "r4" +PR = "r5" SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Exception-Class-${PV}.tar.gz" diff --git a/packages/perl/libextutils-cbuilder-perl_0.18.bb b/packages/perl/libextutils-cbuilder-perl_0.18.bb index bf6df4cc16..7e92155177 100644 --- a/packages/perl/libextutils-cbuilder-perl_0.18.bb +++ b/packages/perl/libextutils-cbuilder-perl_0.18.bb @@ -1,7 +1,7 @@ DESCRIPTION = "ExtUtils::CBuilder - Compile and link C code for Perl modules" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/ExtUtils-CBuilder-${PV}.tar.gz" diff --git a/packages/perl/libextutils-parsexs-perl_2.16.bb b/packages/perl/libextutils-parsexs-perl_2.16.bb index abd92a34ba..070ce931b2 100644 --- a/packages/perl/libextutils-parsexs-perl_2.16.bb +++ b/packages/perl/libextutils-parsexs-perl_2.16.bb @@ -1,7 +1,7 @@ DESCRIPTION = "ExtUtils::ParseXS - converts Perl XS code into C code" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/ExtUtils-ParseXS-${PV}.tar.gz" diff --git a/packages/perl/libintl-perl_1.16.bb b/packages/perl/libintl-perl_1.16.bb index 723ef0abe1..3cb0a9d796 100644 --- a/packages/perl/libintl-perl_1.16.bb +++ b/packages/perl/libintl-perl_1.16.bb @@ -3,6 +3,7 @@ LICENSE = "Artistic|GPL" RDEPENDS = "perl-module-vars perl-module-locale perl-module-io-handle \ perl-module-symbol perl-module-selectsaver perl-module-io \ perl-module-integer perl-module-exporter-heavy" +PR = "r1" SRC_URI = "http://www.cpan.org/authors/id/G/GU/GUIDO/libintl-perl-${PV}.tar.gz" diff --git a/packages/perl/libio-zlib-perl_1.04.bb b/packages/perl/libio-zlib-perl_1.04.bb index aa6680bc84..15a71edee8 100644 --- a/packages/perl/libio-zlib-perl_1.04.bb +++ b/packages/perl/libio-zlib-perl_1.04.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS = "libcompress-zlib-perl-native" RDEPENDS += "libcompress-zlib-perl" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TO/TOMHUGHES/IO-Zlib-${PV}.tar.gz" diff --git a/packages/perl/libipc-sharelite-perl_0.09.bb b/packages/perl/libipc-sharelite-perl_0.09.bb index acb280b111..2ee30ddd8f 100644 --- a/packages/perl/libipc-sharelite-perl_0.09.bb +++ b/packages/perl/libipc-sharelite-perl_0.09.bb @@ -1,7 +1,7 @@ DESCRIPTION = "IPC::ShareLite - Light-weight interface to shared memory" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r8" +PR = "r9" SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MAURICE/IPC-ShareLite-${PV}.tar.gz" diff --git a/packages/perl/liblocale-gettext-perl_1.05.bb b/packages/perl/liblocale-gettext-perl_1.05.bb index 177ad02e85..c2aa649a42 100644 --- a/packages/perl/liblocale-gettext-perl_1.05.bb +++ b/packages/perl/liblocale-gettext-perl_1.05.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Locale::gettext - message handling functions" SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS = "virtual/libintl" -PR = "r4" +PR = "r5" SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PV/PVANDRY/gettext-${PV}.tar.gz" diff --git a/packages/perl/liblog-log4perl-perl_1.06.bb b/packages/perl/liblog-log4perl-perl_1.06.bb index 75060cce6a..49cd33fcd7 100644 --- a/packages/perl/liblog-log4perl-perl_1.06.bb +++ b/packages/perl/liblog-log4perl-perl_1.06.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Log::Log4perl - Log4j implementation for Perl" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/Log-Log4perl-${PV}.tar.gz" diff --git a/packages/perl/libmail-sendmail-perl_0.79.bb b/packages/perl/libmail-sendmail-perl_0.79.bb index 73c157d613..2b933dd331 100644 --- a/packages/perl/libmail-sendmail-perl_0.79.bb +++ b/packages/perl/libmail-sendmail-perl_0.79.bb @@ -1,6 +1,6 @@ SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r1" +PR = "r2" SRC_URI = "http://www.cpan.org/modules/by-module/Mail/Mail-Sendmail-${PV}.tar.gz" diff --git a/packages/perl/libmath-bigint-gmp-perl_1.18.bb b/packages/perl/libmath-bigint-gmp-perl_1.18.bb index 53a83da08b..c9efad46aa 100644 --- a/packages/perl/libmath-bigint-gmp-perl_1.18.bb +++ b/packages/perl/libmath-bigint-gmp-perl_1.18.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS += "gmp-native" RDEPENDS += "gmp" -PR = "r2" +PR = "r3" SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TE/TELS/math/Math-BigInt-GMP-${PV}.tar.gz" diff --git a/packages/perl/libnet-ip-perl_1.25.bb b/packages/perl/libnet-ip-perl_1.25.bb index 183acc8eef..e25aaad290 100644 --- a/packages/perl/libnet-ip-perl_1.25.bb +++ b/packages/perl/libnet-ip-perl_1.25.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS += "libio-zlib-perl-native" RDEPENDS += "libio-zlib-perl perl-module-math-bigint" -PR = "r2" +PR = "r3" SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-${PV}.tar.gz" diff --git a/packages/perl/libnetserver-generic-perl_1.03.bb b/packages/perl/libnetserver-generic-perl_1.03.bb index 95b7e55a32..1cd2e7634e 100644 --- a/packages/perl/libnetserver-generic-perl_1.03.bb +++ b/packages/perl/libnetserver-generic-perl_1.03.bb @@ -1,6 +1,6 @@ SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r1" +PR = "r2" SRC_URI = "http://www.cpan.org/modules/by-module/NetServer/NetServer-Generic-${PV}.tar.gz" diff --git a/packages/perl/libparams-util-perl_0.20.bb b/packages/perl/libparams-util-perl_0.20.bb index deb3c58b31..cff204fd3a 100644 --- a/packages/perl/libparams-util-perl_0.20.bb +++ b/packages/perl/libparams-util-perl_0.20.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-exporter perl-module-overload \ perl-module-scalar-util perl-module-strict perl-module-vars" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-${PV}.tar.gz" diff --git a/packages/perl/libparams-validate-perl_0.86.bb b/packages/perl/libparams-validate-perl_0.86.bb index c102b6df1b..006d9602e7 100644 --- a/packages/perl/libparams-validate-perl_0.86.bb +++ b/packages/perl/libparams-validate-perl_0.86.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Params::Validate - Validate method/function parameters" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r8" +PR = "r9" SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Params-Validate-${PV}.tar.gz" diff --git a/packages/perl/libperl6-junction-perl_1.10.bb b/packages/perl/libperl6-junction-perl_1.10.bb index dda3cf4be3..fc953707f1 100644 --- a/packages/perl/libperl6-junction-perl_1.10.bb +++ b/packages/perl/libperl6-junction-perl_1.10.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Perl6::Junction - Perl6 style Junction operators in Perl5." SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/C/CF/CFRANKS/Perl6-Junction-${PV}.tar.gz" diff --git a/packages/perl/libsub-exporter-perl_0.970.bb b/packages/perl/libsub-exporter-perl_0.970.bb index 5d56090549..e44a4a4ef7 100644 --- a/packages/perl/libsub-exporter-perl_0.970.bb +++ b/packages/perl/libsub-exporter-perl_0.970.bb @@ -5,7 +5,7 @@ DEPENDS += "libdata-optlist-perl-native libsub-install-perl-native \ libparams-util-perl-native" RDEPENDS += "perl-module-carp libdata-optlist-perl libparams-util-perl \ perl-module-strict libsub-install-perl perl-module-warnings" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Exporter-${PV}.tar.gz" diff --git a/packages/perl/libsub-install-perl_0.922.bb b/packages/perl/libsub-install-perl_0.922.bb index ef8607312f..b1ff7b1fa0 100644 --- a/packages/perl/libsub-install-perl_0.922.bb +++ b/packages/perl/libsub-install-perl_0.922.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-carp perl-module-scalar-util perl-module-strict \ perl-module-warnings" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RJ/RJBS/Sub-Install-${PV}.tar.gz" diff --git a/packages/perl/libsub-uplevel-perl_0.13.bb b/packages/perl/libsub-uplevel-perl_0.13.bb index 8c66f49031..9243fada20 100644 --- a/packages/perl/libsub-uplevel-perl_0.13.bb +++ b/packages/perl/libsub-uplevel-perl_0.13.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Sub::Uplevel - apparently run a function in a higher stack frame" SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-exporter perl-module-strict perl-module-vars" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-${PV}.tar.gz" diff --git a/packages/perl/libtest-builder-tester-perl_1.01.bb b/packages/perl/libtest-builder-tester-perl_1.01.bb index 860194ebb8..b40da5b7b4 100644 --- a/packages/perl/libtest-builder-tester-perl_1.01.bb +++ b/packages/perl/libtest-builder-tester-perl_1.01.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-strict perl-module-carp perl-module-exporter \ perl-module-symbol perl-module-vars" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKF/Test-Builder-Tester-${PV}.tar.gz" diff --git a/packages/perl/libtest-differences-perl_0.47.bb b/packages/perl/libtest-differences-perl_0.47.bb index baf0c4c6e3..c1457ab015 100644 --- a/packages/perl/libtest-differences-perl_0.47.bb +++ b/packages/perl/libtest-differences-perl_0.47.bb @@ -4,7 +4,7 @@ LICENSE = "Artistic|GPL" DEPENDS += "libtext-diff-perl-native" RDEPENDS += "perl-module-carp perl-module-constant perl-module-exporter \ perl-module-strict libtext-diff-perl" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RB/RBS/Test-Differences-${PV}.tar.gz" diff --git a/packages/perl/libtest-exception-perl_0.22.bb b/packages/perl/libtest-exception-perl_0.22.bb index c87f6a803f..10298d689c 100644 --- a/packages/perl/libtest-exception-perl_0.22.bb +++ b/packages/perl/libtest-exception-perl_0.22.bb @@ -5,7 +5,7 @@ DEPENDS += "libsub-uplevel-perl-native" RDEPENDS += "perl-module-base perl-module-carp perl-module-strict \ libsub-uplevel-perl perl-module-test-builder \ perl-module-warnings" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/A/AD/ADIE/Test-Exception-${PV}.tar.gz" diff --git a/packages/perl/libtest-mockmodule-perl_0.05.bb b/packages/perl/libtest-mockmodule-perl_0.05.bb index 41f35b7a82..15c1fcc787 100644 --- a/packages/perl/libtest-mockmodule-perl_0.05.bb +++ b/packages/perl/libtest-mockmodule-perl_0.05.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" RDEPENDS += "perl-module-carp perl-module-scalar-util perl-module-strict \ perl-module-vars " -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SI/SIMONFLK/Test-MockModule-${PV}.tar.gz" diff --git a/packages/perl/libtest-output-perl_0.10.bb b/packages/perl/libtest-output-perl_0.10.bb index bce6b9e1b3..990dd51e3e 100644 --- a/packages/perl/libtest-output-perl_0.10.bb +++ b/packages/perl/libtest-output-perl_0.10.bb @@ -3,7 +3,7 @@ SECTION = "libs" LICENSE = "Artistic|GPL" DEPENDS += "libsub-exporter-perl-native" RDEPENDS += "libsub-exporter-perl" -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SS/SSORICHE/Test-Output-${PV}.tar.gz" diff --git a/packages/perl/libtext-diff-perl_0.35.bb b/packages/perl/libtext-diff-perl_0.35.bb index 40a6373a8f..69568c6fe4 100644 --- a/packages/perl/libtext-diff-perl_0.35.bb +++ b/packages/perl/libtext-diff-perl_0.35.bb @@ -5,7 +5,7 @@ DEPENDS += "libalgorithm-diff-perl-native" RDEPENDS += "libalgorithm-diff-perl perl-module-carp perl-module-constant \ perl-module-exporter perl-module-strict perl-module-carp \ perl-module-strict " -PR = "r0" +PR = "r1" SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RB/RBS/Text-Diff-${PV}.tar.gz" diff --git a/packages/perl/libversion-perl_0.6701.bb b/packages/perl/libversion-perl_0.6701.bb index b4f398f040..453e3c357f 100644 --- a/packages/perl/libversion-perl_0.6701.bb +++ b/packages/perl/libversion-perl_0.6701.bb @@ -1,7 +1,7 @@ DESCRIPTION = "version - Perl extension for Version Objects" SECTION = "libs" LICENSE = "Artistic|GPL" -PR = "r3" +PR = "r4" SRC_URI = "http://search.cpan.org/CPAN/authors/id/J/JP/JPEACOCK/version-${PV}.tar.gz" diff --git a/packages/perl/libxml-parser-perl_2.34.bb b/packages/perl/libxml-parser-perl_2.34.bb index 67ee0bd8de..28bf16deee 100644 --- a/packages/perl/libxml-parser-perl_2.34.bb +++ b/packages/perl/libxml-parser-perl_2.34.bb @@ -1,7 +1,7 @@ SECTION = "libs" LICENSE = "Artistic" DEPENDS += "expat-native" -PR = "r4" +PR = "r5" SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz" diff --git a/packages/perl/libyaml-perl_0.62.bb b/packages/perl/libyaml-perl_0.62.bb index 31ebc53040..ab4d58e841 100644 --- a/packages/perl/libyaml-perl_0.62.bb +++ b/packages/perl/libyaml-perl_0.62.bb @@ -4,7 +4,7 @@ LICENSE = "Artistic|GPL" DEPENDS = "libdigest-sha1-perl-native liberror-perl-native \ libipc-sharelite-perl-native" RDEPENDS = "libdigest-sha1-perl liberror-perl libipc-sharelite-perl" -PR = "r1" +PR = "r2" SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-${PV}.tar.gz" -- cgit v1.2.3 From ff10fe9967ca0de822af875665dbcbabafd19b1b Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 2 May 2007 05:58:32 +0000 Subject: net-snmp 5.1.2: Fix for do_configure hanging when using bitbake 1.8.2. We need to pass "--with-defaults" to configure tell it we want the defaults so it doesn't warn that the defaults are going to be used and ask them to confirm each of the defaults. --- packages/net-snmp/net-snmp_5.1.2.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/net-snmp/net-snmp_5.1.2.bb b/packages/net-snmp/net-snmp_5.1.2.bb index 302e7eed52..330e13e0ef 100644 --- a/packages/net-snmp/net-snmp_5.1.2.bb +++ b/packages/net-snmp/net-snmp_5.1.2.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Various tools relating to the Simple Network Management Protocol" HOMEPAGE = "http://www.net-snmp.org/" LICENSE = "BSD" DEPENDS = "openssl" -PR = "r2" +PR = "r3" SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ file://uclibc-fix.patch;patch=1 \ @@ -13,7 +13,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ inherit autotools PARALLEL_MAKE = "" -EXTRA_OECONF = "--enable-shared --disable-manuals" +EXTRA_OECONF = "--enable-shared --disable-manuals --with-defaults" EXTRA_OEMAKE = "INSTALL_PREFIX=${D}" do_configure() { -- cgit v1.2.3 From 563b9f4daa8a39c20dd7754d5ee32d3583a1e173 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 2 May 2007 08:15:18 +0000 Subject: glib-2.0: add 2.12.12, a bugfix release --- packages/glib-2.0/glib-2.0-2.12.12/.mtn2git_empty | 0 .../glib-2.0-2.12.12/configure-libtool.patch | 20 ++++++++++++++++++++ packages/glib-2.0/glib-2.0_2.12.12.bb | 8 ++++++++ 3 files changed, 28 insertions(+) create mode 100644 packages/glib-2.0/glib-2.0-2.12.12/.mtn2git_empty create mode 100644 packages/glib-2.0/glib-2.0-2.12.12/configure-libtool.patch create mode 100644 packages/glib-2.0/glib-2.0_2.12.12.bb diff --git a/packages/glib-2.0/glib-2.0-2.12.12/.mtn2git_empty b/packages/glib-2.0/glib-2.0-2.12.12/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/glib-2.0/glib-2.0-2.12.12/configure-libtool.patch b/packages/glib-2.0/glib-2.0-2.12.12/configure-libtool.patch new file mode 100644 index 0000000000..50ffc628db --- /dev/null +++ b/packages/glib-2.0/glib-2.0-2.12.12/configure-libtool.patch @@ -0,0 +1,20 @@ +--- /tmp/configure.in 2007-02-04 12:07:05.000000000 +0100 ++++ glib-2.12.9/configure.in 2007-02-04 12:08:04.655251000 +0100 +@@ -1174,7 +1174,7 @@ + G_MODULE_LDFLAGS= + else + export SED +- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++ G_MODULE_LDFLAGS=`(./$host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + fi + dnl G_MODULE_IMPL= don't reset, so cmd-line can override + G_MODULE_NEED_USCORE=0 +@@ -1239,7 +1239,7 @@ + LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS" + dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness + echo "void glib_plugin_test(void) { }" > plugin.c +- ${SHELL} ./libtool --mode=compile ${CC} -shared \ ++ ${SHELL} ./$host_alias-libtool --mode=compile ${CC} -shared \ + -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null + AC_CACHE_CHECK([for RTLD_GLOBAL brokenness], + glib_cv_rtldglobal_broken,[ diff --git a/packages/glib-2.0/glib-2.0_2.12.12.bb b/packages/glib-2.0/glib-2.0_2.12.12.bb new file mode 100644 index 0000000000..f8eb9e5537 --- /dev/null +++ b/packages/glib-2.0/glib-2.0_2.12.12.bb @@ -0,0 +1,8 @@ +require glib.inc + +PR = "r0" + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-${PV}.tar.bz2 \ + file://glibconfig-sysdefs.h \ + file://configure-libtool.patch;patch=1" + -- cgit v1.2.3 From 30258fbbe17abcbf8239830bf4d9c8e3659b829d Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 2 May 2007 08:32:17 +0000 Subject: settings-daemon: merge changes from Poky (proper PV, dependencies) --- packages/settings-daemon/settings-daemon_svn.bb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/settings-daemon/settings-daemon_svn.bb b/packages/settings-daemon/settings-daemon_svn.bb index b81c6c3e16..b427176c79 100644 --- a/packages/settings-daemon/settings-daemon_svn.bb +++ b/packages/settings-daemon/settings-daemon_svn.bb @@ -1,16 +1,17 @@ -DESCRIPTION = "Settings-daemon is a bridge between xst/gpe-confd and gconf" +DESCRIPTION = "Settings-daemon provides a bridge between gconf and xsettings" LICENSE = "GPL" -DEPENDS = "gconf xst glib-2.0" +DEPENDS = "gconf glib-2.0" +RDEPENDS = "xrdb" SECTION = "x11" - -PR = "r1" +PV = "0.0+svn${SRCDATE}" +PR = "r2" SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \ file://70settings-daemon" S = "${WORKDIR}/${PN}" -inherit autotools pkgconfig gettext +inherit autotools pkgconfig gettext gconf FILES_${PN} = "${bindir}/* ${sysconfdir}" @@ -18,3 +19,4 @@ do_install_append () { install -d ${D}/${sysconfdir}/X11/Xsession.d install -m 755 ${WORKDIR}/70settings-daemon ${D}/${sysconfdir}/X11/Xsession.d/ } + -- cgit v1.2.3 From 31c1afd35fe441f6b8afe0849cb2d07ffdbe6f06 Mon Sep 17 00:00:00 2001 From: Dirk Opfer Date: Wed, 2 May 2007 09:23:49 +0000 Subject: valgrind: 3.2.3 added --- packages/valgrind/valgrind_3.2.3.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 packages/valgrind/valgrind_3.2.3.bb diff --git a/packages/valgrind/valgrind_3.2.3.bb b/packages/valgrind/valgrind_3.2.3.bb new file mode 100644 index 0000000000..6cc835a9f4 --- /dev/null +++ b/packages/valgrind/valgrind_3.2.3.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Valgrind memory debugger" +HOMEPAGE = "http://www.valgrind.org/" +SECTION = "devel" +LICENSE = "GPL" +DEPENDS = "virtual/libx11" +PR = "r0" + +SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2" + +inherit autotools + +EXTRA_OECONF = "--enable-tls" + +COMPATIBLE_HOST = "^i.86.*-linux" + +FILES_${PN}-dbg += "/usr/lib/valgrind/x86-linux/.debug" -- cgit v1.2.3 From a81f3e2f5cae2682f8aa0989ff5ed1d020a6bb06 Mon Sep 17 00:00:00 2001 From: Dirk Opfer Date: Wed, 2 May 2007 09:26:05 +0000 Subject: syslinux: 3.36 added, also install extlinux --- packages/syslinux/syslinux-native_3.36.bb | 3 +++ packages/syslinux/syslinux3.inc | 1 + 2 files changed, 4 insertions(+) create mode 100644 packages/syslinux/syslinux-native_3.36.bb diff --git a/packages/syslinux/syslinux-native_3.36.bb b/packages/syslinux/syslinux-native_3.36.bb new file mode 100644 index 0000000000..d9019a4ab4 --- /dev/null +++ b/packages/syslinux/syslinux-native_3.36.bb @@ -0,0 +1,3 @@ +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 " + +require syslinux3.inc diff --git a/packages/syslinux/syslinux3.inc b/packages/syslinux/syslinux3.inc index 25942aab84..95124d6160 100644 --- a/packages/syslinux/syslinux3.inc +++ b/packages/syslinux/syslinux3.inc @@ -8,6 +8,7 @@ do_stage() { install -d ${STAGING_BINDIR} install -m 755 ${STAGE_TEMP}/usr/bin/syslinux ${STAGING_BINDIR} + install -m 755 ${STAGE_TEMP}/sbin/extlinux ${STAGING_BINDIR} # When building media, the syslinux binary isn't nearly as useful # as the DOS data files, so we copy those into a special location -- cgit v1.2.3 From 65bc4f8d870ad81f9e92f9b5930ee6bfd5964af1 Mon Sep 17 00:00:00 2001 From: Dirk Opfer Date: Wed, 2 May 2007 09:27:54 +0000 Subject: ethtool: version 5 added --- packages/ethtool/ethtool_5.bb | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 packages/ethtool/ethtool_5.bb diff --git a/packages/ethtool/ethtool_5.bb b/packages/ethtool/ethtool_5.bb new file mode 100644 index 0000000000..c1d30c678d --- /dev/null +++ b/packages/ethtool/ethtool_5.bb @@ -0,0 +1,2 @@ +require ethtool.inc +PR="r0" -- cgit v1.2.3 From 23719bc83fd83bb97f4a1b1dd3f827695d650466 Mon Sep 17 00:00:00 2001 From: Manuel Teira Date: Wed, 2 May 2007 09:57:07 +0000 Subject: gpe-conf: make it build with wireless includes changes - close #2095 --- packages/gpe-conf/gpe-conf-0.2.5/wireless.patch | 16 ++++++++++++++++ packages/gpe-conf/gpe-conf_0.2.5.bb | 5 +++-- 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 packages/gpe-conf/gpe-conf-0.2.5/wireless.patch diff --git a/packages/gpe-conf/gpe-conf-0.2.5/wireless.patch b/packages/gpe-conf/gpe-conf-0.2.5/wireless.patch new file mode 100644 index 0000000000..4e52f8b092 --- /dev/null +++ b/packages/gpe-conf/gpe-conf-0.2.5/wireless.patch @@ -0,0 +1,16 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- gpe-conf-0.2.5/modules/sysinfo.c~wireless ++++ gpe-conf-0.2.5/modules/sysinfo.c +@@ -28,6 +28,8 @@ + #include + + #include ++#include ++#include + #include + #include + diff --git a/packages/gpe-conf/gpe-conf_0.2.5.bb b/packages/gpe-conf/gpe-conf_0.2.5.bb index 6bd96204eb..8cb2d61f3d 100644 --- a/packages/gpe-conf/gpe-conf_0.2.5.bb +++ b/packages/gpe-conf/gpe-conf_0.2.5.bb @@ -10,7 +10,7 @@ RDEPENDS_gpe-conf-panel = "gpe-conf" RPROVIDES_${PN} += " bl" RCONFLICTS_${PN} = "bl" -PR = "r3" +PR = "r4" GPE_TARBALL_SUFFIX = "bz2" @@ -23,4 +23,5 @@ FILES_${PN} = "${sysconfdir} ${bindir} ${datadir}/pixmaps \ ${datadir}/gpe-conf" FILES_gpe-conf-panel = "${datadir}/applications/gpe-conf.desktop" -SRC_URI += "file://backlight-bugfix.patch;patch=1" +SRC_URI += "file://backlight-bugfix.patch;patch=1 \ + file://wireless.patch;patch=1" -- cgit v1.2.3 From 7e4af417c04c0a3134f6adc87089216c2920d5a4 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 2 May 2007 10:05:05 +0000 Subject: libglade: set '-lz' in LDFLAGS instead of CFLAGS - close #1774 --- packages/libglade/libglade_2.4.2.bb | 2 +- packages/libglade/libglade_2.5.1.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/libglade/libglade_2.4.2.bb b/packages/libglade/libglade_2.4.2.bb index b57d51d996..dce7e5618d 100644 --- a/packages/libglade/libglade_2.4.2.bb +++ b/packages/libglade/libglade_2.4.2.bb @@ -12,7 +12,7 @@ SRC_URI += "file://glade-cruft.patch;patch=1 file://no-xml2.patch;patch=1" EXTRA_OECONF += "--without-libxml2" -CFLAGS += "-lz" +LDFLAGS += "-lz" PACKAGES += " ${PN}-data" FILES_${PN} = "${libdir}/lib*.so.*" diff --git a/packages/libglade/libglade_2.5.1.bb b/packages/libglade/libglade_2.5.1.bb index 4dcbe69828..8d43bc412e 100644 --- a/packages/libglade/libglade_2.5.1.bb +++ b/packages/libglade/libglade_2.5.1.bb @@ -13,7 +13,7 @@ SRC_URI += "file://glade-cruft.patch;patch=1 file://no-xml2.patch;patch=1 \ EXTRA_OECONF += "--without-libxml2" -CFLAGS += "-lz" +LDFLAGS += "-lz" PACKAGES += " ${PN}-data" FILES_${PN} = "${libdir}/lib*.so.*" -- cgit v1.2.3 From 57b3d83e6a2c8951db18a7a47e67075f5cd58f53 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 2 May 2007 10:48:17 +0000 Subject: image.bbclass: remove *all* IPKG list files --- classes/image.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/image.bbclass b/classes/image.bbclass index 2954dcdf39..5f1dfa2dce 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -80,7 +80,7 @@ fakeroot do_rootfs () { insert_feed_uris - rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/oe + rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/* ${IMAGE_PREPROCESS_COMMAND} -- cgit v1.2.3 From fa1f831bbf452179c778e7698dedcae323a6dfb0 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Wed, 2 May 2007 13:23:13 +0000 Subject: gpe-dm: add 0.51, doesn't need procps anymore --- packages/gpe-dm/gpe-dm_0.51.bb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 packages/gpe-dm/gpe-dm_0.51.bb diff --git a/packages/gpe-dm/gpe-dm_0.51.bb b/packages/gpe-dm/gpe-dm_0.51.bb new file mode 100644 index 0000000000..6cf1f002a0 --- /dev/null +++ b/packages/gpe-dm/gpe-dm_0.51.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "GPE Display Manager" +SECTION = "gpe" +PRIORITY = "optional" +LICENSE = "GPL" +DEPENDS = "glib-2.0 xserver-common" +RDEPENDS_${PN} += " xserver-common" + +GPE_TARBALL_SUFFIX ?= "bz2" + +inherit gpe autotools update-rc.d + +INITSCRIPT_NAME = "gpe-dm" +INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." -- cgit v1.2.3 From 5df60911ef26d97fb8bca857f3f203722a12180a Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Wed, 2 May 2007 15:15:33 +0000 Subject: packages/gcc/gcc_4.1.1.bb: Do not apply ppc soft-float patches when building with uclibc This is a dirty hack to get gcc 4.1.1 to compile for glibc AND uclibc on ppc the patch that is need it to get gcc support soft-floats with glibc, makes gcc fail with uclibc --- packages/gcc/gcc_4.1.1.bb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/gcc/gcc_4.1.1.bb b/packages/gcc/gcc_4.1.1.bb index c88692ae0c..9135daca18 100644 --- a/packages/gcc/gcc_4.1.1.bb +++ b/packages/gcc/gcc_4.1.1.bb @@ -1,4 +1,4 @@ -PR = "r13" +PR = "r14" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" @@ -37,8 +37,11 @@ SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \ SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " -SRC_URI_append_powerpc = " file://ppc-gcc-41-20060515.patch;patch=1 \ - file://ppc-sfp-long-double-gcc411-7.patch;patch=1 " +#This is a dirty hack to get gcc 4.1.1 to compile for glibc AND uclibc on ppc +#the patch that is need it to get gcc support soft-floats with glibc, makes gcc fail with uclibc +SRC_URI_append_linux = " file://ppc-gcc-41-20060515.patch;patch=1 \ + file://ppc-sfp-long-double-gcc411-7.patch;patch=1 " + #Set the fortran bits # 'fortran' or '', not 'f77' like gcc3 had -- cgit v1.2.3 From bd04bdf78d070b58637c10269573e444a71ada73 Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Wed, 2 May 2007 15:17:06 +0000 Subject: conf/bitbake.conf:make default values for jffs2, squashfs and squashfs-lzma generated images architecture neutral --- conf/bitbake.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/bitbake.conf b/conf/bitbake.conf index ae26d992f2..c754dab273 100644 --- a/conf/bitbake.conf +++ b/conf/bitbake.conf @@ -205,9 +205,9 @@ IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE IMAGE_CMD_cpio = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio)" IMAGE_CMD_cpio.gz = "cd ${IMAGE_ROOTFS} && (find . | cpio -o -H newc | gzip -c -9 >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cpio.gz)" EXTRA_IMAGECMD = "" -EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000" -EXTRA_IMAGECMD_squashfs = "-le -b 16384" -EXTRA_IMAGECMD_squashfs-lzma = "-le -b 16384" +EXTRA_IMAGECMD_jffs2 = "" +EXTRA_IMAGECMD_squashfs = "" +EXTRA_IMAGECMD_squashfs-lzma = "" IMAGE_DEPENDS = "" IMAGE_DEPENDS_jffs2 = "mtd-utils-native" -- cgit v1.2.3 From 31e928d015c9869e185a55414a217eda6b195aae Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Wed, 2 May 2007 15:18:30 +0000 Subject: conf/machine/magicbox.conf: Make sure squashfs-lzma image builds for big endian arch --- conf/machine/magicbox.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/machine/magicbox.conf b/conf/machine/magicbox.conf index 5231c68bb1..22e30542f9 100644 --- a/conf/machine/magicbox.conf +++ b/conf/machine/magicbox.conf @@ -18,6 +18,7 @@ SERIAL_CONSOLE = "115200 ttyS0" PREFERRED_VERSION_u-boot = "1.1.2" EXTRA_IMAGECMD_jffs2 = "--big-endian" EXTRA_IMAGECMD_squashfs = " -be -all-root " +EXTRA_IMAGECMD_squashfs-lzma = " -be -all-root " #tune for the 405 cpu require conf/machine/include/tune-ppc405.conf -- cgit v1.2.3 From 908cca5e0650b4df4ea5e8a0a77f5946e118b3cf Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Wed, 2 May 2007 15:20:30 +0000 Subject: packages/initscripts/initscripts_1.0.bb:Add mountall.sh script for oplinux-uclibc --- .../initscripts-1.0/oplinux-uclibc/mountall.sh | 45 ++++++++++++++++++++++ packages/initscripts/initscripts_1.0.bb | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 packages/initscripts/initscripts-1.0/oplinux-uclibc/mountall.sh diff --git a/packages/initscripts/initscripts-1.0/oplinux-uclibc/mountall.sh b/packages/initscripts/initscripts-1.0/oplinux-uclibc/mountall.sh new file mode 100755 index 0000000000..33d7065275 --- /dev/null +++ b/packages/initscripts/initscripts-1.0/oplinux-uclibc/mountall.sh @@ -0,0 +1,45 @@ +# +# mountall.sh Mount all filesystems. +# +# Version: @(#)mountall.sh 2.83-2 01-Nov-2001 miquels@cistron.nl +# +. /etc/default/rcS + +# +# Mount local filesystems in /etc/fstab. For some reason, people +# might want to mount "proc" several times, and mount -v complains +# about this. So we mount "proc" filesystems without -v. +# +test "$VERBOSE" != no && echo "Mounting local filesystems..." +mount -a 2>/dev/null + +# +# We might have mounted something over /dev, see if /dev/initctl is there. +# +if test ! -p /dev/initctl +then + rm -f /dev/initctl + mknod -m 600 /dev/initctl p +fi +kill -USR1 1 + +# +# Execute swapon command again, in case we want to swap to +# a file on a now mounted filesystem. +# +doswap=yes +case "`uname -r`" in + 2.[0123].*) + if grep -qs resync /proc/mdstat + then + doswap=no + fi + ;; +esac +if test $doswap = yes +then + swapon -a 2> /dev/null +fi + +: exit 0 + diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb index 4409c30b0b..21e3bb2afe 100644 --- a/packages/initscripts/initscripts_1.0.bb +++ b/packages/initscripts/initscripts_1.0.bb @@ -4,7 +4,7 @@ PRIORITY = "required" DEPENDS = "makedevs" RDEPENDS = "makedevs" LICENSE = "GPL" -PR = "r89" +PR = "r90" SRC_URI = "file://halt \ file://ramdisk \ -- cgit v1.2.3 From 0c0906410682c3c6937c0717df88223caf741d8a Mon Sep 17 00:00:00 2001 From: Stelios Koroneos Date: Wed, 2 May 2007 15:21:55 +0000 Subject: packages/uclibc/uclibc-cvs/magicbox: Add uclibc config for Magicbox --- packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty | 0 packages/uclibc/uclibc-cvs/magicbox/uClibc.config | 181 +++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty create mode 100644 packages/uclibc/uclibc-cvs/magicbox/uClibc.config diff --git a/packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty b/packages/uclibc/uclibc-cvs/magicbox/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/uclibc/uclibc-cvs/magicbox/uClibc.config b/packages/uclibc/uclibc-cvs/magicbox/uClibc.config new file mode 100644 index 0000000000..780df21b68 --- /dev/null +++ b/packages/uclibc/uclibc-cvs/magicbox/uClibc.config @@ -0,0 +1,181 @@ +# +# Automatically generated make config: don't edit +# Tue May 1 12:03:26 2007 +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +TARGET_powerpc=y +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="powerpc" +FORCE_OPTIONS_FOR_ARCH=y +ARCH_BIG_ENDIAN=y + +# +# Using Big Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +# UCLIBC_HAS_FPU is not set +UCLIBC_HAS_SOFT_FLOAT=y +# DO_C99_MATH is not set +KERNEL_SOURCE="/proj/oplinux-0.2/tmp/uclibc/cross/powerpc-linux-uclibc" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +# ARCH_HAS_NO_LDSO is not set +HAVE_SHARED=y +# FORCE_SHAREABLE_TEXT_SEGMENTS is not set +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +# UCLIBC_STATIC_LDCONFIG is not set +LDSO_RUNPATH=y +UCLIBC_CTOR_DTOR=y +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +PTHREADS_DEBUG_SUPPORT=y +LINUXTHREADS_OLD=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +COMPAT_ATEXIT=y +UCLIBC_SUSV3_LEGACY=y +UCLIBC_HAS_SHADOW=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS___PROGNAME=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +UCLIBC_HAS_IPV6=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y +UCLIBC_HAS_REENTRANT_RPC=y +UCLIBC_USE_NETLINK=y + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +UCLIBC_HAS_STDIO_BUFSIZ_256=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_FNMATCH=y +UCLIBC_HAS_FNMATCH_OLD=y +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GLOB=y +# UCLIBC_HAS_GNU_GLOB is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="/lib" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="//usr" + +# +# Security options +# +# UCLIBC_BUILD_PIE is not set +# UCLIBC_HAS_ARC4RANDOM is not set +# HAVE_NO_SSP is not set +# UCLIBC_HAS_SSP is not set +UCLIBC_BUILD_RELRO=y +# UCLIBC_BUILD_NOW is not set +UCLIBC_BUILD_NOEXECSTACK=y + +# +# uClibc development/debugging options +# +CROSS_COMPILER_PREFIX="" +# DODEBUG is not set +# DODEBUG_PT is not set +DOSTRIP=y +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +WARNINGS="-Wall" +# EXTRA_WARNINGS is not set +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set -- cgit v1.2.3 From 2ad0ce50a8c83e61b7fdc1a65f63cf01cf3468e0 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 3 May 2007 06:59:09 +0000 Subject: cairo-git: update PV --- packages/cairo/cairo_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cairo/cairo_git.bb b/packages/cairo/cairo_git.bb index a2a6448565..3da41f382d 100644 --- a/packages/cairo/cairo_git.bb +++ b/packages/cairo/cairo_git.bb @@ -7,7 +7,7 @@ DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender" DESCRIPTION = "Cairo graphics library" LICENSE = "MPL LGPL" -PV = "1.3.17+git${SRCDATE}" +PV = "1.4.7+git${SRCDATE}" SRC_URI = "git://git.cairographics.org/git/cairo;protocol=git \ " -- cgit v1.2.3 From a7b6e851a98ac94ba654c2372a3b1b1d0775bbde Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 3 May 2007 07:32:10 +0000 Subject: gcc 4.1.2: fix 800-arm-bigendian.patch --- packages/gcc/gcc-4.1.2/800-arm-bigendian.patch | 70 ++++++++++++++++++++++++-- packages/gcc/gcc-cross_4.1.2.bb | 2 +- packages/gcc/gcc_4.1.2.bb | 3 +- 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/packages/gcc/gcc-4.1.2/800-arm-bigendian.patch b/packages/gcc/gcc-4.1.2/800-arm-bigendian.patch index 1fa5ae1cd2..0a9417419e 100644 --- a/packages/gcc/gcc-4.1.2/800-arm-bigendian.patch +++ b/packages/gcc/gcc-4.1.2/800-arm-bigendian.patch @@ -3,8 +3,10 @@ Adds support for arm*b-linux* big-endian ARM targets See http://gcc.gnu.org/PR16350 ---- gcc-4.1.0/gcc/config/arm/linux-elf.h -+++ gcc-4.1.0/gcc/config/arm/linux-elf.h +Index: gcc-4.1.1/gcc/config/arm/linux-elf.h +=================================================================== +--- gcc-4.1.1.orig/gcc/config/arm/linux-elf.h ++++ gcc-4.1.1/gcc/config/arm/linux-elf.h @@ -28,19 +28,33 @@ #undef TARGET_VERSION #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr); @@ -51,9 +53,11 @@ See http://gcc.gnu.org/PR16350 SUBTARGET_EXTRA_LINK_SPEC #undef LINK_SPEC ---- gcc-4.1.0/gcc/config.gcc -+++ gcc-4.1.0/gcc/config.gcc -@@ -672,6 +672,11 @@ +Index: gcc-4.1.1/gcc/config.gcc +=================================================================== +--- gcc-4.1.1.orig/gcc/config.gcc ++++ gcc-4.1.1/gcc/config.gcc +@@ -672,6 +672,11 @@ arm*-*-netbsd*) ;; arm*-*-linux*) # ARM GNU/Linux with ELF tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" @@ -65,3 +69,59 @@ See http://gcc.gnu.org/PR16350 tmake_file="${tmake_file} t-linux arm/t-arm" case ${target} in arm*-*-linux-gnueabi) +Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h +=================================================================== +--- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h ++++ gcc-4.1.1/gcc/config/arm/linux-eabi.h +@@ -20,6 +20,17 @@ + the Free Software Foundation, 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + ++/* ++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-* ++ * (big endian) configurations. ++ */ ++#undef TARGET_LINKER_EMULATION ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define TARGET_LINKER_EMULATION "armelfb_linux_eabi" ++#else ++#define TARGET_LINKER_EMULATION "armelf_linux_eabi" ++#endif ++ + /* On EABI GNU/Linux, we want both the BPABI builtins and the + GNU/Linux builtins. */ + #undef TARGET_OS_CPP_BUILTINS +@@ -48,7 +59,7 @@ + #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi + + #undef SUBTARGET_EXTRA_LINK_SPEC +-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi" ++#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION + + /* Use ld-linux.so.3 so that it will be possible to run "classic" + GNU/Linux binaries on an EABI system. */ +Index: gcc-4.1.1/gcc/config/arm/bpabi.h +=================================================================== +--- gcc-4.1.1.orig/gcc/config/arm/bpabi.h ++++ gcc-4.1.1/gcc/config/arm/bpabi.h +@@ -33,9 +33,19 @@ + #undef FPUTYPE_DEFAULT + #define FPUTYPE_DEFAULT FPUTYPE_VFP + ++/* ++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-* ++ * (big endian) configurations. ++ */ ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define TARGET_ENDIAN_DEFAULT MASK_BIG_END ++#else ++#define TARGET_ENDIAN_DEFAULT 0 ++#endif ++ + /* EABI targets should enable interworking by default. */ + #undef TARGET_DEFAULT +-#define TARGET_DEFAULT MASK_INTERWORK ++#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT) + + /* The ARM BPABI functions return a boolean; they use no special + calling convention. */ diff --git a/packages/gcc/gcc-cross_4.1.2.bb b/packages/gcc/gcc-cross_4.1.2.bb index 657e5afaca..b11259676e 100644 --- a/packages/gcc/gcc-cross_4.1.2.bb +++ b/packages/gcc/gcc-cross_4.1.2.bb @@ -5,7 +5,7 @@ inherit cross FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}" # NOTE: split PR. If the main .oe changes something that affects its *build* # remember to increment this one too. -PR = "r2" +PR = "r3" DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native" PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" diff --git a/packages/gcc/gcc_4.1.2.bb b/packages/gcc/gcc_4.1.2.bb index 2e6036d119..bd205f68eb 100644 --- a/packages/gcc/gcc_4.1.2.bb +++ b/packages/gcc/gcc_4.1.2.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" DESCRIPTION = "The GNU cc and gcc C compilers." HOMEPAGE = "http://www.gnu.org/software/gcc/" SECTION = "devel" @@ -20,7 +20,6 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \ file://602-sdk-libstdc++-includes.patch;patch=1 \ file://740-sh-pr24836.patch;patch=1 \ file://800-arm-bigendian.patch;patch=1 \ - file://801-arm-bigendian-eabi.patch;patch=1 \ file://arm-nolibfloat.patch;patch=1 \ file://arm-softfloat.patch;patch=1 \ file://gcc41-configure.in.patch;patch=1 \ -- cgit v1.2.3 From fbf7226b0f84dd30faa87a27f00424aa2f252799 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 3 May 2007 08:23:09 +0000 Subject: linux-ezx 2.6.21: update to r1996, fixes some oopses --- packages/linux/linux-ezx-2.6.21/ezx-core.patch | 42 +++++++++++++------------- packages/linux/linux-ezx_2.6.21.bb | 7 ++--- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/packages/linux/linux-ezx-2.6.21/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/ezx-core.patch index 8423db6e00..f62d89a408 100644 --- a/packages/linux/linux-ezx-2.6.21/ezx-core.patch +++ b/packages/linux/linux-ezx-2.6.21/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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-05-01 00:21:34.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-05-01 14:00:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-05-01 14:00:48.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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 01:39:12.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-01 14:00:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-01 23:02:56.000000000 -0300 @@ -37,6 +37,10 @@ bool "Keith und Koep Trizeps4 DIMM-Module" select PXA27x @@ -60,8 +60,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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 01:39:13.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-05-01 14:00:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-05-01 23:03:58.000000000 -0300 @@ -18,6 +18,7 @@ obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o @@ -73,7 +73,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-05-01 01:39:14.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-01 23:03:58.000000000 -0300 @@ -0,0 +1,378 @@ +/* + * linux/arch/arm/mach-ezx/a780.c @@ -456,7 +456,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-05-01 00:21:34.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-05-01 14:00:48.000000000 -0300 @@ -0,0 +1,225 @@ +/* + * linux/include/asm-arm/arch-pxa/ezx.h @@ -685,8 +685,8 @@ 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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 01:39:11.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 14:00:24.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-05-01 23:02:53.000000000 -0300 @@ -849,6 +849,8 @@ #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ @@ -802,8 +802,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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-05-01 00:21:34.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-05-01 14:00:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-05-01 14:00:48.000000000 -0300 @@ -117,6 +117,9 @@ mov r0, r0 .endr @@ -816,8 +816,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-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 00:21:34.000000000 -0300 +--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 14:00:24.000000000 -0300 ++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-05-01 14:00:48.000000000 -0300 @@ -14,14 +14,14 @@ #define STUART ((volatile unsigned long *)0x40700000) #define HWUART ((volatile unsigned long *)0x41600000) @@ -839,7 +839,7 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-05-01 00:21:34.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-05-01 14:00:48.000000000 -0300 @@ -0,0 +1,126 @@ +/* + * SSP control code for Motorola EZX phones @@ -970,7 +970,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-05-01 00:21:34.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-05-01 14:00:48.000000000 -0300 @@ -0,0 +1,9 @@ +#include + @@ -984,7 +984,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-05-01 01:51:20.000000000 -0300 ++++ linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c 2007-05-01 22:53:54.000000000 -0300 @@ -0,0 +1,113 @@ +/* + * linux/arch/arm/mach-ezx/a780.c @@ -1058,7 +1058,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, +}; + -+static struct pxafb_mach_info ezx_fb_info __initdata = { ++static struct pxafb_mach_info ezx_fb_info = { + .modes = &mode_ezx, + .num_modes = 1, + .lccr0 = 0x022008B8, @@ -1082,7 +1082,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, +}; + -+static struct pxafb_mach_info ezx_fb_info __initdata = { ++static struct pxafb_mach_info ezx_fb_info = { + .modes = &mode_ezx, + .num_modes = 1, + .lccr0 = 0x002008F8, @@ -1101,8 +1101,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx_lcd.c +arch_initcall(__ezx_lcd_init); Index: linux-2.6.21/arch/arm/mm/init.c =================================================================== ---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-05-01 00:21:30.000000000 -0300 -+++ linux-2.6.21/arch/arm/mm/init.c 2007-05-01 00:21:34.000000000 -0300 +--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-05-01 14:00:25.000000000 -0300 ++++ linux-2.6.21/arch/arm/mm/init.c 2007-05-01 14:00:48.000000000 -0300 @@ -241,6 +241,10 @@ */ reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT, diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb index 9ec5c965ab..28be2b8d17 100644 --- a/packages/linux/linux-ezx_2.6.21.bb +++ b/packages/linux/linux-ezx_2.6.21.bb @@ -5,10 +5,7 @@ HOMEPAGE = "http://www.openezx.org" LICENSE = "GPL" DEPENDS += "quilt-native" EZX = "ezx0" -PR = "${EZX}-r2" - -DEFAULT_PREFERENCE = "-1" - +PR = "${EZX}-r3" inherit kernel @@ -129,4 +126,4 @@ do_deploy() { do_deploy[dirs] = "${S}" -addtask deploy before do_package after do_install +addtask deploy before do_populate_staging after do_package -- cgit v1.2.3 From 95a0a58daebf20ca23c55d09d1cad3c82a55d867 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Thu, 3 May 2007 12:22:59 +0000 Subject: ixp4xxbe: the gcc patch is in, so no need for this workaround anymore --- conf/machine/ixp4xxbe.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/conf/machine/ixp4xxbe.conf b/conf/machine/ixp4xxbe.conf index 9b3a4f693f..f208852d3a 100644 --- a/conf/machine/ixp4xxbe.conf +++ b/conf/machine/ixp4xxbe.conf @@ -8,6 +8,4 @@ PACKAGE_EXTRA_ARCHS = "armv4b armv4tb armv5eb armv5teb" require conf/machine/include/ixp4xx.conf -TARGET_CC_ARCH += " -D__ARMEB__ " - EXTRA_IMAGECMD_jffs2 += "--big-endian" -- cgit v1.2.3