summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz403
-rw-r--r--packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb15
-rw-r--r--packages/linux/nslu2-kernel.inc4
-rw-r--r--packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch139
-rw-r--r--packages/linux/nslu2-kernel_2.6.12.2.bb3
5 files changed, 401 insertions, 163 deletions
diff --git a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
index ed5010d5c8..02437440c5 100644
--- a/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
+++ b/packages/linux/linux-openzaurus-2.6.13-rc5-mm1/defconfig-spitz
@@ -1,14 +1,13 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.12-rc3-mm2
-# Wed May 11 22:20:58 2005
+# Linux kernel version: 2.6.13-rc5-mm1
+# Fri Aug 12 08:40:57 2005
#
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
#
# Code maturity level options
@@ -23,7 +22,6 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
# General setup
#
CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
@@ -87,6 +85,7 @@ CONFIG_ARCH_PXA=y
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
#
# Intel PXA2xx Implementations
@@ -95,12 +94,13 @@ CONFIG_ARCH_PXA=y
# CONFIG_MACH_MAINSTONE is not set
# CONFIG_ARCH_PXA_IDP is not set
CONFIG_PXA_SHARPSL=y
-# CONFIG_MACH_POODLE is not set
-# CONFIG_MACH_CORGI is not set
-# CONFIG_MACH_SHEPHERD is not set
-# CONFIG_MACH_HUSKY is not set
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_PXA_SHARPSL_25x is not set
+CONFIG_PXA_SHARPSL_27x=y
CONFIG_MACH_SPITZ=y
+# CONFIG_MACH_AKITA is not set
CONFIG_PXA27x=y
+# CONFIG_PXA_KEYS is not set
#
# Processor Type
@@ -111,7 +111,6 @@ CONFIG_CPU_32v5=y
CONFIG_CPU_ABRT_EV5T=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_MINICACHE=y
#
# Processor Features
@@ -124,6 +123,7 @@ CONFIG_SHARP_SCOOP=y
#
# Bus support
#
+CONFIG_ISA_DMA_API=y
#
# PCCARD (PCMCIA/CardBus) support
@@ -143,11 +143,16 @@ CONFIG_PCMCIA_PXA2XX=y
#
# Kernel Features
#
+# CONFIG_SMP is not set
CONFIG_PREEMPT=y
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_ALIGNMENT_TRAP=y
#
@@ -155,7 +160,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 "
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug "
# CONFIG_XIP_KERNEL is not set
#
@@ -184,6 +189,139 @@ CONFIG_PM=y
CONFIG_APM=y
#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_NSC_FIR is not set
+# CONFIG_WINBOND_FIR is not set
+# CONFIG_SMC_IRCC_FIR is not set
+# CONFIG_ALI_FIR is not set
+# CONFIG_VIA_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_BCSP_TXCRC=y
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_IEEE80211 is not set
+
+#
# Device Drivers
#
@@ -349,137 +487,8 @@ CONFIG_IDE_GENERIC=y
#
#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_IP_TCPDIAG=y
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_KGDBOE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRCOMM=m
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-# CONFIG_IRDA_DEBUG is not set
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-# CONFIG_IRTTY_SIR is not set
-
-#
-# Dongle support
-#
-
-#
-# Old SIR device drivers
-#
-# CONFIG_IRPORT_SIR is not set
-
-#
-# Old Serial dongle support
+# Network device support
#
-
-#
-# FIR device drivers
-#
-# CONFIG_NSC_FIR is not set
-# CONFIG_WINBOND_FIR is not set
-# CONFIG_SMC_IRCC_FIR is not set
-# CONFIG_ALI_FIR is not set
-# CONFIG_VIA_FIR is not set
-CONFIG_PXA_FICP=m
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_BCSP_TXCRC=y
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIVHCI=m
-# CONFIG_IEEE80211 is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
@@ -487,6 +496,10 @@ CONFIG_NETDEVICES=y
# CONFIG_TUN is not set
#
+# PHY device support
+#
+
+#
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set
@@ -521,6 +534,11 @@ CONFIG_NETDEVICES=y
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
+# CONFIG_KGDBOE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
#
# ISDN subsystem
@@ -545,10 +563,22 @@ CONFIG_INPUT_POWER=y
#
# Input Device Drivers
#
-# CONFIG_INPUT_KEYBOARD is not set
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+CONFIG_KEYBOARD_SPITZ=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_INPUT_MISC is not set
#
@@ -560,7 +590,9 @@ CONFIG_INPUT_POWER=y
#
# Character devices
#
-# CONFIG_VT is not set
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
@@ -595,7 +627,6 @@ CONFIG_SA1100_RTC=y
#
# Ftape, the floppy tape device driver
#
-# CONFIG_DRM is not set
#
# PCMCIA character devices
@@ -611,12 +642,24 @@ CONFIG_SA1100_RTC=y
# I2C support
#
# CONFIG_I2C is not set
+# CONFIG_I2C_SENSOR is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
#
#
+# SoC drivers
+#
+# CONFIG_SOC is not set
+
+#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
@@ -629,7 +672,54 @@ CONFIG_SA1100_RTC=y
#
# Graphics support
#
-# CONFIG_FB is not set
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_ELPP is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+# CONFIG_BACKLIGHT_CORGI is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
#
# Sound
@@ -651,7 +741,12 @@ CONFIG_USB_ARCH_HAS_OHCI=y
#
# MMC/SD Card support
#
-# CONFIG_MMC is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+# CONFIG_MMC_BULKTRANSFER is not set
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_WBSD is not set
#
# File systems
@@ -660,8 +755,11 @@ CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
# CONFIG_REISERFS_FS is not set
@@ -679,11 +777,6 @@ CONFIG_INOTIFY=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
# CONFIG_FUSE_FS is not set
#
@@ -707,12 +800,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
#
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_TMPFS_XATTR is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
# CONFIG_RELAYFS_FS is not set
#
@@ -720,6 +813,7 @@ CONFIG_RAMFS=y
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
+# CONFIG_ASFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
@@ -766,6 +860,7 @@ CONFIG_SMB_NLS_REMOTE="cp437"
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
#
# Partition Types
diff --git a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
index 1ab1eecffa..fd6dd9ee37 100644
--- a/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
+++ b/packages/linux/linux-openzaurus_2.6.13-rc5-mm1.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL"
#KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
KV = "${@bb.data.getVar('PV',d,True)}"
-PR = "r1"
+PR = "r3"
DOSRC = "http://www.do13.in-berlin.de/openzaurus/patches"
RPSRC = "http://www.rpsys.net/openzaurus/patches"
@@ -78,6 +78,11 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.tar.gz \
${DOSRC}/tosa-lcd-r3.patch;patch=1 \
${DOSRC}/tosa-2.6.13-r1.patch;patch=1 \
${RPSRC}/temp/tosa-bl-r5.patch;patch=1 \
+ ${RPSRC}/pxa27x_extraregs-r0.patch;patch=1 \
+ ${RPSRC}/spitzbase-r0.patch;patch=1 \
+ ${RPSRC}/spitzkbd-r0.patch;patch=1 \
+ ${RPSRC}/spitzssp-r0.patch;patch=1 \
+ ${RPSRC}/spitzlcd-r0.patch;patch=1 \
file://add-oz-release-string.patch;patch=1 \
file://add-elpp-stuff.patch;patch=1 \
file://pxa-serial-hack.patch;patch=1 \
@@ -104,10 +109,8 @@ SRC_URI_append_tosa = "${DOSRC}/nand-readid-r1.patch;patch=1 \
${DOSRC}/wm9712-ts-r2.patch;patch=1 \
${DOSRC}/tosa-pxaac97-r1.patch;patch=1 \
${DOSRC}/tosa-bluetooth-r0.patch;patch=1 "
-
-SRC_URI_append_spitz = "${BASRC}/spitz-cf-support-r0.patch;patch=1 \
- ${BASRC}/spitz-base-r2.patch;patch=1 "
-
+SRC_URI_append_spitz = "${RPSRC}/spitzcf-r0.patch;patch=1 \
+ ${RPSRC}/spitzts-r0.patch;patch=1 "
S = "${WORKDIR}/linux-2.6.12"
@@ -133,7 +136,7 @@ export mem = ${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "32"}
export rd = ${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "32"}
CMDLINE_MEM_collie = "mem=${mem}M"
-CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM}"
+CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} debug"
###############################################################
# Enable or disable ELPP via local.conf - default is "no"
diff --git a/packages/linux/nslu2-kernel.inc b/packages/linux/nslu2-kernel.inc
index f5d7135c88..8946822574 100644
--- a/packages/linux/nslu2-kernel.inc
+++ b/packages/linux/nslu2-kernel.inc
@@ -221,8 +221,8 @@ CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_DEBUG} ${CMDLINE_CONSOLE}"
# Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as
# required. Notice that this has to be done for each separately built
# module as well!
-KERNEL_CC += "${TARGET_CC_ARCH} -mno-thumb-interwork"
-# KERNEL_LD +=
+KERNEL_CC += "${TARGET_CC_KERNEL_ARCH}"
+KERNEL_LD += "${TARGET_LD_KERNEL_ARCH}"
# By putting the added files in place in a separate task before
# do_patch it becomes possible to patch these files.
diff --git a/packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch b/packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch
new file mode 100644
index 0000000000..b5ce101d68
--- /dev/null
+++ b/packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch
@@ -0,0 +1,139 @@
+--- nslu2-io.c.old 2da1d3f5c0aa0804c5769588337077ddcb35c5e9
++++ linux-2.6.12.2/arch/arm/mach-ixp4xx/nslu2-io.c e895da638b4aae16a11fafe52ae0b063645a9a12
+@@ -158,6 +158,8 @@
+ #define LED_DISK2 3
+ #define LED_ALL 4
+
++static int nslu2_shutdown_in_progress = 0;
++
+ static unsigned long init_jiffy = 0; //jiffies at init time
+ static unsigned long rb_presses = 0; //number of reset button presses
+ static unsigned long ontime = 50;
+@@ -503,40 +505,20 @@
+ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs)
+ {
+ void *ret;
+-
+- wake_up(&n2pb_waitq);
+- remove_proc_entry(PWR_OFF_STR, NULL); //no parent
+- n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED);
+- ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
+- nslu2_io_debug((KERN_DEBUG "cpe ret = %p\n", ret));
+-
+-// WARNING: This is RUDE...it unconditionally pulls the power plug.
+-// Your data will be at risk...since this is just a test system
+-// I am leaving it enabled...eventually userland needs to get the
+-// message, do an orderly shutdown and use an ioctl or something in
+-// /proc/powerdowm to actually have us pull the plug.
+-
+- machine_power_off();
+-
++ if (!nslu2_shutdown_in_progress++) {
++ wake_up(&n2pb_waitq);
++ remove_proc_entry(PWR_OFF_STR, NULL); //no parent
++ n2_buzz(N2_BEEP_PITCH_HIGH, N2_BEEP_DUR_SHORT); // Short, high-pitched "OK"
++ ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
++ nslu2_io_debug((KERN_DEBUG "Powerbutton pressed. Shutting down. cpe ret = %p\n", ret));
++ kill_proc(1,SIGINT,1); // Signal init to shut down
++ } else {
++ n2_buzz(N2_BEEP_PITCH_LOW, N2_BEEP_DUR_MED); // Make a scary noise!
++ nslu2_io_debug((KERN_DEBUG "Powerbutton pressed while already in shutdown")); // Whine!
++ }
+ return IRQ_HANDLED;
+ }
+
+-//==================================================================================================
+-//
+-//static void do_rb_timeout(unsigned long data)
+-//{
+-// int i;
+-//
+-// for (i = 0; i < rb_presses; i++)
+-// n2_buzz(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT);
+-// return;
+-//}
+-//
+-//==================================================================================================
+-// does nothing -- waiting for userland to define
+-// This thing is sorta braindead...edge triggered IRQs aren't available in the drivers yet...so
+-// we hang in a loop until the button is no longer pressed
+-
+ struct testr {
+ int ctl;
+ long param;
+@@ -544,72 +526,11 @@
+
+ static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs)
+ {
++// This doesn't reset the NSLU2. It powers it off. Close enough, since reset is unreliable
+
+- static struct testr test[] = {
+- { N2LM_ALL_OFF,0 },
+- { N2LM_ON,0 },
+- { N2LM_OFF,0 },
+- { N2LM_ON,1 },
+- { N2LM_ALL_OFF,1 },
+- { N2LM_ON,2 },
+- { N2LM_OFF,2 },
+- { N2LM_ON,3 },
+- { N2LM_OFF,3 },
+- { N2LM_BLINK,0 },
+- { N2LM_OFF,0 },
+- { N2LM_BLINK,1 },
+- { N2LM_OFF,1 },
+- { N2LM_BLINK,2 },
+- { N2LM_OFF,2 },
+- { N2LM_BLINK,3 },
+- { N2LM_OFF,3 },
+- { N2LM_ALL_OFF,0 },
+- { N2LM_ALT,1 },
+- { N2LM_OFF,1 },
+- { N2LM_ALL_ON,0 }
+- };
+-
+- nslu2_io_debug(("Reset Entry IRQ =%d Presses = %d Jiffies = %08lx\tIO = %x\tIOW = %x\n", irq, rb_presses, jiffies, (int)_IO('M',rb_presses), (int)_IOW('M',rb_presses,long)));
+-
+ wake_up(&n2rb_waitq);
+- while ((*IXP4XX_GPIO_GPINR & GPIO_RB_BM) == 0)
+- ; //wait for button release
+-
+- if (rb_presses > 20)
+- rb_presses = 0;
+- tone = (rb_presses * 50) + 200;
+- ontime = (rb_presses*10) + 100;
+- offtime = 500 - (rb_presses*20);
+- nslu2_io_debug(("Ontime = %d\tOfftime = %d\tTone = %d\n",ontime,offtime,tone));
+- rb_presses++;
+-
+- n2bz_ioctl(NULL,NULL, N2BZ_BEEPS, rb_presses);
+- n2lm_ioctl(NULL,NULL, test[rb_presses].ctl, test[rb_presses].param);
+-// if (rb_presses == 0) {
+-// init_jiffy = jiffies;
+-// init_timer (&n2rb_timer);
+-// n2rb_timer.function = do_rb_timeout;
+-// };
+-//
+-// if (rb_presses == 8)
+-// rb_presses = 0;
+-// if (rb_presses & 1)
+-// n2lm_ledon(test[rb_presses]);
+-// else
+-// n2lm_ledoff(test[rb_presses]);
+-//
+-// n2rb_timer.expires = (jiffies + RB_DELAY);
+-// add_timer (&n2rb_timer);
+-// if (rb_presses < 5) {
+-// if (rb_presses > 0)
+-// n2lm_ledoff(rb_presses);
+-// n2lm_ledon(++rb_presses);
+-// n2lm_timer_start(rb_presses);
+-// };
+-
+- nslu2_io_debug((KERN_DEBUG "Reset Exit IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies));
+- return IRQ_HANDLED;
+-
++ machine_power_off();
++ return IRQ_HANDLED; // So we don't get a nobody cared error :-P
+ }
+
+ //==================================================================================================
diff --git a/packages/linux/nslu2-kernel_2.6.12.2.bb b/packages/linux/nslu2-kernel_2.6.12.2.bb
index 177fa8cb3f..a536e866e6 100644
--- a/packages/linux/nslu2-kernel_2.6.12.2.bb
+++ b/packages/linux/nslu2-kernel_2.6.12.2.bb
@@ -1,5 +1,5 @@
# Kernel for NSLU2
-PR = "r8"
+PR = "r9"
include nslu2-kernel.inc
# N2K_EXTRA_PATCHES - list of patches to apply (can include
@@ -23,4 +23,5 @@ N2K_PATCHES = "\
file://mtd-shutdown.patch;patch=1 \
file://missing-exports.patch;patch=1 \
file://timer.patch;patch=1 \
+ file://nslu2-io_rpbutton.patch;patch=1 \
"