From 9cbf96cc5a5205d6178f97ea46e7a32884ca40f8 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 8 Feb 2010 13:42:14 +0000 Subject: [PATCH 1/8] mac80211: use wpa_supplicant for unencrypted connections to improve client mode reliability (patch by Stijn Tintel from #6653) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19550 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/hostapd/files/wpa_supplicant.sh | 3 +++ package/mac80211/files/lib/wifi/mac80211.sh | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/package/hostapd/files/wpa_supplicant.sh b/package/hostapd/files/wpa_supplicant.sh index 8f7f503c1..ccf31baa9 100644 --- a/package/hostapd/files/wpa_supplicant.sh +++ b/package/hostapd/files/wpa_supplicant.sh @@ -12,6 +12,9 @@ wpa_supplicant_setup_vif() { } case "$enc" in + *none*) + key_mgmt='NONE' + ;; *wep*) key_mgmt='NONE' config_get key "$vif" key diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index 62b8e7ed3..27e234d83 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -312,6 +312,9 @@ enable_mac80211() { local key keystring case "$enc" in + *none*) + config_get keymgmt "$vif" keymgmt + ;; *wep*) config_get keymgmt "$vif" keymgmt if [ -z "$keymgmt" ]; then @@ -397,7 +400,18 @@ enable_mac80211() { fi ;; *) - iw dev "$ifname" connect "$ssid" ${fixed:+$freq} $bssid + if [ -z "$keymgmt" ]; then + iw dev "$ifname" connect "$ssid" ${fixed:+$freq} $bssid + else + if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then + wpa_supplicant_setup_vif "$vif" wext || { + echo "enable_mac80211($device): Failed to set up wpa_supplicant for interface $ifname" >&2 + # make sure this wifi interface won't accidentally stay open without encryption + ifconfig "$ifname" down + continue + } + fi + fi ;; esac From c72150163df4c5ed640f726407c2b1bf55590a0f Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 20:11:01 +0000 Subject: [PATCH 2/8] [mpc83xx]: do old style image generation for the mpc8377wlan, as the current bootloader doesn't support it git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19553 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/mpc83xx/image/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/linux/mpc83xx/image/Makefile b/target/linux/mpc83xx/image/Makefile index ed0012899..9b241919f 100644 --- a/target/linux/mpc83xx/image/Makefile +++ b/target/linux/mpc83xx/image/Makefile @@ -9,10 +9,12 @@ include $(INCLUDE_DIR)/image.mk define Image/Prepare + $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/mpc8377_wlan.dts > $(BIN_DIR)/openwrt-mpc8377_wlan.dtb endef define Image/BuildKernel cp $(LINUX_DIR)/arch/powerpc/boot/dtbImage.rb600.elf $(BIN_DIR)/openwrt-$(BOARD)-rb600.elf + cp $(LINUX_DIR)/arch/powerpc/boot/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage endef define Image/Build @@ -22,7 +24,7 @@ endef define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage.fit.mpc8377_wlan bs=3072k conv=sync; \ + dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=3072k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ ) > $(BIN_DIR)/openwrt-$(BOARD)-mpc8377_wlan-$(1).img endef From fea0d9fe4401382f71cfde14ef8fc663d9a90c0b Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 20:11:53 +0000 Subject: [PATCH 3/8] [mpc83xx]: enable additional options for the mpc8377wlan git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19554 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/mpc83xx/config-default | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/target/linux/mpc83xx/config-default b/target/linux/mpc83xx/config-default index bbb69d5c6..01bd7f06f 100644 --- a/target/linux/mpc83xx/config-default +++ b/target/linux/mpc83xx/config-default @@ -118,12 +118,12 @@ CONFIG_MPC837x_RDB=y # CONFIG_MPC8xxx_GPIO is not set CONFIG_MPIC=y # CONFIG_MPIC_WEIRD is not set -# CONFIG_MTD_CFI is not set CONFIG_MTD_NAND=y # CONFIG_MTD_NAND_FSL_ELBC is not set # CONFIG_MTD_NAND_FSL_UPM is not set CONFIG_MTD_NAND_RB_PPC=y -# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_OF_PARTS=y # CONFIG_MV643XX_ETH is not set CONFIG_OF=y CONFIG_OF_DEVICE=y @@ -204,7 +204,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_OF_PLATFORM=y # CONFIG_SERIAL_QE is not set -# CONFIG_SQUASHFS is not set # CONFIG_SWIOTLB is not set CONFIG_TASK_SIZE=0xc0000000 # CONFIG_TAU is not set From 551506c29c55c392737ed600432e09829ced3084 Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 21:25:46 +0000 Subject: [PATCH 4/8] [arm]: add a backported fix for the uncompression code git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19555 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../057-arm_fix_uncompress_code.patch | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 target/linux/generic-2.6/patches-2.6.32/057-arm_fix_uncompress_code.patch diff --git a/target/linux/generic-2.6/patches-2.6.32/057-arm_fix_uncompress_code.patch b/target/linux/generic-2.6/patches-2.6.32/057-arm_fix_uncompress_code.patch new file mode 100644 index 000000000..d11d11ba0 --- /dev/null +++ b/target/linux/generic-2.6/patches-2.6.32/057-arm_fix_uncompress_code.patch @@ -0,0 +1,63 @@ +From b53e9b5ebd5c6e718f54bcacd4e97b71533ca681 Mon Sep 17 00:00:00 2001 +From: Tony Lindgren +Date: Thu, 14 Jan 2010 20:36:55 +0100 +Subject: [PATCH] ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void) + +Because of the include of the decompress_inflate.c file from +boot/compress/misc.c, there are different flush() defines: + +In file included from arch/arm/boot/compressed/misc.c:249: +arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:138:29: error: macro "flush" passed 2 arguments, but takes just 0 + +Fix this by removing the define of flush() in misc.c for +CONFIG_DEBUG_ICEDCC as it's already defined in mach/uncompress.h, +and that is being included unconditionally. + +Also use a static inline function instead of define +for mach-mxc and mach-gemini to avoid similar bug +for those platforms. + +Signed-off-by: Tony Lindgren +Signed-off-by: Russell King +--- + arch/arm/boot/compressed/misc.c | 1 - + arch/arm/mach-gemini/include/mach/uncompress.h | 4 +++- + arch/arm/plat-mxc/include/mach/uncompress.h | 4 +++- + 3 files changed, 6 insertions(+), 3 deletions(-) + +--- a/arch/arm/boot/compressed/misc.c ++++ b/arch/arm/boot/compressed/misc.c +@@ -88,7 +88,6 @@ static void icedcc_putc(int ch) + #endif + + #define putc(ch) icedcc_putc(ch) +-#define flush() do { } while (0) + #endif + + static void putstr(const char *ptr) +--- a/arch/arm/mach-gemini/include/mach/uncompress.h ++++ b/arch/arm/mach-gemini/include/mach/uncompress.h +@@ -30,7 +30,9 @@ static inline void putc(char c) + UART[UART_TX] = c; + } + +-#define flush() do { } while (0) ++static inline void flush(void) ++{ ++} + + /* + * nothing to do +--- a/arch/arm/plat-mxc/include/mach/uncompress.h ++++ b/arch/arm/plat-mxc/include/mach/uncompress.h +@@ -60,7 +60,9 @@ static void putc(int ch) + UART(TXR) = ch; + } + +-#define flush() do { } while (0) ++static inline void flush(void) ++{ ++} + + #define MX1_UART1_BASE_ADDR 0x00206000 + #define MX25_UART1_BASE_ADDR 0x43f90000 From 8e944ed58c9a3f64f22b06cfbb082e3c5623784a Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 21:26:54 +0000 Subject: [PATCH 5/8] the CS toolchain FTBS for the gemini, use the old one for now git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19556 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- toolchain/gcc/Config.in | 2 +- toolchain/gcc/Config.version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 1f58ed8a0..992146649 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -12,7 +12,7 @@ choice default GCC_VERSION_4_4_1 if ubicom32 default GCC_VERSION_4_4_1 if TARGET_octeon default GCC_VERSION_4_3_3_CS if (mips || mipsel) && !TARGET_octeon - default GCC_VERSION_4_3_3_CS if arm || armeb + default GCC_VERSION_4_3_3_CS if (arm || armeb) && !TARGET_gemini default GCC_VERSION_4_1_2 help Select the version of gcc you wish to use. diff --git a/toolchain/gcc/Config.version b/toolchain/gcc/Config.version index e8fa8a77d..38a3d91d3 100644 --- a/toolchain/gcc/Config.version +++ b/toolchain/gcc/Config.version @@ -73,7 +73,7 @@ if !LINUX_2_4 config GCC_VERSION_4_3_3_CS default y if (mips || mipsel) && !TARGET_octeon - default y if arm || armeb + default y if (arm || armeb) && !TARGET_gemini config GCC_VERSION_4_4_1 default y if ubicom32 From cc141d8963933ef52b428818a13bd41a8a0e7283 Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 21:27:13 +0000 Subject: [PATCH 6/8] refresh patch git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19557 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.32/850-if_no_generic_time.patch | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/target/linux/generic-2.6/patches-2.6.32/850-if_no_generic_time.patch b/target/linux/generic-2.6/patches-2.6.32/850-if_no_generic_time.patch index 752b03ba2..69370d065 100644 --- a/target/linux/generic-2.6/patches-2.6.32/850-if_no_generic_time.patch +++ b/target/linux/generic-2.6/patches-2.6.32/850-if_no_generic_time.patch @@ -6,20 +6,17 @@ Signed-off-by: Aaro Koskinen iki.fi> kernel/time/clocksource.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) -diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c -index 5155dc3..7b3a9d0 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -502,6 +502,11 @@ static void clocksource_select(void) - + #else /* CONFIG_GENERIC_TIME */ - + +static inline u64 clocksource_max_deferment(struct clocksource *cs) +{ + return 0; +} + static inline void clocksource_select(void) { } - + #endif - From a707b20c7cc23205c111671b38b1eea3bc917922 Mon Sep 17 00:00:00 2001 From: kaloz Date: Mon, 8 Feb 2010 21:55:13 +0000 Subject: [PATCH 7/8] [gemini]: upgrade to 2.6.32 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19558 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/gemini/Makefile | 4 +- .../linux/gemini/patches/001-git_sync.patch | 158 ++++++++---------- 2 files changed, 76 insertions(+), 86 deletions(-) diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile index d0e7bb9cc..d23322735 100644 --- a/target/linux/gemini/Makefile +++ b/target/linux/gemini/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009 OpenWrt.org +# Copyright (C) 2009-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,7 +12,7 @@ BOARDNAME:=Cortina Systems CS351x FEATURES:=squashfs CFLAGS:=-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time -LINUX_VERSION:=2.6.30.10 +LINUX_VERSION:=2.6.32.7 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/gemini/patches/001-git_sync.patch b/target/linux/gemini/patches/001-git_sync.patch index 2087769be..5d48cf0e6 100644 --- a/target/linux/gemini/patches/001-git_sync.patch +++ b/target/linux/gemini/patches/001-git_sync.patch @@ -8,7 +8,7 @@ /* * Debugging stuff -@@ -330,7 +331,7 @@ params: ldr r0, =params_phys +@@ -337,7 +338,7 @@ params: ldr r0, =params_phys * This routine must preserve: * r4, r5, r6, r7, r8 */ @@ -17,7 +17,7 @@ cache_on: mov r3, #8 @ cache_on function b call_cache_fn -@@ -499,7 +500,7 @@ __common_mmu_cache_on: +@@ -519,7 +520,7 @@ __common_mmu_cache_on: mcr p15, 0, r3, c2, c0, 0 @ load page table pointer mcr p15, 0, r1, c3, c0, 0 @ load domain access control b 1f @@ -26,16 +26,16 @@ 1: mcr p15, 0, r0, c1, c0, 0 @ load control register mrc p15, 0, r0, c1, c0, 0 @ and read it back to sub pc, lr, r0, lsr #32 @ properly flush pipeline -@@ -518,7 +519,7 @@ __common_mmu_cache_on: +@@ -539,7 +540,7 @@ __common_mmu_cache_on: * r8 = atags pointer - * r9-r14 = corrupted + * r9-r12,r14 = corrupted */ - .align 5 + .align L1_CACHE_SHIFT reloc_start: add r9, r5, r0 sub r9, r9, #128 @ do not copy the stack debug_reloc_start -@@ -722,7 +723,7 @@ proc_types: +@@ -768,7 +769,7 @@ proc_types: * On exit, r0, r1, r2, r3, r12 corrupted * This routine must preserve: r4, r6, r7 */ @@ -44,7 +44,7 @@ cache_off: mov r3, #12 @ cache_off function b call_cache_fn -@@ -791,7 +792,7 @@ __armv3_mmu_cache_off: +@@ -845,7 +846,7 @@ __armv3_mmu_cache_off: * This routine must preserve: * r0, r4, r5, r6, r7 */ @@ -53,20 +53,6 @@ cache_clean_flush: mov r3, #16 b call_cache_fn ---- a/arch/arm/include/asm/cache.h -+++ b/arch/arm/include/asm/cache.h -@@ -4,7 +4,11 @@ - #ifndef __ASMARM_CACHE_H - #define __ASMARM_CACHE_H - -+#ifdef CONFIG_CPU_FA526 -+#define L1_CACHE_SHIFT 4 -+#else - #define L1_CACHE_SHIFT 5 -+#endif - #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) - - /* --- a/arch/arm/include/asm/dma-mapping.h +++ b/arch/arm/include/asm/dma-mapping.h @@ -98,7 +98,7 @@ static inline int dma_set_mask(struct de @@ -80,7 +66,7 @@ static inline int dma_is_consistent(struct device *dev, dma_addr_t handle) --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -825,7 +825,7 @@ config ISA_DMA_API +@@ -923,7 +923,7 @@ config ISA_DMA_API bool config PCI @@ -91,16 +77,16 @@ bus system, i.e. the way the CPU talks to the other stuff inside --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S -@@ -21,6 +21,7 @@ - #include +@@ -22,6 +22,7 @@ #include #include + #include +#include #include "entry-header.S" -@@ -153,7 +154,7 @@ ENDPROC(__und_invalid) - stmia r5, {r0 - r4} +@@ -166,7 +167,7 @@ ENDPROC(__und_invalid) + asm_trace_hardirqs_off .endm - .align 5 @@ -108,7 +94,7 @@ __dabt_svc: svc_entry -@@ -202,7 +203,7 @@ __dabt_svc: +@@ -214,7 +215,7 @@ __dabt_svc: UNWIND(.fnend ) ENDPROC(__dabt_svc) @@ -117,7 +103,7 @@ __irq_svc: svc_entry -@@ -247,7 +248,7 @@ svc_preempt: +@@ -255,7 +256,7 @@ svc_preempt: b 1b #endif @@ -126,7 +112,7 @@ __und_svc: #ifdef CONFIG_KPROBES @ If a kprobe is about to simulate a "stmdb sp..." instruction, -@@ -286,7 +287,7 @@ __und_svc: +@@ -301,7 +302,7 @@ __und_svc: UNWIND(.fnend ) ENDPROC(__und_svc) @@ -135,7 +121,7 @@ __pabt_svc: svc_entry -@@ -329,7 +330,7 @@ __pabt_svc: +@@ -337,7 +338,7 @@ __pabt_svc: UNWIND(.fnend ) ENDPROC(__pabt_svc) @@ -144,7 +130,7 @@ .LCcralign: .word cr_alignment #ifdef MULTI_DABORT -@@ -400,7 +401,7 @@ ENDPROC(__pabt_svc) +@@ -412,7 +413,7 @@ ENDPROC(__pabt_svc) #endif .endm @@ -153,7 +139,7 @@ __dabt_usr: usr_entry kuser_cmpxchg_check -@@ -432,7 +433,7 @@ __dabt_usr: +@@ -444,7 +445,7 @@ __dabt_usr: UNWIND(.fnend ) ENDPROC(__dabt_usr) @@ -162,7 +148,7 @@ __irq_usr: usr_entry kuser_cmpxchg_check -@@ -465,7 +466,7 @@ ENDPROC(__irq_usr) +@@ -476,7 +477,7 @@ ENDPROC(__irq_usr) .ltorg @@ -171,7 +157,7 @@ __und_usr: usr_entry -@@ -668,7 +669,7 @@ __und_usr_unknown: +@@ -692,7 +693,7 @@ __und_usr_unknown: b do_undefinstr ENDPROC(__und_usr_unknown) @@ -180,7 +166,7 @@ __pabt_usr: usr_entry -@@ -778,7 +779,7 @@ ENDPROC(__switch_to) +@@ -803,7 +804,7 @@ ENDPROC(__switch_to) #endif .endm @@ -189,7 +175,7 @@ .globl __kuser_helper_start __kuser_helper_start: -@@ -818,7 +819,7 @@ __kuser_memory_barrier: @ 0xffff0fa0 +@@ -843,7 +844,7 @@ __kuser_memory_barrier: @ 0xffff0fa0 smp_dmb usr_ret lr @@ -198,7 +184,7 @@ /* * Reference prototype: -@@ -950,7 +951,7 @@ kuser_cmpxchg_fixup: +@@ -975,7 +976,7 @@ kuser_cmpxchg_fixup: #endif @@ -207,7 +193,7 @@ /* * Reference prototype: -@@ -1032,7 +1033,7 @@ __kuser_helper_end: +@@ -1058,7 +1059,7 @@ __kuser_helper_end: * of which is copied into r0 for the mode specific abort handler. */ .macro vector_stub, name, mode, correction=0 @@ -216,7 +202,7 @@ vector_\name: .if \correction -@@ -1157,7 +1158,7 @@ __stubs_start: +@@ -1189,7 +1190,7 @@ __stubs_start: .long __und_invalid @ e .long __und_invalid @ f @@ -225,7 +211,7 @@ /*============================================================================= * Undefined FIQs -@@ -1187,7 +1188,7 @@ vector_addrexcptn: +@@ -1219,7 +1220,7 @@ vector_addrexcptn: * We group all the following data together to optimise * for CPUs with separate I & D caches. */ @@ -252,7 +238,7 @@ /* * This is the fast syscall return path. We do as little as * possible here, and this includes saving r0 back into the SVC -@@ -178,7 +179,7 @@ ftrace_stub: +@@ -183,7 +184,7 @@ ftrace_stub: #define A710(code...) #endif @@ -261,7 +247,7 @@ ENTRY(vector_swi) sub sp, sp, #S_FRAME_SIZE stmia sp, {r0 - r12} @ Calling r0 - r12 -@@ -306,7 +307,7 @@ __sys_trace_return: +@@ -316,7 +317,7 @@ __sys_trace_return: bl syscall_trace b ret_slow_syscall @@ -280,7 +266,7 @@ #if (PHYS_OFFSET & 0x001fffff) #error "PHYS_OFFSET must be at an even 2MiB boundary!" -@@ -187,7 +188,7 @@ ENDPROC(__enable_mmu) +@@ -192,7 +193,7 @@ ENDPROC(__enable_mmu) * * other registers depend on the function called upon completion */ @@ -291,15 +277,15 @@ mcr p15, 0, r0, c1, c0, 0 @ write control reg --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S -@@ -6,6 +6,7 @@ - #include +@@ -7,6 +7,7 @@ #include #include + #include +#include OUTPUT_ARCH(arm) ENTRY(stext) -@@ -58,7 +59,7 @@ SECTIONS +@@ -59,7 +60,7 @@ SECTIONS *(.security_initcall.init) __security_initcall_end = .; #ifdef CONFIG_BLK_DEV_INITRD @@ -308,7 +294,7 @@ __initramfs_start = .; usr/built-in.o(.init.ramfs) __initramfs_end = .; -@@ -153,13 +154,13 @@ SECTIONS +@@ -176,13 +177,13 @@ SECTIONS /* * then the cacheline aligned data */ @@ -324,22 +310,6 @@ __start___ex_table = .; #ifdef CONFIG_MMU *(__ex_table) ---- a/arch/arm/lib/copy_page.S -+++ b/arch/arm/lib/copy_page.S -@@ -12,11 +12,12 @@ - #include - #include - #include -+#include - - #define COPY_COUNT (PAGE_SZ/64 PLD( -1 )) - - .text -- .align 5 -+ .align L1_CACHE_SHIFT - /* - * StrongARM optimised copy_page routine - * now 1.78bytes/cycle, was 1.60 bytes/cycle (50MHz bus -> 89MB/s) --- a/arch/arm/lib/memchr.S +++ b/arch/arm/lib/memchr.S @@ -11,9 +11,10 @@ @@ -4129,7 +4099,7 @@ +gemini_negmac-objs := gm_gmac.o --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig -@@ -2087,6 +2087,13 @@ config ACENIC_OMIT_TIGON_I +@@ -2126,6 +2126,13 @@ config ACENIC_OMIT_TIGON_I The safe and default value for this is N. @@ -4145,7 +4115,7 @@ depends on PCI --- a/drivers/net/Makefile +++ b/drivers/net/Makefile -@@ -234,6 +234,7 @@ pasemi_mac_driver-objs := pasemi_mac.o p +@@ -247,6 +247,7 @@ pasemi_mac_driver-objs := pasemi_mac.o p obj-$(CONFIG_MLX4_CORE) += mlx4/ obj-$(CONFIG_ENC28J60) += enc28j60.o obj-$(CONFIG_ETHOC) += ethoc.o @@ -4617,7 +4587,7 @@ +}; --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h -@@ -543,7 +543,12 @@ static inline unsigned int +@@ -552,7 +552,12 @@ static inline unsigned int ehci_port_speed(struct ehci_hcd *ehci, unsigned int portsc) { if (ehci_is_TDI(ehci)) { @@ -4625,14 +4595,14 @@ + portsc = readl(ehci_to_hcd(ehci)->regs + 0x80); + switch ((portsc>>22)&3) { +#else - switch ((portsc>>26)&3) { + switch ((portsc >> (ehci->has_hostpc ? 25 : 26)) & 3) { +#endif case 0: return 0; case 1: --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -192,9 +192,11 @@ static int ehci_halt (struct ehci_hcd *e +@@ -194,9 +194,11 @@ static int ehci_halt (struct ehci_hcd *e if ((temp & STS_HALT) != 0) return 0; @@ -4644,7 +4614,7 @@ return handshake (ehci, &ehci->regs->status, STS_HALT, STS_HALT, 16 * 125); } -@@ -250,8 +252,8 @@ static int ehci_reset (struct ehci_hcd * +@@ -263,8 +265,8 @@ static int ehci_reset (struct ehci_hcd * if (retval) return retval; @@ -4653,9 +4623,9 @@ +// if (ehci_is_TDI(ehci)) +// tdi_reset (ehci); - return retval; - } -@@ -381,12 +383,13 @@ static void ehci_silence_controller(stru + if (ehci->debug) + dbgp_external_startup(); +@@ -397,12 +399,13 @@ static void ehci_silence_controller(stru { ehci_halt(ehci); ehci_turn_off_all_ports(ehci); @@ -4670,7 +4640,7 @@ } /* ehci_shutdown kick in for silicon on any bus (not just pci, etc). -@@ -631,7 +634,9 @@ static int ehci_run (struct usb_hcd *hcd +@@ -653,7 +656,9 @@ static int ehci_run (struct usb_hcd *hcd // Philips, Intel, and maybe others need CMD_RUN before the // root hub will detect new devices (why?); NEC doesn't ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET); @@ -4680,7 +4650,7 @@ ehci_writel(ehci, ehci->command, &ehci->regs->command); dbg_cmd (ehci, "init", ehci->command); -@@ -651,9 +656,11 @@ static int ehci_run (struct usb_hcd *hcd +@@ -673,9 +678,11 @@ static int ehci_run (struct usb_hcd *hcd */ down_write(&ehci_cf_port_reset_rwsem); hcd->state = HC_STATE_RUNNING; @@ -4690,9 +4660,9 @@ msleep(5); +#endif up_write(&ehci_cf_port_reset_rwsem); + ehci->last_periodic_enable = ktime_get_real(); - temp = HC_VERSION(ehci_readl(ehci, &ehci->caps->hc_capbase)); -@@ -744,9 +751,10 @@ static irqreturn_t ehci_irq (struct usb_ +@@ -767,9 +774,10 @@ static irqreturn_t ehci_irq (struct usb_ pcd_status = status; /* resume root hub? */ @@ -4704,7 +4674,7 @@ while (i--) { int pstatus = ehci_readl(ehci, &ehci->regs->port_status [i]); -@@ -778,7 +786,9 @@ static irqreturn_t ehci_irq (struct usb_ +@@ -802,7 +810,9 @@ static irqreturn_t ehci_irq (struct usb_ ehci_halt(ehci); dead: ehci_reset(ehci); @@ -4714,7 +4684,7 @@ /* generic layer kills/unlinks all urbs, then * uses ehci_stop to clean up the rest */ -@@ -1045,6 +1055,11 @@ MODULE_LICENSE ("GPL"); +@@ -1101,6 +1111,11 @@ MODULE_LICENSE ("GPL"); #define PCI_DRIVER ehci_pci_driver #endif @@ -4728,7 +4698,7 @@ #define PLATFORM_DRIVER ehci_fsl_driver --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c -@@ -749,6 +749,12 @@ static int ehci_hub_control ( +@@ -809,6 +809,12 @@ static int ehci_hub_control ( /* see what we found out */ temp = check_reset_complete (ehci, wIndex, status_reg, ehci_readl(ehci, status_reg)); @@ -4743,10 +4713,10 @@ if (!(temp & (PORT_RESUME|PORT_RESET))) --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig -@@ -57,6 +57,7 @@ config USB_ARCH_HAS_EHCI - default y if PPC_83xx - default y if SOC_AU1200 +@@ -60,6 +60,7 @@ config USB_ARCH_HAS_EHCI default y if ARCH_IXP4XX + default y if ARCH_W90X900 + default y if ARCH_AT91SAM9G45 + default y if ARCH_GEMINI default PCI @@ -5124,7 +5094,7 @@ +MODULE_ALIAS("platform:gemini-wdt"); --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -104,6 +104,16 @@ config 977_WATCHDOG +@@ -111,6 +111,16 @@ config 977_WATCHDOG Not sure? It's safe to say N. @@ -5143,8 +5113,8 @@ depends on ARCH_IXP2000 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile -@@ -30,6 +30,7 @@ obj-$(CONFIG_AT91SAM9X_WATCHDOG) += at91 - obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o +@@ -31,6 +31,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt. + obj-$(CONFIG_TWL4030_WATCHDOG) += twl4030_wdt.o obj-$(CONFIG_21285_WATCHDOG) += wdt285.o obj-$(CONFIG_977_WATCHDOG) += wdt977.o +obj-$(CONFIG_GEMINI_WATCHDOG) += gemini_wdt.o @@ -5165,3 +5135,23 @@ /* CONFIGFLAG: offset 0x40 */ u32 configured_flag; #define FLAG_CF (1<<0) /* true: we'll support "high speed" */ +--- a/arch/arm/mm/Kconfig ++++ b/arch/arm/mm/Kconfig +@@ -774,5 +774,6 @@ config CACHE_XSC3L2 + + config ARM_L1_CACHE_SHIFT + int ++ default 4 if CPU_FA526 + default 6 if ARCH_OMAP3 + default 5 +--- a/arch/arm/lib/copy_page.S ++++ b/arch/arm/lib/copy_page.S +@@ -17,7 +17,7 @@ + #define COPY_COUNT (PAGE_SZ / (2 * L1_CACHE_BYTES) PLD( -1 )) + + .text +- .align 5 ++ .align L1_CACHE_SHIFT + /* + * StrongARM optimised copy_page routine + * now 1.78bytes/cycle, was 1.60 bytes/cycle (50MHz bus -> 89MB/s) From 6514a31be8a8449a55a14ace183a2b724c060300 Mon Sep 17 00:00:00 2001 From: lars Date: Mon, 8 Feb 2010 22:05:11 +0000 Subject: [PATCH 8/8] [packages] util-linux-ng: Build setterm git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19559 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/util-linux-ng/Makefile | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/package/util-linux-ng/Makefile b/package/util-linux-ng/Makefile index a3124fd31..97d956895 100644 --- a/package/util-linux-ng/Makefile +++ b/package/util-linux-ng/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2009 OpenWrt.org +# Copyright (C) 2007-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=util-linux-ng PKG_VERSION:=2.13.0.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.13 @@ -107,12 +107,25 @@ define Package/flock/description This package contains a utility for managing file locks from shell scripts. endef +define Package/setterm +$(call Package/util-linux/Default) + TITLE:=Tool for setting terminal attributes + SUBMENU:=terminal + DEPENDS:= +libncurses +endef + +define Package/setterm/description + This package contains a utility for setting terminal attributes +endef + + define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR)/disk-utils mkswap $(MAKE) -C $(PKG_BUILD_DIR)/mount swapon losetup umount mount $(MAKE) -C $(PKG_BUILD_DIR)/fdisk fdisk cfdisk sfdisk $(MAKE) -C $(PKG_BUILD_DIR)/hwclock hwclock $(MAKE) -C $(PKG_BUILD_DIR)/sys-utils flock + $(MAKE) -C $(PKG_BUILD_DIR)/misc-utils setterm endef define Package/fdisk/install @@ -156,6 +169,12 @@ define Package/flock/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/sys-utils/flock $(1)/usr/bin/ endef +define Package/setterm/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/misc-utils/setterm $(1)/usr/bin/ +endef + + $(eval $(call BuildPackage,fdisk)) $(eval $(call BuildPackage,cfdisk)) $(eval $(call BuildPackage,sfdisk)) @@ -164,3 +183,4 @@ $(eval $(call BuildPackage,mount-utils)) $(eval $(call BuildPackage,swap-utils)) $(eval $(call BuildPackage,hwclock)) $(eval $(call BuildPackage,flock)) +$(eval $(call BuildPackage,setterm))