split kernel patches into board dependend and generic
authorFelix Fietkau <nbd@openwrt.org>
Mon, 30 May 2005 22:46:44 +0000 (22:46 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 30 May 2005 22:46:44 +0000 (22:46 +0000)
SVN-Revision: 1122

56 files changed:
openwrt/target/linux/linux-2.4/Makefile
openwrt/target/linux/linux-2.4/patches/000-linux_mips.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/001-bcm47xx.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/002-wl_fix.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/003-squashfs.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/004-squashfs_lzma.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/005-jffs2_compression.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/006-bcm47xx_workarounds.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/007-bcm94710_mmu.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/100-ebtables.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/101-netfilter_ipp2p.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/102-netfilter_layer7.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/103-netfilter_nat_pptp.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/104-netfilter_maxconn.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/105-netfilter_TTL.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/106-mppe_mppc.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/107-cifs.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/108-optional_aout_support.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/109-ipsec_nat_traversal.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/110-netdev_random_core.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/200-i4l.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/201-hfc_usb_backport.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/202-pl2303_backport.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/203-hfsplus_fix.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/204-net_b44.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/205-gcc_3.4_ldscript.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/206-gcc_3.4_fixes.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/207-gcc_4.0_fixes.patch [deleted file]
openwrt/target/linux/linux-2.4/patches/brcm/001-bcm47xx.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/brcm/002-wl_fix.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/brcm/003-bcm47xx_workarounds.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/brcm/004-bcm94710_mmu.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/000-linux_mips.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/001-squashfs.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/002-squashfs_lzma.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/003-jffs2_compression.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/004-exec_pagesize.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/100-ebtables.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/101-netfilter_ipp2p.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/102-netfilter_layer7.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/103-netfilter_nat_pptp.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/104-netfilter_maxconn.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/105-netfilter_TTL.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/106-mppe_mppc.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/107-cifs.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/108-optional_aout_support.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/109-ipsec_nat_traversal.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/110-netdev_random_core.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/200-i4l.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/201-hfc_usb_backport.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/202-pl2303_backport.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/203-hfsplus_fix.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/204-net_b44.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/205-gcc_3.4_ldscript.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/206-gcc_3.4_fixes.patch [new file with mode: 0644]
openwrt/target/linux/linux-2.4/patches/generic/207-gcc_4.0_fixes.patch [new file with mode: 0644]

index 263339f..af06b11 100644 (file)
@@ -169,7 +169,8 @@ $(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE) $(DL_DIR)/$(LINUX_BINARY_WL_DR
        touch $(LINUX_DIR)/.unpacked
 
 $(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
-       $(PATCH) $(LINUX_DIR) ./patches
+       [ -d ./patches/$(BOARD) ] && $(PATCH) $(LINUX_DIR) ./patches/$(BOARD)
+       $(PATCH) $(LINUX_DIR) ./patches/generic
        touch $(LINUX_DIR)/.patched
 
 $(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
diff --git a/openwrt/target/linux/linux-2.4/patches/000-linux_mips.patch b/openwrt/target/linux/linux-2.4/patches/000-linux_mips.patch
deleted file mode 100644 (file)
index e2ebfce..0000000
+++ /dev/null
@@ -1,26900 +0,0 @@
-diff -Nur linux-2.4.30/Makefile linux-2.4.30-mips/Makefile
---- linux-2.4.30/Makefile      2005-04-04 03:42:20.000000000 +0200
-+++ linux-2.4.30-mips/Makefile 2005-04-05 21:09:54.000000000 +0200
-@@ -5,7 +5,7 @@
- KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
--ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
-+ARCH = mips
- KERNELPATH=kernel-$(shell echo $(KERNELRELEASE) | sed -e "s/-//g")
- CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
-@@ -462,10 +462,11 @@
-       $(MAKE) -C Documentation/DocBook mrproper
- distclean: mrproper
--      rm -f core `find . \( -not -type d \) -and \
--              \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
--              -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
--              -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -type f -print` TAGS tags
-+      find . \( -not -type d \) -and \
-+              \( -name core -o -name '*.orig' -o -name '*.rej' \
-+              -o -name '*~' -o -name '*.bak' -o -name '#*#' \
-+              -o -name '.*.rej' -o -name '.SUMS' -o -size 0 \
-+              -o -name TAGS -o -name tags \) -print | env -i xargs rm -f
- backup: mrproper
-       cd .. && tar cf - linux/ | gzip -9 > backup.gz
-@@ -492,7 +493,7 @@
-       $(MAKE) -C Documentation/DocBook man
- sums:
--      find . -type f -print | sort | xargs sum > .SUMS
-+      find . -type f -print | sort | env -i xargs sum > .SUMS
- dep-files: scripts/mkdep archdep include/linux/version.h
-       rm -f .depend .hdepend
-diff -Nur linux-2.4.30/arch/mips/Makefile linux-2.4.30-mips/arch/mips/Makefile
---- linux-2.4.30/arch/mips/Makefile    2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/Makefile       2005-01-30 09:01:26.000000000 +0100
-@@ -211,7 +211,7 @@
- endif
- #
--# Au1000 (Alchemy Semi PB1000) eval board
-+# Au1x AMD Alchemy eval boards
- #
- ifdef CONFIG_MIPS_PB1000
- LIBS          += arch/mips/au1000/pb1000/pb1000.o \
-@@ -220,9 +220,6 @@
- LOADADDR      := 0x80100000
- endif
--#
--# Au1100 (Alchemy Semi PB1100) eval board
--#
- ifdef CONFIG_MIPS_PB1100
- LIBS          += arch/mips/au1000/pb1100/pb1100.o \
-                  arch/mips/au1000/common/au1000.o
-@@ -230,9 +227,6 @@
- LOADADDR      += 0x80100000
- endif
--#
--# Au1500 (Alchemy Semi PB1500) eval board
--#
- ifdef CONFIG_MIPS_PB1500
- LIBS          += arch/mips/au1000/pb1500/pb1500.o \
-                  arch/mips/au1000/common/au1000.o
-@@ -240,9 +234,6 @@
- LOADADDR      := 0x80100000
- endif
--#
--# Au1x00 (AMD/Alchemy) eval boards
--#
- ifdef CONFIG_MIPS_DB1000
- LIBS          += arch/mips/au1000/db1x00/db1x00.o \
-                  arch/mips/au1000/common/au1000.o
-@@ -313,6 +304,27 @@
- LOADADDR      += 0x80100000
- endif
-+ifdef CONFIG_MIPS_PB1200
-+LIBS          += arch/mips/au1000/pb1200/pb1200.o \
-+                 arch/mips/au1000/common/au1000.o
-+SUBDIRS       += arch/mips/au1000/pb1200 arch/mips/au1000/common
-+LOADADDR      += 0x80100000
-+endif
-+
-+ifdef CONFIG_MIPS_DB1200
-+LIBS          += arch/mips/au1000/pb1200/pb1200.o \
-+                 arch/mips/au1000/common/au1000.o
-+SUBDIRS       += arch/mips/au1000/pb1200 arch/mips/au1000/common
-+LOADADDR      += 0x80100000
-+endif
-+
-+ifdef CONFIG_MIPS_FICMMP
-+LIBS          += arch/mips/au1000/ficmmp/ficmmp.o \
-+                 arch/mips/au1000/common/au1000.o
-+SUBDIRS       += arch/mips/au1000/ficmmp arch/mips/au1000/common
-+LOADADDR      += 0x80100000
-+endif
-+
- #
- # Cogent CSB250
-diff -Nur linux-2.4.30/arch/mips/au1000/common/Makefile linux-2.4.30-mips/arch/mips/au1000/common/Makefile
---- linux-2.4.30/arch/mips/au1000/common/Makefile      2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/Makefile 2005-01-30 09:01:27.000000000 +0100
-@@ -19,9 +19,9 @@
- export-objs           = prom.o clocks.o power.o usbdev.o
- obj-y := prom.o int-handler.o irq.o puts.o time.o reset.o cputable.o \
--      au1xxx_irqmap.o clocks.o power.o setup.o sleeper.o dma.o dbdma.o
-+      au1xxx_irqmap.o clocks.o power.o setup.o sleeper.o dma.o dbdma.o gpio.o
-   
--export-objs += dma.o dbdma.o
-+export-objs += dma.o dbdma.o gpio.o
- obj-$(CONFIG_AU1X00_USB_DEVICE) += usbdev.o
- obj-$(CONFIG_KGDB) += dbg_io.o
-diff -Nur linux-2.4.30/arch/mips/au1000/common/au1xxx_irqmap.c linux-2.4.30-mips/arch/mips/au1000/common/au1xxx_irqmap.c
---- linux-2.4.30/arch/mips/au1000/common/au1xxx_irqmap.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/au1xxx_irqmap.c  2005-01-30 09:01:27.000000000 +0100
-@@ -172,14 +172,14 @@
-       { AU1550_PSC1_INT, INTC_INT_HIGH_LEVEL, 0},
-       { AU1550_PSC2_INT, INTC_INT_HIGH_LEVEL, 0},
-       { AU1550_PSC3_INT, INTC_INT_HIGH_LEVEL, 0},
--      { AU1550_TOY_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_TOY_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_TOY_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_TOY_MATCH2_INT, INTC_INT_RISE_EDGE, 1 },
--      { AU1550_RTC_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_RTC_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_RTC_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1550_RTC_MATCH2_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH2_INT, INTC_INT_RISE_EDGE, 1 },
-+      { AU1000_RTC_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH2_INT, INTC_INT_RISE_EDGE, 0 },
-       { AU1550_NAND_INT, INTC_INT_RISE_EDGE, 0},
-       { AU1550_USB_DEV_REQ_INT, INTC_INT_HIGH_LEVEL, 0 },
-       { AU1550_USB_DEV_SUS_INT, INTC_INT_RISE_EDGE, 0 },
-@@ -200,14 +200,14 @@
-       { AU1200_PSC1_INT, INTC_INT_HIGH_LEVEL, 0},
-       { AU1200_AES_INT, INTC_INT_HIGH_LEVEL, 0},
-       { AU1200_CAMERA_INT, INTC_INT_HIGH_LEVEL, 0},
--      { AU1200_TOY_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_TOY_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_TOY_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_TOY_MATCH2_INT, INTC_INT_RISE_EDGE, 1 },
--      { AU1200_RTC_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_RTC_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_RTC_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
--      { AU1200_RTC_MATCH2_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_TOY_MATCH2_INT, INTC_INT_RISE_EDGE, 1 },
-+      { AU1000_RTC_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH0_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH1_INT, INTC_INT_RISE_EDGE, 0 },
-+      { AU1000_RTC_MATCH2_INT, INTC_INT_RISE_EDGE, 0 },
-       { AU1200_NAND_INT, INTC_INT_RISE_EDGE, 0},
-       { AU1200_USB_INT, INTC_INT_HIGH_LEVEL, 0 },
-       { AU1200_LCD_INT, INTC_INT_HIGH_LEVEL, 0},
-diff -Nur linux-2.4.30/arch/mips/au1000/common/cputable.c linux-2.4.30-mips/arch/mips/au1000/common/cputable.c
---- linux-2.4.30/arch/mips/au1000/common/cputable.c    2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/cputable.c       2005-01-30 09:01:27.000000000 +0100
-@@ -39,7 +39,8 @@
-     { 0xffffffff, 0x02030203, "Au1100 BD", 0, 1 },
-     { 0xffffffff, 0x02030204, "Au1100 BE", 0, 1 },
-     { 0xffffffff, 0x03030200, "Au1550 AA", 0, 1 },
--    { 0xffffffff, 0x04030200, "Au1200 AA", 0, 1 },
-+    { 0xffffffff, 0x04030200, "Au1200 AB", 0, 0 },
-+    { 0xffffffff, 0x04030201, "Au1200 AC", 0, 0 },
-     { 0x00000000, 0x00000000, "Unknown Au1xxx", 1, 0 },
- };
-diff -Nur linux-2.4.30/arch/mips/au1000/common/dbdma.c linux-2.4.30-mips/arch/mips/au1000/common/dbdma.c
---- linux-2.4.30/arch/mips/au1000/common/dbdma.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/dbdma.c  2005-02-08 07:28:37.000000000 +0100
-@@ -41,6 +41,8 @@
- #include <asm/au1xxx_dbdma.h>
- #include <asm/system.h>
-+#include <linux/module.h>
-+
- #if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200)
- /*
-@@ -60,37 +62,10 @@
- */
- #define ALIGN_ADDR(x, a)      ((((u32)(x)) + (a-1)) & ~(a-1))
--static volatile dbdma_global_t *dbdma_gptr = (dbdma_global_t *)DDMA_GLOBAL_BASE;
--static int dbdma_initialized;
-+static dbdma_global_t *dbdma_gptr = (dbdma_global_t *)DDMA_GLOBAL_BASE;
-+static int dbdma_initialized=0;
- static void au1xxx_dbdma_init(void);
--typedef struct dbdma_device_table {
--      u32             dev_id;
--      u32             dev_flags;
--      u32             dev_tsize;
--      u32             dev_devwidth;
--      u32             dev_physaddr;           /* If FIFO */
--      u32             dev_intlevel;
--      u32             dev_intpolarity;
--} dbdev_tab_t;
--
--typedef struct dbdma_chan_config {
--      u32                     chan_flags;
--      u32                     chan_index;
--      dbdev_tab_t             *chan_src;
--      dbdev_tab_t             *chan_dest;
--      au1x_dma_chan_t         *chan_ptr;
--      au1x_ddma_desc_t        *chan_desc_base;
--      au1x_ddma_desc_t        *get_ptr, *put_ptr, *cur_ptr;
--      void                    *chan_callparam;
--      void (*chan_callback)(int, void *, struct pt_regs *);
--} chan_tab_t;
--
--#define       DEV_FLAGS_INUSE         (1 << 0)
--#define       DEV_FLAGS_ANYUSE        (1 << 1)
--#define DEV_FLAGS_OUT         (1 << 2)
--#define DEV_FLAGS_IN          (1 << 3)
--
- static dbdev_tab_t dbdev_tab[] = {
- #ifdef CONFIG_SOC_AU1550
-       /* UARTS */
-@@ -156,13 +131,13 @@
-       { DSCR_CMD0_MAE_BOTH, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
-       { DSCR_CMD0_LCD, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_SDMS_TX0, DEV_FLAGS_OUT, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_SDMS_RX0, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_SDMS_TX1, DEV_FLAGS_OUT, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_SDMS_RX1, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
-+      { DSCR_CMD0_SDMS_TX0, DEV_FLAGS_OUT, 4, 8, 0x10600000, 0, 0 },
-+      { DSCR_CMD0_SDMS_RX0, DEV_FLAGS_IN, 4, 8, 0x10600004, 0, 0 },
-+      { DSCR_CMD0_SDMS_TX1, DEV_FLAGS_OUT, 4, 8, 0x10680000, 0, 0 },
-+      { DSCR_CMD0_SDMS_RX1, DEV_FLAGS_IN, 4, 8, 0x10680004, 0, 0 },
--      { DSCR_CMD0_AES_TX, DEV_FLAGS_OUT, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_AES_RX, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
-+      { DSCR_CMD0_AES_RX, DEV_FLAGS_IN , 4, 32, 0x10300008, 0, 0 },
-+      { DSCR_CMD0_AES_TX, DEV_FLAGS_OUT, 4, 32, 0x10300004, 0, 0 },
-       { DSCR_CMD0_PSC0_TX, DEV_FLAGS_OUT, 0, 0, 0x11a0001c, 0, 0 },
-       { DSCR_CMD0_PSC0_RX, DEV_FLAGS_IN, 0, 0, 0x11a0001c, 0, 0 },
-@@ -172,9 +147,9 @@
-       { DSCR_CMD0_PSC1_RX, DEV_FLAGS_IN, 0, 0, 0x11b0001c, 0, 0 },
-       { DSCR_CMD0_PSC1_SYNC, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_CIM_RXA, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_CIM_RXB, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
--      { DSCR_CMD0_CIM_RXC, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
-+      { DSCR_CMD0_CIM_RXA, DEV_FLAGS_IN, 0, 32, 0x14004020, 0, 0 },
-+      { DSCR_CMD0_CIM_RXB, DEV_FLAGS_IN, 0, 32, 0x14004040, 0, 0 },
-+      { DSCR_CMD0_CIM_RXC, DEV_FLAGS_IN, 0, 32, 0x14004060, 0, 0 },
-       { DSCR_CMD0_CIM_SYNC, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
-       { DSCR_CMD0_NAND_FLASH, DEV_FLAGS_IN, 0, 0, 0x00000000, 0, 0 },
-@@ -183,6 +158,24 @@
-       { DSCR_CMD0_THROTTLE, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
-       { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
-+
-+      /* Provide 16 user definable device types */
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
-+      { 0, 0, 0, 0, 0, 0, 0 },
- };
- #define DBDEV_TAB_SIZE (sizeof(dbdev_tab) / sizeof(dbdev_tab_t))
-@@ -202,6 +195,30 @@
-       return NULL;
- }
-+u32
-+au1xxx_ddma_add_device(dbdev_tab_t *dev)
-+{
-+      u32 ret = 0;
-+      dbdev_tab_t *p=NULL;
-+      static u16 new_id=0x1000;
-+
-+      p = find_dbdev_id(0);
-+      if ( NULL != p )
-+      {
-+              memcpy(p, dev, sizeof(dbdev_tab_t));
-+              p->dev_id = DSCR_DEV2CUSTOM_ID(new_id,dev->dev_id);
-+              ret = p->dev_id;
-+              new_id++;
-+#if 0
-+              printk("add_device: id:%x flags:%x padd:%x\n", 
-+                              p->dev_id, p->dev_flags, p->dev_physaddr );
-+#endif
-+      }
-+
-+      return ret;
-+}
-+EXPORT_SYMBOL(au1xxx_ddma_add_device);
-+
- /* Allocate a channel and return a non-zero descriptor if successful.
- */
- u32
-@@ -214,7 +231,7 @@
-       int             i;
-       dbdev_tab_t     *stp, *dtp;
-       chan_tab_t      *ctp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-       /* We do the intialization on the first channel allocation.
-        * We have to wait because of the interrupt handler initialization
-@@ -224,9 +241,6 @@
-               au1xxx_dbdma_init();
-       dbdma_initialized = 1;
--      if ((srcid > DSCR_NDEV_IDS) || (destid > DSCR_NDEV_IDS))
--              return 0;
--      
-       if ((stp = find_dbdev_id(srcid)) == NULL) return 0;
-       if ((dtp = find_dbdev_id(destid)) == NULL) return 0;
-@@ -268,9 +282,9 @@
-                               /* If kmalloc fails, it is caught below same
-                                * as a channel not available.
-                                */
--                              ctp = (chan_tab_t *)kmalloc(sizeof(chan_tab_t), GFP_KERNEL);
-+                              ctp = (chan_tab_t *)
-+                                      kmalloc(sizeof(chan_tab_t), GFP_KERNEL);
-                               chan_tab_ptr[i] = ctp;
--                              ctp->chan_index = chan = i;
-                               break;
-                       }
-               }
-@@ -278,10 +292,11 @@
-               if (ctp != NULL) {
-                       memset(ctp, 0, sizeof(chan_tab_t));
-+                      ctp->chan_index = chan = i;
-                       dcp = DDMA_CHANNEL_BASE;
-                       dcp += (0x0100 * chan);
-                       ctp->chan_ptr = (au1x_dma_chan_t *)dcp;
--                      cp = (volatile au1x_dma_chan_t *)dcp;
-+                      cp = (au1x_dma_chan_t *)dcp;
-                       ctp->chan_src = stp;
-                       ctp->chan_dest = dtp;
-                       ctp->chan_callback = callback;
-@@ -298,6 +313,9 @@
-                               i |= DDMA_CFG_DED;
-                       if (dtp->dev_intpolarity)
-                               i |= DDMA_CFG_DP;
-+                      if ((stp->dev_flags & DEV_FLAGS_SYNC) ||
-+                              (dtp->dev_flags & DEV_FLAGS_SYNC))
-+                                      i |= DDMA_CFG_SYNC;
-                       cp->ddma_cfg = i;
-                       au_sync();
-@@ -308,14 +326,14 @@
-                       rv = (u32)(&chan_tab_ptr[chan]);
-               }
-               else {
--                      /* Release devices.
--                      */
-+                      /* Release devices */
-                       stp->dev_flags &= ~DEV_FLAGS_INUSE;
-                       dtp->dev_flags &= ~DEV_FLAGS_INUSE;
-               }
-       }
-       return rv;
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_chan_alloc);
- /* Set the device width if source or destination is a FIFO.
-  * Should be 8, 16, or 32 bits.
-@@ -343,6 +361,7 @@
-       return rv;
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_set_devwidth);
- /* Allocate a descriptor ring, initializing as much as possible.
- */
-@@ -369,7 +388,8 @@
-        * and if we try that first we are likely to not waste larger
-        * slabs of memory.
-        */
--      desc_base = (u32)kmalloc(entries * sizeof(au1x_ddma_desc_t), GFP_KERNEL);
-+      desc_base = (u32)kmalloc(entries * sizeof(au1x_ddma_desc_t), 
-+                      GFP_KERNEL|GFP_DMA);
-       if (desc_base == 0)
-               return 0;
-       
-@@ -380,7 +400,7 @@
-               kfree((const void *)desc_base);
-               i = entries * sizeof(au1x_ddma_desc_t);
-               i += (sizeof(au1x_ddma_desc_t) - 1);
--              if ((desc_base = (u32)kmalloc(i, GFP_KERNEL)) == 0)
-+              if ((desc_base = (u32)kmalloc(i, GFP_KERNEL|GFP_DMA)) == 0)
-                       return 0;
-               desc_base = ALIGN_ADDR(desc_base, sizeof(au1x_ddma_desc_t));
-@@ -460,9 +480,14 @@
-       /* If source input is fifo, set static address.
-       */
-       if (stp->dev_flags & DEV_FLAGS_IN) {
--              src0 = stp->dev_physaddr;
--              src1 |= DSCR_SRC1_SAM(DSCR_xAM_STATIC);
-+              if ( stp->dev_flags & DEV_FLAGS_BURSTABLE ) 
-+                      src1 |= DSCR_SRC1_SAM(DSCR_xAM_BURST);
-+              else 
-+                      src1 |= DSCR_SRC1_SAM(DSCR_xAM_STATIC);
-+
-       }
-+      if (stp->dev_physaddr) 
-+              src0 = stp->dev_physaddr;
-       /* Set up dest1.  For now, assume no stride and increment.
-        * A channel attribute update can change this later.
-@@ -486,10 +511,18 @@
-       /* If destination output is fifo, set static address.
-       */
-       if (dtp->dev_flags & DEV_FLAGS_OUT) {
--              dest0 = dtp->dev_physaddr;
-+              if ( dtp->dev_flags & DEV_FLAGS_BURSTABLE )
-+                      dest1 |= DSCR_DEST1_DAM(DSCR_xAM_BURST);
-+                              else
-               dest1 |= DSCR_DEST1_DAM(DSCR_xAM_STATIC);
-       }
-+      if (dtp->dev_physaddr) 
-+              dest0 = dtp->dev_physaddr;
-       
-+#if 0
-+              printk("did:%x sid:%x cmd0:%x cmd1:%x source0:%x source1:%x dest0:%x dest1:%x\n",
-+                      dtp->dev_id, stp->dev_id, cmd0, cmd1, src0, src1, dest0, dest1 );
-+#endif
-       for (i=0; i<entries; i++) {
-               dp->dscr_cmd0 = cmd0;
-               dp->dscr_cmd1 = cmd1;
-@@ -498,6 +531,7 @@
-               dp->dscr_dest0 = dest0;
-               dp->dscr_dest1 = dest1;
-               dp->dscr_stat = 0;
-+                              dp->sw_context = dp->sw_status = 0;
-               dp->dscr_nxtptr = DSCR_NXTPTR(virt_to_phys(dp + 1));
-               dp++;
-       }
-@@ -510,13 +544,14 @@
-       return (u32)(ctp->chan_desc_base);
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_ring_alloc);
- /* Put a source buffer into the DMA ring.
-  * This updates the source pointer and byte count.  Normally used
-  * for memory to fifo transfers.
-  */
- u32
--au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes)
-+_au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes, u32 flags)
- {
-       chan_tab_t              *ctp;
-       au1x_ddma_desc_t        *dp;
-@@ -543,24 +578,40 @@
-       */
-       dp->dscr_source0 = virt_to_phys(buf);
-       dp->dscr_cmd1 = nbytes;
--      dp->dscr_cmd0 |= DSCR_CMD0_V;   /* Let it rip */
--      ctp->chan_ptr->ddma_dbell = 0xffffffff; /* Make it go */
--      
-+      /* Check flags  */
-+      if (flags & DDMA_FLAGS_IE) 
-+              dp->dscr_cmd0 |= DSCR_CMD0_IE;
-+      if (flags & DDMA_FLAGS_NOIE)
-+              dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
-       /* Get next descriptor pointer.
-       */
-       ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
-+      /*
-+       * There is an errata on the Au1200/Au1550 parts that could result 
-+       * in "stale" data being DMA'd. It has to do with the snoop logic on 
-+       * the dache eviction buffer.  NONCOHERENT_IO is on by default for 
-+       * these parts. If it is fixedin the future, these dma_cache_inv will 
-+       * just be nothing more than empty macros. See io.h.
-+       * */
-+      dma_cache_wback_inv(buf,nbytes);
-+        dp->dscr_cmd0 |= DSCR_CMD0_V;        /* Let it rip */
-+      au_sync();
-+      dma_cache_wback_inv(dp, sizeof(dp));
-+        ctp->chan_ptr->ddma_dbell = 0;
-+
-       /* return something not zero.
-       */
-       return nbytes;
- }
-+EXPORT_SYMBOL(_au1xxx_dbdma_put_source);
- /* Put a destination buffer into the DMA ring.
-  * This updates the destination pointer and byte count.  Normally used
-  * to place an empty buffer into the ring for fifo to memory transfers.
-  */
- u32
--au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes)
-+_au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes, u32 flags)
- {
-       chan_tab_t              *ctp;
-       au1x_ddma_desc_t        *dp;
-@@ -582,11 +633,33 @@
-       if (dp->dscr_cmd0 & DSCR_CMD0_V)
-               return 0;
-       
--      /* Load up buffer address and byte count.
--      */
-+      /* Load up buffer address and byte count */
-+
-+      /* Check flags  */
-+      if (flags & DDMA_FLAGS_IE) 
-+              dp->dscr_cmd0 |= DSCR_CMD0_IE;
-+      if (flags & DDMA_FLAGS_NOIE)
-+              dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
-+
-       dp->dscr_dest0 = virt_to_phys(buf);
-       dp->dscr_cmd1 = nbytes;
-+#if 0
-+      printk("cmd0:%x cmd1:%x source0:%x source1:%x dest0:%x dest1:%x\n", 
-+                      dp->dscr_cmd0, dp->dscr_cmd1, dp->dscr_source0, 
-+                      dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1 );
-+#endif
-+      /*
-+       * There is an errata on the Au1200/Au1550 parts that could result in 
-+       * "stale" data being DMA'd. It has to do with the snoop logic on the 
-+       * dache eviction buffer. NONCOHERENT_IO is on by default for these 
-+       * parts. If it is fixedin the future, these dma_cache_inv will just 
-+       * be nothing more than empty macros. See io.h. 
-+       * */
-+      dma_cache_inv(buf,nbytes);
-       dp->dscr_cmd0 |= DSCR_CMD0_V;   /* Let it rip */
-+      au_sync();
-+      dma_cache_wback_inv(dp, sizeof(dp));
-+        ctp->chan_ptr->ddma_dbell = 0;
-       
-       /* Get next descriptor pointer.
-       */
-@@ -596,6 +669,7 @@
-       */
-       return nbytes;
- }
-+EXPORT_SYMBOL(_au1xxx_dbdma_put_dest);
- /* Get a destination buffer into the DMA ring.
-  * Normally used to get a full buffer from the ring during fifo
-@@ -645,7 +719,7 @@
- au1xxx_dbdma_stop(u32 chanid)
- {
-       chan_tab_t      *ctp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-       int halt_timeout = 0;
-       ctp = *((chan_tab_t **)chanid);
-@@ -665,6 +739,7 @@
-       cp->ddma_stat |= (DDMA_STAT_DB | DDMA_STAT_V);
-       au_sync();
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_stop);
- /* Start using the current descriptor pointer.  If the dbdma encounters
-  * a not valid descriptor, it will stop.  In this case, we can just
-@@ -674,17 +749,17 @@
- au1xxx_dbdma_start(u32 chanid)
- {
-       chan_tab_t      *ctp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-       ctp = *((chan_tab_t **)chanid);
--
-       cp = ctp->chan_ptr;
-       cp->ddma_desptr = virt_to_phys(ctp->cur_ptr);
-       cp->ddma_cfg |= DDMA_CFG_EN;    /* Enable channel */
-       au_sync();
--      cp->ddma_dbell = 0xffffffff;    /* Make it go */
-+      cp->ddma_dbell = 0;
-       au_sync();
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_start);
- void
- au1xxx_dbdma_reset(u32 chanid)
-@@ -703,15 +778,21 @@
-       do {
-               dp->dscr_cmd0 &= ~DSCR_CMD0_V;
-+              /* reset our SW status -- this is used to determine 
-+               * if a descriptor is in use by upper level SW. Since 
-+               * posting can reset 'V' bit. 
-+               */
-+              dp->sw_status = 0;
-               dp = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
-       } while (dp != ctp->chan_desc_base);
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_reset);
- u32
- au1xxx_get_dma_residue(u32 chanid)
- {
-       chan_tab_t      *ctp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-       u32             rv;
-       ctp = *((chan_tab_t **)chanid);
-@@ -746,15 +827,16 @@
-       kfree(ctp);
- }
-+EXPORT_SYMBOL(au1xxx_dbdma_chan_free);
- static void
- dbdma_interrupt(int irq, void *dev_id, struct pt_regs *regs)
- {
--      u32     intstat;
-+      u32                                     intstat, flags;
-       u32     chan_index;
-       chan_tab_t              *ctp;
-       au1x_ddma_desc_t        *dp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-       intstat = dbdma_gptr->ddma_intstat;
-       au_sync();
-@@ -773,18 +855,26 @@
-               (ctp->chan_callback)(irq, ctp->chan_callparam, regs);
-       ctp->cur_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
--      
- }
--static void
--au1xxx_dbdma_init(void)
-+static void au1xxx_dbdma_init(void)
- {
-+      int irq_nr;
-+
-       dbdma_gptr->ddma_config = 0;
-       dbdma_gptr->ddma_throttle = 0;
-       dbdma_gptr->ddma_inten = 0xffff;
-       au_sync();
--      if (request_irq(AU1550_DDMA_INT, dbdma_interrupt, SA_INTERRUPT,
-+#if defined(CONFIG_SOC_AU1550)
-+      irq_nr = AU1550_DDMA_INT;
-+#elif defined(CONFIG_SOC_AU1200)
-+      irq_nr = AU1200_DDMA_INT;
-+#else
-+      #error Unknown Au1x00 SOC
-+#endif
-+
-+      if (request_irq(irq_nr, dbdma_interrupt, SA_INTERRUPT,
-                       "Au1xxx dbdma", (void *)dbdma_gptr))
-               printk("Can't get 1550 dbdma irq");
- }
-@@ -795,7 +885,8 @@
-       chan_tab_t              *ctp;
-       au1x_ddma_desc_t        *dp;
-       dbdev_tab_t             *stp, *dtp;
--      volatile au1x_dma_chan_t *cp;
-+      au1x_dma_chan_t *cp;
-+              u32                     i = 0;
-       ctp = *((chan_tab_t **)chanid);
-       stp = ctp->chan_src;
-@@ -820,15 +911,64 @@
-       dp = ctp->chan_desc_base;
-       do {
--              printk("dp %08x, cmd0 %08x, cmd1 %08x\n",
--                      (u32)dp, dp->dscr_cmd0, dp->dscr_cmd1);
--              printk("src0 %08x, src1 %08x, dest0 %08x\n",
--                      dp->dscr_source0, dp->dscr_source1, dp->dscr_dest0);
--              printk("dest1 %08x, stat %08x, nxtptr %08x\n",
--                      dp->dscr_dest1, dp->dscr_stat, dp->dscr_nxtptr);
-+                printk("Dp[%d]= %08x, cmd0 %08x, cmd1 %08x\n",
-+                        i++, (u32)dp, dp->dscr_cmd0, dp->dscr_cmd1);
-+                printk("src0 %08x, src1 %08x, dest0 %08x, dest1 %08x\n",
-+                        dp->dscr_source0, dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1);
-+                printk("stat %08x, nxtptr %08x\n",
-+                        dp->dscr_stat, dp->dscr_nxtptr);
-               dp = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
-       } while (dp != ctp->chan_desc_base);
- }
-+/* Put a descriptor into the DMA ring.
-+ * This updates the source/destination pointers and byte count.
-+ */
-+u32
-+au1xxx_dbdma_put_dscr(u32 chanid, au1x_ddma_desc_t *dscr )
-+{
-+      chan_tab_t *ctp;
-+      au1x_ddma_desc_t *dp;
-+      u32 nbytes=0;
-+
-+      /* I guess we could check this to be within the
-+      * range of the table......
-+      */
-+      ctp = *((chan_tab_t **)chanid);
-+
-+      /* We should have multiple callers for a particular channel,
-+      * an interrupt doesn't affect this pointer nor the descriptor,
-+      * so no locking should be needed.
-+      */
-+      dp = ctp->put_ptr;
-+
-+      /* If the descriptor is valid, we are way ahead of the DMA
-+      * engine, so just return an error condition.
-+      */
-+      if (dp->dscr_cmd0 & DSCR_CMD0_V)
-+              return 0;
-+
-+      /* Load up buffer addresses and byte count.
-+      */
-+      dp->dscr_dest0 = dscr->dscr_dest0;
-+      dp->dscr_source0 = dscr->dscr_source0;
-+      dp->dscr_dest1 = dscr->dscr_dest1;
-+      dp->dscr_source1 = dscr->dscr_source1;
-+      dp->dscr_cmd1 = dscr->dscr_cmd1;
-+      nbytes = dscr->dscr_cmd1;
-+      /* Allow the caller to specifiy if an interrupt is generated */
-+      dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
-+      dp->dscr_cmd0 |= dscr->dscr_cmd0 | DSCR_CMD0_V;
-+      ctp->chan_ptr->ddma_dbell = 0;
-+
-+      /* Get next descriptor pointer.
-+      */
-+      ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
-+
-+      /* return something not zero.
-+      */
-+      return nbytes;
-+}
-+
- #endif /* defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) */
-diff -Nur linux-2.4.30/arch/mips/au1000/common/gpio.c linux-2.4.30-mips/arch/mips/au1000/common/gpio.c
---- linux-2.4.30/arch/mips/au1000/common/gpio.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/gpio.c   2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,118 @@
-+/*
-+ *  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 of the        License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED         ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,         INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO        EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED         TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,        OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN        CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#include <asm/au1000.h>
-+#include <asm/au1xxx_gpio.h>
-+
-+#define gpio1 sys
-+#if !defined(CONFIG_SOC_AU1000)
-+static AU1X00_GPIO2 * const gpio2 = (AU1X00_GPIO2 *)GPIO2_BASE;
-+
-+#define GPIO2_OUTPUT_ENABLE_MASK 0x00010000
-+
-+int au1xxx_gpio2_read(int signal)
-+{
-+      signal -= 200;
-+/*    gpio2->dir &= ~(0x01 << signal);                                                //Set GPIO to input */
-+      return ((gpio2->pinstate >> signal) & 0x01);
-+}
-+
-+void au1xxx_gpio2_write(int signal, int value)
-+{
-+      signal -= 200;
-+
-+      gpio2->output = (GPIO2_OUTPUT_ENABLE_MASK << signal) | 
-+              (value << signal);
-+}
-+
-+void au1xxx_gpio2_tristate(int signal)
-+{
-+      signal -= 200;
-+      gpio2->dir &= ~(0x01 << signal);        /* Set GPIO to input */
-+}
-+#endif
-+
-+int au1xxx_gpio1_read(int signal)
-+{
-+/*    gpio1->trioutclr |= (0x01 << signal); */
-+      return ((gpio1->pinstaterd >> signal) & 0x01);
-+}
-+
-+void au1xxx_gpio1_write(int signal, int value)
-+{
-+      if(value)
-+              gpio1->outputset = (0x01 << signal);
-+      else
-+              gpio1->outputclr = (0x01 << signal);    /* Output a Zero */
-+}
-+
-+void au1xxx_gpio1_tristate(int signal)
-+{
-+      gpio1->trioutclr = (0x01 << signal);            /* Tristate signal */
-+}
-+
-+
-+int au1xxx_gpio_read(int signal)
-+{
-+      if(signal >= 200)
-+#if defined(CONFIG_SOC_AU1000)
-+              return 0;
-+#else
-+              return au1xxx_gpio2_read(signal);
-+#endif
-+      else
-+              return au1xxx_gpio1_read(signal);
-+}
-+
-+void au1xxx_gpio_write(int signal, int value)
-+{
-+      if(signal >= 200)
-+#if defined(CONFIG_SOC_AU1000)
-+              ;
-+#else
-+              au1xxx_gpio2_write(signal, value);
-+#endif
-+      else
-+              au1xxx_gpio1_write(signal, value);
-+}
-+
-+void au1xxx_gpio_tristate(int signal)
-+{
-+      if(signal >= 200)
-+#if defined(CONFIG_SOC_AU1000)
-+              ;
-+#else
-+              au1xxx_gpio2_tristate(signal);
-+#endif
-+      else
-+              au1xxx_gpio1_tristate(signal);
-+}
-+
-+void au1xxx_gpio1_set_inputs(void)
-+{
-+      gpio1->pininputen = 0;
-+}
-+
-+EXPORT_SYMBOL(au1xxx_gpio1_set_inputs);
-+EXPORT_SYMBOL(au1xxx_gpio_tristate);
-+EXPORT_SYMBOL(au1xxx_gpio_write);
-+EXPORT_SYMBOL(au1xxx_gpio_read);
-diff -Nur linux-2.4.30/arch/mips/au1000/common/irq.c linux-2.4.30-mips/arch/mips/au1000/common/irq.c
---- linux-2.4.30/arch/mips/au1000/common/irq.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/irq.c    2005-03-13 08:56:57.000000000 +0100
-@@ -303,8 +303,30 @@
- };
- #ifdef CONFIG_PM
--void startup_match20_interrupt(void)
-+void startup_match20_interrupt(void (*handler)(int, void *, struct pt_regs *))
- {
-+      static struct irqaction action;
-+      /* This is a big problem.... since we didn't use request_irq
-+         when kernel/irq.c calls probe_irq_xxx this interrupt will
-+         be probed for usage. This will end up disabling the device :(
-+
-+       Give it a bogus "action" pointer -- this will keep it from
-+         getting auto-probed!
-+
-+       By setting the status to match that of request_irq() we
-+       can avoid it.  --cgray
-+      */
-+      action.dev_id = handler;
-+      action.flags = 0;
-+      action.mask = 0;
-+      action.name = "Au1xxx TOY";
-+      action.handler = handler;
-+      action.next = NULL;
-+
-+      irq_desc[AU1000_TOY_MATCH2_INT].action = &action; 
-+      irq_desc[AU1000_TOY_MATCH2_INT].status 
-+               &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING | IRQ_INPROGRESS);
-+
-       local_enable_irq(AU1000_TOY_MATCH2_INT);
- }
- #endif
-@@ -508,6 +530,7 @@
-       if (!intc0_req0) return;
-+#ifdef AU1000_USB_DEV_REQ_INT
-       /*
-        * Because of the tight timing of SETUP token to reply
-        * transactions, the USB devices-side packet complete
-@@ -518,6 +541,7 @@
-               do_IRQ(AU1000_USB_DEV_REQ_INT, regs);
-               return;
-       }
-+#endif
-       irq = au_ffs(intc0_req0) - 1;
-       intc0_req0 &= ~(1<<irq);
-@@ -536,17 +560,7 @@
-       irq = au_ffs(intc0_req1) - 1;
-       intc0_req1 &= ~(1<<irq);
--#ifdef CONFIG_PM
--      if (irq == AU1000_TOY_MATCH2_INT) {
--              mask_and_ack_rise_edge_irq(irq);
--              counter0_irq(irq, NULL, regs);
--              local_enable_irq(irq);
--      }
--      else
--#endif
--      {
--              do_IRQ(irq, regs);
--      }
-+      do_IRQ(irq, regs);
- }
-diff -Nur linux-2.4.30/arch/mips/au1000/common/pci_fixup.c linux-2.4.30-mips/arch/mips/au1000/common/pci_fixup.c
---- linux-2.4.30/arch/mips/au1000/common/pci_fixup.c   2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/pci_fixup.c      2004-12-03 09:00:32.000000000 +0100
-@@ -75,9 +75,13 @@
- #ifdef CONFIG_NONCOHERENT_IO
-       /* 
--       *  Set the NC bit in controller for pre-AC silicon
-+         *  Set the NC bit in controller for Au1500 pre-AC silicon
-        */
--      au_writel( 1<<16 | au_readl(Au1500_PCI_CFG), Au1500_PCI_CFG);
-+      u32 prid = read_c0_prid();
-+      if ( (prid & 0xFF000000) == 0x01000000 && prid < 0x01030202) {
-+             au_writel( 1<<16 | au_readl(Au1500_PCI_CFG), Au1500_PCI_CFG);
-+             printk("Non-coherent PCI accesses enabled\n");
-+      }
-       printk("Non-coherent PCI accesses enabled\n");
- #endif
-diff -Nur linux-2.4.30/arch/mips/au1000/common/pci_ops.c linux-2.4.30-mips/arch/mips/au1000/common/pci_ops.c
---- linux-2.4.30/arch/mips/au1000/common/pci_ops.c     2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/pci_ops.c        2005-02-27 23:14:24.000000000 +0100
-@@ -162,6 +162,7 @@
- static int config_access(unsigned char access_type, struct pci_dev *dev, 
-                        unsigned char where, u32 * data)
- {
-+      int error = PCIBIOS_SUCCESSFUL;
- #if defined( CONFIG_SOC_AU1500 ) || defined( CONFIG_SOC_AU1550 )
-       unsigned char bus = dev->bus->number;
-       unsigned int dev_fn = dev->devfn;
-@@ -170,7 +171,6 @@
-       unsigned long offset, status;
-       unsigned long cfg_base;
-       unsigned long flags;
--      int error = PCIBIOS_SUCCESSFUL;
-       unsigned long entryLo0, entryLo1;
-       if (device > 19) {
-@@ -205,9 +205,8 @@
-               last_entryLo0  = last_entryLo1 = 0xffffffff;
-       }
--      /* Since the Au1xxx doesn't do the idsel timing exactly to spec,
--       * many board vendors implement their own off-chip idsel, so call
--       * it now.  If it doesn't succeed, may as well bail out at this point.
-+      /* Allow board vendors to implement their own off-chip idsel.  
-+       * If it doesn't succeed, may as well bail out at this point.
-        */
-       if (board_pci_idsel) {
-               if (board_pci_idsel(device, 1) == 0) {
-@@ -271,8 +270,11 @@
-       }
-       local_irq_restore(flags);
--      return error;
-+#else
-+      /* Fake out Config space access with no responder */
-+      *data = 0xFFFFFFFF;
- #endif
-+      return error;
- }
- #endif
-diff -Nur linux-2.4.30/arch/mips/au1000/common/power.c linux-2.4.30-mips/arch/mips/au1000/common/power.c
---- linux-2.4.30/arch/mips/au1000/common/power.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/power.c  2005-04-07 02:37:19.000000000 +0200
-@@ -50,7 +50,6 @@
- static void calibrate_delay(void);
--extern void set_au1x00_speed(unsigned int new_freq);
- extern unsigned int get_au1x00_speed(void);
- extern unsigned long get_au1x00_uart_baud_base(void);
- extern void set_au1x00_uart_baud_base(unsigned long new_baud_base);
-@@ -116,6 +115,7 @@
-       sleep_uart0_clkdiv = au_readl(UART0_ADDR + UART_CLK);
-       sleep_uart0_enable = au_readl(UART0_ADDR + UART_MOD_CNTRL);
-+#ifndef CONFIG_SOC_AU1200
-       /* Shutdown USB host/device.
-       */
-       sleep_usbhost_enable = au_readl(USB_HOST_CONFIG);
-@@ -127,6 +127,7 @@
-       sleep_usbdev_enable = au_readl(USBD_ENABLE);
-       au_writel(0, USBD_ENABLE); au_sync();
-+#endif
-       /* Save interrupt controller state.
-       */
-@@ -212,14 +213,12 @@
- int au_sleep(void)
- {
-       unsigned long wakeup, flags;
--      extern  void    save_and_sleep(void);
-+      extern unsigned int save_and_sleep(void);
-       spin_lock_irqsave(&pm_lock,flags);
-       save_core_regs();
--      flush_cache_all();
--
-       /** The code below is all system dependent and we should probably
-        ** have a function call out of here to set this up.  You need
-        ** to configure the GPIO or timer interrupts that will bring
-@@ -227,27 +226,26 @@
-        ** For testing, the TOY counter wakeup is useful.
-        **/
--#if 0
-+#if 1
-       au_writel(au_readl(SYS_PINSTATERD) & ~(1 << 11), SYS_PINSTATERD);
-       /* gpio 6 can cause a wake up event */
-       wakeup = au_readl(SYS_WAKEMSK);
-       wakeup &= ~(1 << 8);    /* turn off match20 wakeup */
--      wakeup |= 1 << 6;       /* turn on gpio 6 wakeup   */
-+      wakeup = 1 << 5;        /* turn on gpio 6 wakeup   */
- #else
--      /* For testing, allow match20 to wake us up.
--      */
-+      /* For testing, allow match20 to wake us up.  */
- #ifdef SLEEP_TEST_TIMEOUT
-       wakeup_counter0_set(sleep_ticks);
- #endif
-       wakeup = 1 << 8;        /* turn on match20 wakeup   */
-       wakeup = 0;
- #endif
--      au_writel(1, SYS_WAKESRC);      /* clear cause */
-+      au_writel(0, SYS_WAKESRC);      /* clear cause */
-       au_sync();
-       au_writel(wakeup, SYS_WAKEMSK);
-       au_sync();
--
-+      DPRINTK("Entering sleep!\n");
-       save_and_sleep();
-       /* after a wakeup, the cpu vectors back to 0x1fc00000 so
-@@ -255,6 +253,7 @@
-        */
-       restore_core_regs();
-       spin_unlock_irqrestore(&pm_lock, flags);
-+      DPRINTK("Leaving sleep!\n");
-       return 0;
- }
-@@ -285,7 +284,6 @@
-               if (retval)
-                       return retval;
--
-               au_sleep();
-               retval = pm_send_all(PM_RESUME, (void *) 0);
-       }
-@@ -296,7 +294,6 @@
-                        void *buffer, size_t * len)
- {
-       int retval = 0;
--      void    au1k_wait(void);
-       if (!write) {
-               *len = 0;
-@@ -305,119 +302,9 @@
-               if (retval)
-                       return retval;
-               suspend_mode = 1;
--              au1k_wait();
--              retval = pm_send_all(PM_RESUME, (void *) 0);
--      }
--      return retval;
--}
--
--static int pm_do_freq(ctl_table * ctl, int write, struct file *file,
--                    void *buffer, size_t * len)
--{
--      int retval = 0, i;
--      unsigned long val, pll;
--#define TMPBUFLEN 64
--#define MAX_CPU_FREQ 396
--      char buf[TMPBUFLEN], *p;
--      unsigned long flags, intc0_mask, intc1_mask;
--      unsigned long old_baud_base, old_cpu_freq, baud_rate, old_clk,
--          old_refresh;
--      unsigned long new_baud_base, new_cpu_freq, new_clk, new_refresh;
--
--      spin_lock_irqsave(&pm_lock, flags);
--      if (!write) {
--              *len = 0;
--      } else {
--              /* Parse the new frequency */
--              if (*len > TMPBUFLEN - 1) {
--                      spin_unlock_irqrestore(&pm_lock, flags);
--                      return -EFAULT;
--              }
--              if (copy_from_user(buf, buffer, *len)) {
--                      spin_unlock_irqrestore(&pm_lock, flags);
--                      return -EFAULT;
--              }
--              buf[*len] = 0;
--              p = buf;
--              val = simple_strtoul(p, &p, 0);
--              if (val > MAX_CPU_FREQ) {
--                      spin_unlock_irqrestore(&pm_lock, flags);
--                      return -EFAULT;
--              }
--
--              pll = val / 12;
--              if ((pll > 33) || (pll < 7)) {  /* 396 MHz max, 84 MHz min */
--                      /* revisit this for higher speed cpus */
--                      spin_unlock_irqrestore(&pm_lock, flags);
--                      return -EFAULT;
--              }
--
--              old_baud_base = get_au1x00_uart_baud_base();
--              old_cpu_freq = get_au1x00_speed();
--
--              new_cpu_freq = pll * 12 * 1000000;
--              new_baud_base =  (new_cpu_freq / (2 * ((int)(au_readl(SYS_POWERCTRL)&0x03) + 2) * 16));
--              set_au1x00_speed(new_cpu_freq);
--              set_au1x00_uart_baud_base(new_baud_base);
--
--              old_refresh = au_readl(MEM_SDREFCFG) & 0x1ffffff;
--              new_refresh =
--                  ((old_refresh * new_cpu_freq) /
--                   old_cpu_freq) | (au_readl(MEM_SDREFCFG) & ~0x1ffffff);
--
--              au_writel(pll, SYS_CPUPLL);
--              au_sync_delay(1);
--              au_writel(new_refresh, MEM_SDREFCFG);
--              au_sync_delay(1);
--
--              for (i = 0; i < 4; i++) {
--                      if (au_readl
--                          (UART_BASE + UART_MOD_CNTRL +
--                           i * 0x00100000) == 3) {
--                              old_clk =
--                                  au_readl(UART_BASE + UART_CLK +
--                                        i * 0x00100000);
--                              // baud_rate = baud_base/clk
--                              baud_rate = old_baud_base / old_clk;
--                              /* we won't get an exact baud rate and the error
--                               * could be significant enough that our new
--                               * calculation will result in a clock that will
--                               * give us a baud rate that's too far off from
--                               * what we really want.
--                               */
--                              if (baud_rate > 100000)
--                                      baud_rate = 115200;
--                              else if (baud_rate > 50000)
--                                      baud_rate = 57600;
--                              else if (baud_rate > 30000)
--                                      baud_rate = 38400;
--                              else if (baud_rate > 17000)
--                                      baud_rate = 19200;
--                              else
--                                      (baud_rate = 9600);
--                              // new_clk = new_baud_base/baud_rate
--                              new_clk = new_baud_base / baud_rate;
--                              au_writel(new_clk,
--                                     UART_BASE + UART_CLK +
--                                     i * 0x00100000);
--                              au_sync_delay(10);
--                      }
--              }
-+              retval = pm_send_all(PM_RESUME, (void *) 0);
-       }
--
--
--      /* We don't want _any_ interrupts other than
--       * match20. Otherwise our calibrate_delay()
--       * calculation will be off, potentially a lot.
--       */
--      intc0_mask = save_local_and_disable(0);
--      intc1_mask = save_local_and_disable(1);
--      local_enable_irq(AU1000_TOY_MATCH2_INT);
--      spin_unlock_irqrestore(&pm_lock, flags);
--      calibrate_delay();
--      restore_local_and_enable(0, intc0_mask);
--      restore_local_and_enable(1, intc1_mask);
-       return retval;
- }
-@@ -425,7 +312,6 @@
- static struct ctl_table pm_table[] = {
-       {ACPI_S1_SLP_TYP, "suspend", NULL, 0, 0600, NULL, &pm_do_suspend},
-       {ACPI_SLEEP, "sleep", NULL, 0, 0600, NULL, &pm_do_sleep},
--      {CTL_ACPI, "freq", NULL, 0, 0600, NULL, &pm_do_freq},
-       {0}
- };
-diff -Nur linux-2.4.30/arch/mips/au1000/common/reset.c linux-2.4.30-mips/arch/mips/au1000/common/reset.c
---- linux-2.4.30/arch/mips/au1000/common/reset.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/reset.c  2005-03-19 08:17:51.000000000 +0100
-@@ -37,8 +37,6 @@
- #include <asm/system.h>
- #include <asm/au1000.h>
--extern int au_sleep(void);
--
- void au1000_restart(char *command)
- {
-       /* Set all integrated peripherals to disabled states */
-@@ -144,6 +142,26 @@
-               au_writel(0x00, 0xb1900064); /* sys_auxpll */
-               au_writel(0x00, 0xb1900100); /* sys_pininputen */
-               break;
-+      case 0x04000000: /* Au1200 */
-+              au_writel(0x00, 0xb400300c); /* ddma */
-+              au_writel(0x00, 0xb1a00004); /* psc 0 */
-+              au_writel(0x00, 0xb1b00004); /* psc 1 */
-+              au_writel(0x00d02000, 0xb4020004); /* ehci, ohci, udc, otg */
-+              au_writel(0x00, 0xb5000004); /* lcd */
-+              au_writel(0x00, 0xb060000c); /* sd0 */
-+              au_writel(0x00, 0xb068000c); /* sd1 */
-+              au_writel(0x00, 0xb1100100); /* swcnt */
-+              au_writel(0x00, 0xb0300000); /* aes */
-+              au_writel(0x00, 0xb4004000); /* cim */
-+              au_writel(0x00, 0xb1100100); /* uart0_enable */
-+              au_writel(0x00, 0xb1200100); /* uart1_enable */
-+              au_writel(0x00, 0xb1900020); /* sys_freqctrl0 */
-+              au_writel(0x00, 0xb1900024); /* sys_freqctrl1 */
-+              au_writel(0x00, 0xb1900028); /* sys_clksrc */
-+              au_writel(0x10, 0xb1900060); /* sys_cpupll */
-+              au_writel(0x00, 0xb1900064); /* sys_auxpll */
-+              au_writel(0x00, 0xb1900100); /* sys_pininputen */
-+              break;
-       default:
-               break;
-@@ -163,32 +181,23 @@
- void au1000_halt(void)
- {
--#if defined(CONFIG_MIPS_PB1550)
--      /* power off system */
--      printk("\n** Powering off Pb1550\n");
--      au_writew(au_readw(0xAF00001C) | (3<<14), 0xAF00001C); 
--      au_sync();
--      while(1); /* should not get here */
--#endif
--      printk(KERN_NOTICE "\n** You can safely turn off the power\n");
--#ifdef CONFIG_MIPS_MIRAGE
--      au_writel((1 << 26) | (1 << 10), GPIO2_OUTPUT);
--#endif
--#ifdef CONFIG_PM
--      au_sleep();
--
--      /* should not get here */
--      printk(KERN_ERR "Unable to put cpu in sleep mode\n");
--      while(1);
--#else
--      while (1)
-+      /* Use WAIT in a low-power infinite spin loop */
-+      while (1) {
-               __asm__(".set\tmips3\n\t"
-                       "wait\n\t"
-                       ".set\tmips0");
--#endif
-+      }
- }
- void au1000_power_off(void)
- {
-+      extern void board_power_off (void);
-+
-+      printk(KERN_NOTICE "\n** You can safely turn off the power\n");
-+
-+      /* Give board a chance to power-off */
-+      board_power_off();
-+
-+      /* If board can't power-off, spin forever */
-       au1000_halt();
- }
-diff -Nur linux-2.4.30/arch/mips/au1000/common/setup.c linux-2.4.30-mips/arch/mips/au1000/common/setup.c
---- linux-2.4.30/arch/mips/au1000/common/setup.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/setup.c  2005-01-30 09:01:27.000000000 +0100
-@@ -174,6 +174,40 @@
-       initrd_end = (unsigned long)&__rd_end;
- #endif
-+#if defined(CONFIG_SOC_AU1200)
-+#ifdef CONFIG_USB_EHCI_HCD
-+      if ((argptr = strstr(argptr, "usb_ehci=")) == NULL) {
-+              char usb_args[80];
-+              argptr = prom_getcmdline();
-+              memset(usb_args, 0, sizeof(usb_args));
-+              sprintf(usb_args, " usb_ehci=base:0x%x,len:0x%x,irq:%d",
-+                      USB_EHCI_BASE, USB_EHCI_LEN, AU1000_USB_HOST_INT);
-+              strcat(argptr, usb_args);
-+      }
-+#ifdef CONFIG_USB_AMD5536UDC
-+      /* enable EHC + OHC + UDC clocks, memory and bus mastering */
-+/*    au_writel( 0x00DF207F, USB_MSR_BASE + 4); */
-+      au_writel( 0xC0DF207F, USB_MSR_BASE + 4);  // incl. prefetch
-+#else
-+      /* enable EHC + OHC clocks, memory and bus mastering */
-+/*    au_writel( 0x00DB200F, USB_MSR_BASE + 4); */
-+      au_writel( 0xC0DB200F, USB_MSR_BASE + 4);  /* incl. prefetch */
-+#endif
-+      udelay(1000);
-+
-+#else /* CONFIG_USB_EHCI_HCD */
-+
-+#ifdef CONFIG_USB_AMD5536UDC
-+#ifndef CONFIG_USB_OHCI
-+      /* enable UDC clocks, memory and bus mastering */
-+/*    au_writel( 0x00DC2070, USB_MSR_BASE + 4); */
-+      au_writel( 0xC0DC2070, USB_MSR_BASE + 4);  // incl. prefetch
-+      udelay(1000);
-+#endif
-+#endif
-+#endif /* CONFIG_USB_EHCI_HCD */
-+#endif /* CONFIG_SOC_AU1200 */
-+
- #if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
- #ifdef CONFIG_USB_OHCI
-       if ((argptr = strstr(argptr, "usb_ohci=")) == NULL) {
-@@ -187,19 +221,38 @@
- #endif
- #ifdef CONFIG_USB_OHCI
--      // enable host controller and wait for reset done
-+#if defined(CONFIG_SOC_AU1200)
-+#ifndef CONFIG_USB_EHCI_HCD
-+#ifdef CONFIG_USB_AMD5536UDC
-+      /* enable OHC + UDC clocks, memory and bus mastering */
-+/*    au_writel( 0x00DD2073, USB_MSR_BASE + 4); */
-+      au_writel( 0xC0DD2073, USB_MSR_BASE + 4);  // incl. prefetch
-+#else
-+      /* enable OHC clocks, memory and bus mastering */
-+      au_writel( 0x00D12003, USB_MSR_BASE + 4);
-+#endif
-+      udelay(1000);
-+printk("DEBUG: Reading Au1200 USB2 reg 0x%x\n", au_readl(USB_MSR_BASE + 4));
-+#endif
-+#else
-+      /* Au1000, Au1500, Au1100, Au1550 */
-+      /* enable host controller and wait for reset done */
-       au_writel(0x08, USB_HOST_CONFIG);
-       udelay(1000);
-       au_writel(0x0E, USB_HOST_CONFIG);
-       udelay(1000);
--      au_readl(USB_HOST_CONFIG); // throw away first read
-+      au_readl(USB_HOST_CONFIG); /* throw away first read */
-       while (!(au_readl(USB_HOST_CONFIG) & 0x10))
-               au_readl(USB_HOST_CONFIG);
-+#endif /* CONFIG_SOC_AU1200 */
- #endif
--#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
-+#else
-+
-+#endif /* defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE) */
-+
- #ifdef CONFIG_FB
--      // Needed if PCI video card in use
-+      /* Needed if PCI video card in use */
-       conswitchp = &dummy_con;
- #endif
-@@ -209,8 +262,7 @@
- #endif
- #ifdef CONFIG_BLK_DEV_IDE
--      /* Board setup takes precedence for unique devices.
--      */
-+      /* Board setup takes precedence for unique devices.  */
-       if ((ide_ops == NULL) || (ide_ops == &no_ide_ops))
-               ide_ops = &std_ide_ops;
- #endif
-diff -Nur linux-2.4.30/arch/mips/au1000/common/sleeper.S linux-2.4.30-mips/arch/mips/au1000/common/sleeper.S
---- linux-2.4.30/arch/mips/au1000/common/sleeper.S     2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/sleeper.S        2005-01-30 09:01:27.000000000 +0100
-@@ -15,17 +15,48 @@
- #include <asm/addrspace.h>
- #include <asm/regdef.h>
- #include <asm/stackframe.h>
-+#include <asm/au1000.h>
-+
-+/*
-+ * Note: This file is *not* conditional on CONFIG_PM since Alchemy sleep 
-+ * need not be tied to any particular power management scheme.
-+ */
-+
-+      .extern ___flush_cache_all
-       .text
--      .set    macro
--      .set    noat
-       .align  5
--/* Save all of the processor general registers and go to sleep.
-- * A wakeup condition will get us back here to restore the registers.
-+/*
-+ * Save the processor general registers and go to sleep. A wakeup
-+ * condition will get us back here to restore the registers.
-  */
--LEAF(save_and_sleep)
-+/* still need to fix alignment issues here */
-+save_and_sleep_frmsz = 48
-+NESTED(save_and_sleep, save_and_sleep_frmsz, ra)
-+      .set noreorder
-+      .set nomacro
-+      .set noat
-+      subu sp, save_and_sleep_frmsz
-+      sw ra, save_and_sleep_frmsz-4(sp)
-+      sw s0, save_and_sleep_frmsz-8(sp)
-+      sw s1, save_and_sleep_frmsz-12(sp)
-+      sw s2, save_and_sleep_frmsz-16(sp)
-+      sw s3, save_and_sleep_frmsz-20(sp)
-+      sw s4, save_and_sleep_frmsz-24(sp)
-+      sw s5, save_and_sleep_frmsz-28(sp)
-+      sw s6, save_and_sleep_frmsz-32(sp)
-+      sw s7, save_and_sleep_frmsz-36(sp)
-+      sw s8, save_and_sleep_frmsz-40(sp)
-+      sw gp, save_and_sleep_frmsz-44(sp)
-+
-+      /* We only need to save the registers that the calling function 
-+       * hasn't saved for us.  0 is always zero.  8 - 15, 24 and 25 are 
-+       * temporaries and can be used without saving. 26 and 27 are reserved 
-+       * for interrupt/trap handling and expected to change.  29 is the 
-+       * stack pointer which is handled as a special case here.
-+       */
-       subu    sp, PT_SIZE
-       sw      $1, PT_R1(sp)
-       sw      $2, PT_R2(sp)
-@@ -34,14 +65,6 @@
-       sw      $5, PT_R5(sp)
-       sw      $6, PT_R6(sp)
-       sw      $7, PT_R7(sp)
--      sw      $8, PT_R8(sp)
--      sw      $9, PT_R9(sp)
--      sw      $10, PT_R10(sp)
--      sw      $11, PT_R11(sp)
--      sw      $12, PT_R12(sp)
--      sw      $13, PT_R13(sp)
--      sw      $14, PT_R14(sp)
--      sw      $15, PT_R15(sp)
-       sw      $16, PT_R16(sp)
-       sw      $17, PT_R17(sp)
-       sw      $18, PT_R18(sp)
-@@ -50,32 +73,47 @@
-       sw      $21, PT_R21(sp)
-       sw      $22, PT_R22(sp)
-       sw      $23, PT_R23(sp)
--      sw      $24, PT_R24(sp)
--      sw      $25, PT_R25(sp)
--      sw      $26, PT_R26(sp)
--      sw      $27, PT_R27(sp)
-       sw      $28, PT_R28(sp)
--      sw      $29, PT_R29(sp)
-       sw      $30, PT_R30(sp)
-       sw      $31, PT_R31(sp)
-+#define PT_C0STATUS PT_LO
-+#define PT_CONTEXT PT_HI
-+#define PT_PAGEMASK PT_EPC
-+#define PT_CONFIG PT_BVADDR
-       mfc0    k0, CP0_STATUS
--      sw      k0, 0x20(sp)
-+      sw      k0, PT_C0STATUS(sp) // 0x20
-       mfc0    k0, CP0_CONTEXT
--      sw      k0, 0x1c(sp)
-+      sw      k0, PT_CONTEXT(sp) // 0x1c
-       mfc0    k0, CP0_PAGEMASK
--      sw      k0, 0x18(sp)
-+      sw      k0, PT_PAGEMASK(sp) // 0x18
-       mfc0    k0, CP0_CONFIG
--      sw      k0, 0x14(sp)
-+      sw      k0, PT_CONFIG(sp) // 0x14
-+
-+      .set macro
-+      .set at
-+
-+      li t0, SYS_SLPPWR
-+      sw      zero, 0(t0)     /* Get the processor ready to sleep */
-+      sync
-       /* Now set up the scratch registers so the boot rom will
-        * return to this point upon wakeup.
-+       * sys_scratch0 : SP
-+       * sys_scratch1 : RA
-+       */
-+      li      t0, SYS_SCRATCH0
-+      li      t1, SYS_SCRATCH1
-+      sw      sp, 0(t0)
-+      la      k0, resume_from_sleep
-+      sw      k0, 0(t1)
-+
-+/*
-+ * Flush DCACHE to make sure context is in memory
-        */
--      la      k0, 1f
--      lui     k1, 0xb190
--      ori     k1, 0x18
--      sw      sp, 0(k1)
--      ori     k1, 0x1c
--      sw      k0, 0(k1)
-+      la      t1,___flush_cache_all   /* _flush_cache_all is a function pointer */
-+      lw      t0,0(t1)
-+      jal t0
-+      nop
- /* Put SDRAM into self refresh.  Preload instructions into cache,
-  * issue a precharge, then auto refresh, then sleep commands to it.
-@@ -88,30 +126,65 @@
-       cache   0x14, 96(t0)
-       .set    mips0
-+      /* Put SDRAM to sleep */
- sdsleep:
--      lui     k0, 0xb400
--      sw      zero, 0x001c(k0)        /* Precharge */
--      sw      zero, 0x0020(k0)        /* Auto refresh */
--      sw      zero, 0x0030(k0)        /* SDRAM sleep */
-+      li      a0, MEM_PHYS_ADDR
-+      or      a0, a0, 0xA0000000
-+#if defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1100) || defined(CONFIG_SOC_AU1500)
-+      lw      k0, MEM_SDMODE0(a0)
-+      sw      zero, MEM_SDPRECMD(a0)  /* Precharge */
-+      sw      zero, MEM_SDAUTOREF(a0) /* Auto Refresh */
-+      sw      zero, MEM_SDSLEEP(a0)   /* Sleep */
-       sync
--
--      lui     k1, 0xb190
--      sw      zero, 0x0078(k1)        /* get ready  to sleep */
-+#endif
-+#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200)
-+      sw      zero, MEM_SDPRECMD(a0)  /* Precharge */
-+      sw      zero, MEM_SDSREF(a0)
-+      
-+      #lw     t0, MEM_SDSTAT(a0)
-+      #and t0, t0, 0x01000000
-+      li      t0, 0x01000000
-+refresh_not_set:
-+      lw      t1, MEM_SDSTAT(a0)
-+      and     t2, t1, t0
-+      beq     zero, t2, refresh_not_set
-+      nop
-+
-+      li      t0, ~0x30000000
-+      lw      t1, MEM_SDCONFIGA(a0)
-+      and t1, t0, t1
-+      sw      t1, MEM_SDCONFIGA(a0)
-       sync
--      sw      zero, 0x007c(k1)        /* Put processor to sleep */
-+#endif
-+
-+      li      t0, SYS_SLEEP
-+      sw      zero, 0(t0)     /* Put processor to sleep */
-       sync
-+      nop
-+      nop
-+      nop
-+      nop
-+      nop
-+      nop
-+      nop
-+      nop
-+
-       /* This is where we return upon wakeup.
-        * Reload all of the registers and return.
-        */
--1:    nop
--      lw      k0, 0x20(sp)
-+resume_from_sleep:
-+      nop
-+      .set nomacro
-+      .set noat
-+
-+      lw      k0, PT_C0STATUS(sp) // 0x20
-       mtc0    k0, CP0_STATUS
--      lw      k0, 0x1c(sp)
-+      lw      k0, PT_CONTEXT(sp) // 0x1c
-       mtc0    k0, CP0_CONTEXT
--      lw      k0, 0x18(sp)
-+      lw      k0, PT_PAGEMASK(sp) // 0x18
-       mtc0    k0, CP0_PAGEMASK
--      lw      k0, 0x14(sp)
-+      lw      k0, PT_CONFIG(sp) // 0x14
-       mtc0    k0, CP0_CONFIG
-       lw      $1, PT_R1(sp)
-       lw      $2, PT_R2(sp)
-@@ -120,14 +193,6 @@
-       lw      $5, PT_R5(sp)
-       lw      $6, PT_R6(sp)
-       lw      $7, PT_R7(sp)
--      lw      $8, PT_R8(sp)
--      lw      $9, PT_R9(sp)
--      lw      $10, PT_R10(sp)
--      lw      $11, PT_R11(sp)
--      lw      $12, PT_R12(sp)
--      lw      $13, PT_R13(sp)
--      lw      $14, PT_R14(sp)
--      lw      $15, PT_R15(sp)
-       lw      $16, PT_R16(sp)
-       lw      $17, PT_R17(sp)
-       lw      $18, PT_R18(sp)
-@@ -136,15 +201,36 @@
-       lw      $21, PT_R21(sp)
-       lw      $22, PT_R22(sp)
-       lw      $23, PT_R23(sp)
--      lw      $24, PT_R24(sp)
--      lw      $25, PT_R25(sp)
--      lw      $26, PT_R26(sp)
--      lw      $27, PT_R27(sp)
-       lw      $28, PT_R28(sp)
--      lw      $29, PT_R29(sp)
-       lw      $30, PT_R30(sp)
-       lw      $31, PT_R31(sp)
-+
-+      .set macro
-+      .set at
-+
-+      /* clear the wake source, but save it as the return value of the function */
-+      li      t0, SYS_WAKESRC
-+      lw v0, 0(t0)
-+      sw v0, PT_R2(sp)
-+      sw zero, 0(t0)
-+
-       addiu   sp, PT_SIZE
-+      lw gp, save_and_sleep_frmsz-44(sp)
-+      lw s8, save_and_sleep_frmsz-40(sp)
-+      lw s7, save_and_sleep_frmsz-36(sp)
-+      lw s6, save_and_sleep_frmsz-32(sp)
-+      lw s5, save_and_sleep_frmsz-28(sp)
-+      lw s4, save_and_sleep_frmsz-24(sp)
-+      lw s3, save_and_sleep_frmsz-20(sp)
-+      lw s2, save_and_sleep_frmsz-16(sp)
-+      lw s1, save_and_sleep_frmsz-12(sp)
-+      lw s0, save_and_sleep_frmsz-8(sp)
-+      lw ra, save_and_sleep_frmsz-4(sp)
-+
-+      addu sp, save_and_sleep_frmsz
-       jr      ra
-+      nop
-+      .set reorder
- END(save_and_sleep)
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/common/time.c linux-2.4.30-mips/arch/mips/au1000/common/time.c
---- linux-2.4.30/arch/mips/au1000/common/time.c        2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/common/time.c   2005-04-08 10:33:17.000000000 +0200
-@@ -50,7 +50,6 @@
- #include <linux/mc146818rtc.h>
- #include <linux/timex.h>
--extern void startup_match20_interrupt(void);
- extern void do_softirq(void);
- extern volatile unsigned long wall_jiffies;
- unsigned long missed_heart_beats = 0;
-@@ -59,14 +58,14 @@
- static unsigned long r4k_cur;    /* What counter should be at next timer irq */
- extern rwlock_t xtime_lock;
- int   no_au1xxx_32khz;
--void  (*au1k_wait_ptr)(void);
-+extern int allow_au1k_wait;   /* default off for CP0 Counter */
- /* Cycle counter value at the previous timer interrupt.. */
- static unsigned int timerhi = 0, timerlo = 0;
- #ifdef CONFIG_PM
- #define MATCH20_INC 328
--extern void startup_match20_interrupt(void);
-+extern void startup_match20_interrupt(void (*handler)(int, void *, struct pt_regs *));
- static unsigned long last_pc0, last_match20;
- #endif
-@@ -385,7 +384,6 @@
- {
-         unsigned int est_freq;
-       extern unsigned long (*do_gettimeoffset)(void);
--      extern void au1k_wait(void);
-       printk("calculating r4koff... ");
-       r4k_offset = cal_r4koff();
-@@ -437,9 +435,6 @@
-               au_writel(0, SYS_TOYWRITE);
-               while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C0S);
--              au_writel(au_readl(SYS_WAKEMSK) | (1<<8), SYS_WAKEMSK);
--              au_writel(~0, SYS_WAKESRC);
--              au_sync();
-               while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_M20);
-               /* setup match20 to interrupt once every 10ms */
-@@ -447,13 +442,13 @@
-               au_writel(last_match20 + MATCH20_INC, SYS_TOYMATCH2);
-               au_sync();
-               while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_M20);
--              startup_match20_interrupt();
-+              startup_match20_interrupt(counter0_irq);
-               do_gettimeoffset = do_fast_pm_gettimeoffset;
-               /* We can use the real 'wait' instruction.
-               */
--              au1k_wait_ptr = au1k_wait;
-+              allow_au1k_wait = 1;
-       }
- #else
-diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/Makefile linux-2.4.30-mips/arch/mips/au1000/db1x00/Makefile
---- linux-2.4.30/arch/mips/au1000/db1x00/Makefile      2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/db1x00/Makefile 2005-01-30 09:06:19.000000000 +0100
-@@ -17,4 +17,11 @@
- obj-y := init.o board_setup.o irqmap.o
- obj-$(CONFIG_WM97XX_COMODULE) += mirage_ts.o
-+ifdef CONFIG_MIPS_DB1100
-+ifdef CONFIG_MMC
-+obj-y += mmc_support.o
-+export-objs += mmc_support.o
-+endif
-+endif
-+
- include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/board_setup.c linux-2.4.30-mips/arch/mips/au1000/db1x00/board_setup.c
---- linux-2.4.30/arch/mips/au1000/db1x00/board_setup.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/db1x00/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -46,10 +46,22 @@
- #include <asm/au1000.h>
- #include <asm/db1x00.h>
--extern struct rtc_ops no_rtc_ops;
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX) && defined(CONFIG_MIPS_DB1550)
-+#include <asm/au1xxx_dbdma.h>
-+extern struct ide_ops *ide_ops;
-+extern struct ide_ops au1xxx_ide_ops;
-+extern u32 au1xxx_ide_virtbase;
-+extern u64 au1xxx_ide_physbase;
-+extern int au1xxx_ide_irq;
-+
-+/* Ddma */
-+chan_tab_t *ide_read_ch, *ide_write_ch;
-+u32 au1xxx_ide_ddma_enable = 0, switch4ddma = 1; // PIO+ddma
-+
-+dbdev_tab_t new_dbdev_tab_element = { DSCR_CMD0_THROTTLE, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 };
-+#endif /* end CONFIG_BLK_DEV_IDE_AU1XXX */
--/* not correct for db1550 */
--static BCSR * const bcsr = (BCSR *)0xAE000000;
-+extern struct rtc_ops no_rtc_ops;
- void board_reset (void)
- {
-@@ -57,6 +69,13 @@
-       au_writel(0x00000000, 0xAE00001C);
- }
-+void board_power_off (void)
-+{
-+#ifdef CONFIG_MIPS_MIRAGE
-+      au_writel((1 << 26) | (1 << 10), GPIO2_OUTPUT);
-+#endif
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func;
-@@ -108,8 +127,42 @@
-       au_writel(0x02000200, GPIO2_OUTPUT);
- #endif
-+#if defined(CONFIG_AU1XXX_SMC91111)
-+#define CPLD_CONTROL (0xAF00000C)
-+      {
-+      extern uint32_t au1xxx_smc91111_base;
-+      extern unsigned int au1xxx_smc91111_irq;
-+      extern int au1xxx_smc91111_nowait;
-+
-+      au1xxx_smc91111_base = 0xAC000300;
-+      au1xxx_smc91111_irq = AU1000_GPIO_8;
-+      au1xxx_smc91111_nowait = 1;
-+
-+      /* set up the Static Bus timing - only 396Mhz */
-+      bcsr->resets |= 0x7;
-+      au_writel(0x00010003, MEM_STCFG0);
-+      au_writel(0x000c00c0, MEM_STCFG2);
-+      au_writel(0x85E1900D, MEM_STTIME2);
-+      }
-+#endif /* end CONFIG_SMC91111 */
-       au_sync();
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX) && defined(CONFIG_MIPS_DB1550)
-+      /*
-+       * Iniz IDE parameters
-+       */
-+      ide_ops = &au1xxx_ide_ops;
-+      au1xxx_ide_irq = DAUGHTER_CARD_IRQ;
-+      au1xxx_ide_physbase = AU1XXX_ATA_PHYS_ADDR;
-+      au1xxx_ide_virtbase = KSEG1ADDR(AU1XXX_ATA_PHYS_ADDR);
-+
-+      /*
-+       * change PIO or PIO+Ddma
-+       * check the GPIO-6 pin condition. db1550:s6_dot
-+       */
-+      switch4ddma = (au_readl(SYS_PINSTATERD) & (1 << 6)) ? 1 : 0;
-+#endif
-+
- #ifdef CONFIG_MIPS_DB1000
-     printk("AMD Alchemy Au1000/Db1000 Board\n");
- #endif
-diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/irqmap.c linux-2.4.30-mips/arch/mips/au1000/db1x00/irqmap.c
---- linux-2.4.30/arch/mips/au1000/db1x00/irqmap.c      2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/db1x00/irqmap.c 2005-01-30 09:06:19.000000000 +0100
-@@ -53,6 +53,7 @@
- #ifdef CONFIG_MIPS_DB1550
-       { AU1000_GPIO_3, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 IRQ#
-       { AU1000_GPIO_5, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 1 IRQ#
-+      { AU1000_GPIO_8, INTC_INT_LOW_LEVEL, 0 }, // Daughtercard IRQ#
- #else
-       { AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 Fully_Interted#
-       { AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 STSCHG#
-diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/mmc_support.c linux-2.4.30-mips/arch/mips/au1000/db1x00/mmc_support.c
---- linux-2.4.30/arch/mips/au1000/db1x00/mmc_support.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/db1x00/mmc_support.c    2005-01-30 09:07:01.000000000 +0100
-@@ -0,0 +1,126 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *
-+ *    MMC support routines for DB1100.
-+ *
-+ *
-+ * Copyright (c) 2003-2004 Embedded Edge, LLC.
-+ * Author: Embedded Edge, LLC.
-+ * Contact: dan@embeddededge.com
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+
-+#include <asm/irq.h>
-+#include <asm/au1000.h>
-+#include <asm/au1100_mmc.h>
-+#include <asm/db1x00.h>
-+
-+
-+/* SD/MMC controller support functions */
-+
-+/*
-+ * Detect card.
-+ */
-+void mmc_card_inserted(int _n_, int *_res_)
-+{
-+      u32 gpios = au_readl(SYS_PINSTATERD);
-+      u32 emptybit = (_n_) ? (1<<20) : (1<<19);
-+      *_res_ = ((gpios & emptybit) == 0);
-+}
-+
-+/*
-+ * Check card write protection.
-+ */
-+void mmc_card_writable(int _n_, int *_res_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_wp, board_specific;
-+
-+      if (_n_) {
-+              mmc_wp = BCSR_BOARD_SD1_WP;
-+      } else {
-+              mmc_wp = BCSR_BOARD_SD0_WP;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->specific));
-+
-+      if (!(board_specific & mmc_wp)) {/* low means card writable */
-+              *_res_ = 1;
-+      } else {
-+              *_res_ = 0;
-+      }
-+}
-+
-+/*
-+ * Apply power to card slot.
-+ */
-+void mmc_power_on(int _n_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_pwr, board_specific;
-+
-+      if (_n_) {
-+              mmc_pwr = BCSR_BOARD_SD1_PWR;
-+      } else {
-+              mmc_pwr = BCSR_BOARD_SD0_PWR;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->specific));
-+      board_specific |= mmc_pwr;
-+
-+      au_writel(board_specific, (int)(&bcsr->specific));
-+      au_sync_delay(1);
-+}
-+
-+/*
-+ * Remove power from card slot.
-+ */
-+void mmc_power_off(int _n_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_pwr, board_specific;
-+
-+      if (_n_) {
-+              mmc_pwr = BCSR_BOARD_SD1_PWR;
-+      } else {
-+              mmc_pwr = BCSR_BOARD_SD0_PWR;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->specific));
-+      board_specific &= ~mmc_pwr;
-+
-+      au_writel(board_specific, (int)(&bcsr->specific));
-+      au_sync_delay(1);
-+}
-+
-+EXPORT_SYMBOL(mmc_card_inserted);
-+EXPORT_SYMBOL(mmc_card_writable);
-+EXPORT_SYMBOL(mmc_power_on);
-+EXPORT_SYMBOL(mmc_power_off);
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/Makefile linux-2.4.30-mips/arch/mips/au1000/ficmmp/Makefile
---- linux-2.4.30/arch/mips/au1000/ficmmp/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/Makefile 2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,25 @@
-+#
-+#  Copyright 2000 MontaVista Software Inc.
-+#  Author: MontaVista Software, Inc.
-+#             ppopov@mvista.com or source@mvista.com
-+#
-+# Makefile for the Alchemy Semiconductor FIC board.
-+#
-+# Note! Dependencies are done automagically by 'make dep', which also
-+# removes any old dependencies. DON'T put your own dependencies here
-+# unless it's something special (ie not a .c file).
-+#
-+
-+USE_STANDARD_AS_RULE := true
-+
-+O_TARGET := ficmmp.o
-+
-+obj-y := init.o board_setup.o irqmap.o au1200_ibutton.o au1xxx_dock.o
-+
-+ifdef CONFIG_MMC
-+obj-y += mmc_support.o
-+export-objs +=mmc_support.o
-+endif
-+
-+
-+include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/au1200_ibutton.c linux-2.4.30-mips/arch/mips/au1000/ficmmp/au1200_ibutton.c
---- linux-2.4.30/arch/mips/au1000/ficmmp/au1200_ibutton.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/au1200_ibutton.c 2005-02-03 07:35:29.000000000 +0100
-@@ -0,0 +1,270 @@
-+/* ---------------------------------------------------------------------- 
-+ *  mtwilson_keys.c
-+ *
-+ *  Copyright (C) 2003 Intrinsyc Software Inc.
-+ *
-+ *  Intel Personal Media Player buttons
-+ *
-+ *  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.
-+ *
-+ *  May 02, 2003 : Initial version [FB]
-+ *
-+ ------------------------------------------------------------------------*/
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/fs.h>
-+#include <linux/sched.h>
-+#include <linux/miscdevice.h>
-+#include <linux/errno.h>
-+#include <linux/poll.h>
-+#include <linux/delay.h>
-+#include <linux/input.h>
-+
-+#include <asm/au1000.h>
-+#include <asm/uaccess.h>
-+#include <asm/au1xxx_gpio.h>
-+#include <asm/irq.h>
-+#include <asm/keyboard.h>
-+#include <linux/time.h>
-+
-+#define DRIVER_VERSION        "V1.0"
-+#define DRIVER_AUTHOR "FIC"
-+#define DRIVER_DESC           "FIC Travis Media Player Button Driver"
-+#define DRIVER_NAME           "Au1200Button"
-+
-+#define BUTTON_MAIN           (1<<1)
-+#define BUTTON_SELECT (1<<6)
-+#define BUTTON_GUIDE  (1<<12)
-+#define BUTTON_DOWN           (1<<17)
-+#define BUTTON_LEFT           (1<<19)
-+#define BUTTON_RIGHT  (1<<26)
-+#define BUTTON_UP             (1<<28)
-+
-+#define BUTTON_MASK (\
-+    BUTTON_MAIN   \
-+    | BUTTON_SELECT   \
-+    | BUTTON_GUIDE    \
-+    | BUTTON_DOWN     \
-+    | BUTTON_LEFT     \
-+    | BUTTON_RIGHT    \
-+    | BUTTON_UP               \
-+    )
-+
-+#define BUTTON_INVERT (\
-+    BUTTON_MAIN   \
-+    | 0                               \
-+    | BUTTON_GUIDE    \
-+    | 0                               \
-+    | 0                               \
-+    | 0                               \
-+    | 0                               \
-+    )
-+
-+char button_map[32]={0,KEY_S,0,0,0,0,KEY_ENTER,0,0,0,0,0,KEY_G,0,0,0,0,KEY_DOWN,0,KEY_LEFT,0,0,0,0,0,0,KEY_RIGHT,0,KEY_UP,0,0,0};
-+//char button_map[32]={0,0,0,0,0,0,KEY_ENTER,0,0,0,0,0,KEY_G,0,0,0,0,KEY_DOWN,0,KEY_LEFT,0,0,0,0,0,0,KEY_RIGHT,0,KEY_UP,0,0,0};
-+
-+//char button_map[32]={0,KEY_TAB,0,0,0,0,KEY_M,0,0,0,0,0,KEY_S,0,0,0,0,KEY_DOWN,0,KEY_LEFT,0,0,0,0,0,0,KEY_RIGHT,0,KEY_UP,0,0,0};
-+//char button_map[32]={0,0,0,0,0,0,KEY_M,0,0,0,0,0,KEY_S,0,0,0,0,KEY_DOWN,0,KEY_LEFT,0,0,0,0,0,0,KEY_RIGHT,0,KEY_UP,0,0,0};
-+
-+#define BUTTON_COUNT (sizeof (button_map) / sizeof (button_map[0]))
-+
-+struct input_dev dev;
-+struct timeval cur_tv;
-+
-+static unsigned int old_tv_usec = 0;
-+
-+static unsigned int read_button_state(void)
-+{
-+      unsigned int state;
-+
-+      state = au_readl(SYS_PINSTATERD) & BUTTON_MASK; /* get gpio status */
-+
-+      state ^= BUTTON_INVERT;         /* invert main & guide button */
-+
-+      /* printk("au1200_ibutton.c: button state [0x%X]\r\n",state); */
-+      return state;
-+}
-+
-+//This function returns 0 if the allowed microseconds have elapsed since the last call to ths function, otherwise it returns 1 to indicate a bounce condition
-+static unsigned int bounce() 
-+{
-+
-+      unsigned int elapsed_time;
-+
-+      do_gettimeofday (&cur_tv);    
-+
-+      if (!old_tv_usec) {
-+              old_tv_usec = cur_tv.tv_usec;
-+              return 0;
-+      }
-+
-+      if(cur_tv.tv_usec > old_tv_usec) {
-+              /* If there hasn't been rollover */
-+              elapsed_time =  ((cur_tv.tv_usec - old_tv_usec));
-+      }
-+      else {
-+              /* Accounting for rollover */
-+              elapsed_time =  ((1000000 - old_tv_usec + cur_tv.tv_usec));
-+      }
-+
-+      if (elapsed_time > 250000) {
-+              old_tv_usec = 0;        /* reset the bounce time */
-+              return 0;
-+      }
-+
-+      return 1;
-+}
-+
-+/* button interrupt handler */
-+static void button_interrupt(int irq, void *dev, struct pt_regs *regs)
-+{
-+
-+      unsigned int i,bit_mask, key_choice;
-+      u32 button_state;
-+      
-+      /* Report state to upper level */
-+      
-+      button_state = read_button_state() & BUTTON_MASK; /* get new gpio status */
-+
-+      /* Return if this is a repeated (bouncing) event */
-+      if(bounce())
-+              return;
-+
-+      /* we want to make keystrokes */
-+      for( i=0; i< BUTTON_COUNT; i++) {
-+              bit_mask = 1<<i;
-+              if (button_state & bit_mask) {
-+                      key_choice = button_map[i];
-+                      /* toggle key down */
-+                      input_report_key(dev, key_choice, 1);
-+                      /* toggle key up */
-+                      input_report_key(dev, key_choice, 0);
-+                      printk("ibutton gpio %d stat %x scan code %d\r\n", 
-+                                      i, button_state, key_choice);
-+                      /* Only report the first key event; it doesn't make 
-+                       * sense for two keys to be pressed at the same time, 
-+                       * and causes problems with the directional keys 
-+                       * return;      
-+                       */
-+              }
-+      }
-+}
-+
-+static int 
-+button_translate(unsigned char scancode, unsigned char *keycode, char raw_mode) 
-+{
-+      static int prev_scancode;
-+      
-+      printk( "ibutton.c: translate: scancode=%x raw_mode=%x\n", 
-+                      scancode, raw_mode);
-+
-+      if (scancode == 0xe0 || scancode == 0xe1) {
-+              prev_scancode = scancode;
-+              return 0;
-+      }
-+
-+      if (scancode == 0x00 || scancode == 0xff) {
-+              prev_scancode = 0;
-+              return 0;
-+      }
-+
-+      *keycode = scancode;
-+
-+      return 1;
-+}
-+
-+/* init button hardware */
-+static int button_hw_init(void)
-+{
-+      unsigned int    ipinfunc=0;     
-+
-+      printk("au1200_ibutton.c: Initializing buttons hardware\n");
-+
-+      // initialize GPIO pin function assignments     
-+
-+      ipinfunc = au_readl(SYS_PINFUNC);
-+
-+      ipinfunc &= ~(SYS_PINFUNC_DMA | SYS_PINFUNC_S0A | SYS_PINFUNC_S0B);     
-+      au_writel( ipinfunc ,SYS_PINFUNC);
-+      
-+      ipinfunc |=  (SYS_PINFUNC_S0C);
-+      au_writel( ipinfunc ,SYS_PINFUNC);
-+      
-+      return 0;
-+}
-+
-+/* button driver init */
-+static int __init button_init(void)
-+{
-+      int ret, i;
-+      unsigned int flag=0;
-+
-+      printk("au1200_ibutton.c: button_init()\r\n");
-+      
-+      button_hw_init();
-+      
-+      /* register all button irq handler */
-+      
-+      for(i=0; i< sizeof(button_map)/sizeof(button_map[0]); i++)
-+      {
-+              /* register irq <-- gpio 1 ,6 ,12 , 17 ,19 , 26 ,28 */
-+              if(button_map[i] != 0)  
-+              {
-+                      ret = request_irq(AU1000_GPIO_0 + i , 
-+                                      &button_interrupt , SA_INTERRUPT , 
-+                                      DRIVER_NAME , &dev);
-+                      if(ret) flag |= 1<<i;
-+              }
-+      }
-+
-+      printk("au1200_ibutton.c: request_irq,ret:0x%x\r\n",ret);
-+      
-+      if (ret) {
-+              printk("au1200_ibutton.c: request_irq:%X failed\r\n",flag);
-+              return ret;
-+      }
-+              
-+      dev.name = DRIVER_NAME;
-+      dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP);
-+
-+      for (i=0;i<sizeof(button_map)/sizeof(button_map[0]);i++)
-+      {
-+              dev.keybit[LONG(button_map[i])] |= BIT(button_map[i]);
-+      }
-+      
-+      input_register_device(&dev);
-+
-+      /* ready to receive interrupts */
-+
-+      return 0;
-+}
-+
-+/* button driver exit */
-+static void __exit button_exit(void)
-+{
-+      int i;
-+      
-+      for(i=0;i<sizeof(button_map)/sizeof(button_map[0]);i++)
-+      {
-+              if(button_map[i] != 0)
-+              {
-+                      free_irq( AU1000_GPIO_0 + i, &dev);
-+              }
-+      }
-+      
-+      input_unregister_device(&dev);
-+      
-+      printk("au1200_ibutton.c: button_exit()\r\n");
-+}
-+
-+module_init(button_init);
-+module_exit(button_exit);
-+
-+MODULE_AUTHOR( DRIVER_AUTHOR );
-+MODULE_DESCRIPTION( DRIVER_DESC );
-+MODULE_LICENSE("GPL");
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/au1xxx_dock.c linux-2.4.30-mips/arch/mips/au1000/ficmmp/au1xxx_dock.c
---- linux-2.4.30/arch/mips/au1000/ficmmp/au1xxx_dock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/au1xxx_dock.c    2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,261 @@
-+/*
-+ *  Copyright (C) 2003 Metrowerks, All Rights Reserved.
-+ *
-+ * 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.
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/fs.h>
-+#include <linux/sched.h>
-+#include <linux/miscdevice.h>
-+#include <linux/errno.h>
-+#include <linux/poll.h>
-+#include <asm/au1000.h>
-+#include <asm/uaccess.h>
-+#include <asm/au1xxx_gpio.h>
-+
-+
-+#if defined(CONFIG_MIPS_FICMMP)
-+      #define DOCK_GPIO       215
-+#else
-+      #error Unsupported Au1xxx Platform
-+#endif
-+
-+#define MAKE_FLAG 0x20
-+
-+#undef DEBUG
-+
-+#define DEBUG 0
-+//#define DEBUG 1
-+
-+#if DEBUG
-+#define DPRINTK(format, args...) printk(__FUNCTION__ ": "  format, ## args)
-+#else
-+#define DPRINTK(format, args...) do { } while (0)
-+#endif
-+
-+/* Please note that this driver is based on a timer and is not interrupt
-+ * driven.  If you are going to make use of this driver, you will need to have
-+ * your application open the dock listing from the /dev directory first.
-+ */
-+
-+struct au1xxx_dock {
-+      struct fasync_struct *fasync;
-+      wait_queue_head_t     read_wait;
-+      int open_count;
-+      unsigned int debounce;
-+      unsigned int current;
-+      unsigned int last;
-+};
-+
-+static struct au1xxx_dock dock_info;
-+
-+
-+static void dock_timer_periodic(void *data);
-+
-+static struct tq_struct dock_task = {
-+      routine:        dock_timer_periodic,
-+      data:           NULL
-+};
-+
-+static int cleanup_flag = 0;
-+static DECLARE_WAIT_QUEUE_HEAD(cleanup_wait_queue);
-+
-+
-+static unsigned int read_dock_state(void)
-+{
-+      u32 state;
-+
-+      state = au1xxx_gpio_read(DOCK_GPIO);
-+      
-+      /* printk( "Current Dock State: %d\n", state ); */
-+
-+      return state;
-+}
-+
-+
-+static void dock_timer_periodic(void *data)
-+{
-+      struct au1xxx_dock *dock = (struct au1xxx_dock *)data;
-+      unsigned long dock_state;
-+      
-+      /* If cleanup wants us to die */
-+      if (cleanup_flag) {
-+              /* now cleanup_module can return */
-+              wake_up(&cleanup_wait_queue); 
-+      } else {
-+              /* put ourselves back in the task queue */
-+              queue_task(&dock_task, &tq_timer);      
-+      }
-+
-+      /* read current dock */
-+      dock_state = read_dock_state();
-+
-+      /* if dock states hasn't changed */
-+      /* save time and be done. */
-+      if (dock_state == dock->current) {
-+              return;
-+      }
-+      
-+      if (dock_state == dock->debounce) {
-+              dock->current = dock_state;
-+      } else {
-+              dock->debounce = dock_state;
-+      }
-+      if (dock->current != dock->last) {
-+              if (waitqueue_active(&dock->read_wait)) {
-+                  wake_up_interruptible(&dock->read_wait);
-+              }
-+      }
-+}
-+
-+
-+static ssize_t au1xxx_dock_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)
-+{
-+      struct au1xxx_dock *dock = filp->private_data;
-+      char event[3];
-+      int last;
-+      int cur;
-+      int err;
-+      
-+try_again:
-+
-+      while (dock->current == dock->last) {
-+              if (filp->f_flags & O_NONBLOCK) {
-+                      return -EAGAIN;
-+              }
-+              interruptible_sleep_on(&dock->read_wait);
-+              if (signal_pending(current)) {
-+                      return -ERESTARTSYS;
-+              }
-+      }
-+      
-+      cur  = dock->current;
-+      last = dock->last;
-+
-+      if(cur != last)
-+      {
-+              event[0] = cur ? 'D' : 'U';
-+              event[1] = '\r';
-+              event[2] = '\n';
-+      }
-+      else
-+              goto try_again;
-+      
-+      dock->last = cur;
-+      err = copy_to_user(buffer, &event, 3);
-+      if (err) {
-+              return err;
-+      }
-+      
-+      return 3;
-+}
-+
-+
-+static int au1xxx_dock_open(struct inode *inode, struct file *filp)
-+{
-+      struct au1xxx_dock *dock = &dock_info;
-+
-+      MOD_INC_USE_COUNT;
-+
-+      filp->private_data = dock;
-+
-+      if (dock->open_count++ == 0) {
-+              dock_task.data = dock;
-+              cleanup_flag = 0;
-+              queue_task(&dock_task, &tq_timer);
-+      }
-+
-+      return 0;
-+}
-+
-+
-+static unsigned int au1xxx_dock_poll(struct file *filp, poll_table *wait)
-+{
-+      struct au1xxx_dock *dock = filp->private_data;
-+      int ret = 0;
-+
-+      DPRINTK("start\n");
-+      poll_wait(filp, &dock->read_wait, wait);
-+      if (dock->current != dock->last) {
-+              ret = POLLIN | POLLRDNORM;
-+      }
-+      return ret;
-+}
-+
-+
-+static int au1xxx_dock_release(struct inode *inode, struct file *filp)
-+{
-+      struct au1xxx_dock *dock = filp->private_data;
-+
-+      DPRINTK("start\n");
-+
-+      if (--dock->open_count == 0) {
-+              cleanup_flag = 1;
-+              sleep_on(&cleanup_wait_queue);
-+      }
-+      MOD_DEC_USE_COUNT;
-+      
-+      return 0;
-+}
-+
-+
-+
-+static struct file_operations au1xxx_dock_fops = {
-+      owner:          THIS_MODULE,
-+      read:           au1xxx_dock_read,
-+      poll:           au1xxx_dock_poll,
-+      open:           au1xxx_dock_open,
-+      release:        au1xxx_dock_release,
-+};
-+
-+/*
-+ * The au1xxx dock is a misc device:
-+ * Major 10 char
-+ * Minor 22        /dev/dock
-+ * 
-+ * This is /dev/misc/dock if devfs is used.
-+ */
-+
-+static struct miscdevice au1xxx_dock_dev = {
-+      minor:  23,
-+      name:   "dock",
-+      fops:   &au1xxx_dock_fops,
-+};
-+
-+static int __init au1xxx_dock_init(void)
-+{
-+      struct au1xxx_dock *dock = &dock_info;
-+      int ret;
-+
-+      DPRINTK("Initializing dock driver\n");
-+      dock->open_count = 0;
-+      cleanup_flag        = 0;
-+      init_waitqueue_head(&dock->read_wait);
-+
-+
-+      /* yamon configures GPIO pins for the dock
-+       * no initialization needed
-+       */
-+
-+      ret = misc_register(&au1xxx_dock_dev);
-+
-+      DPRINTK("dock driver fully initialized.\n");
-+
-+      return ret;
-+}
-+
-+
-+static void __exit au1xxx_dock_exit(void)
-+{
-+      DPRINTK("unloading dock driver\n");
-+      misc_deregister(&au1xxx_dock_dev);
-+}
-+
-+
-+module_init(au1xxx_dock_init);
-+module_exit(au1xxx_dock_exit);
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/board_setup.c linux-2.4.30-mips/arch/mips/au1000/ficmmp/board_setup.c
---- linux-2.4.30/arch/mips/au1000/ficmmp/board_setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -0,0 +1,226 @@
-+/*
-+ *
-+ * BRIEF MODULE DESCRIPTION
-+ *    Alchemy Pb1200 board setup.
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/ioport.h>
-+#include <linux/mm.h>
-+#include <linux/console.h>
-+#include <linux/mc146818rtc.h>
-+#include <linux/delay.h>
-+#include <linux/ide.h>
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+#include <linux/ide.h>
-+#endif
-+
-+#include <asm/cpu.h>
-+#include <asm/bootinfo.h>
-+#include <asm/irq.h>
-+#include <asm/keyboard.h>
-+#include <asm/mipsregs.h>
-+#include <asm/reboot.h>
-+#include <asm/pgtable.h>
-+#include <asm/au1000.h>
-+#include <asm/ficmmp.h>
-+#include <asm/au1xxx_dbdma.h>
-+#include <asm/au1xxx_gpio.h>
-+
-+extern struct rtc_ops no_rtc_ops;
-+
-+/* value currently in the board configuration register */
-+u16 ficmmp_config = 0;
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+extern struct ide_ops *ide_ops;
-+extern struct ide_ops au1xxx_ide_ops;
-+extern u32 au1xxx_ide_virtbase;
-+extern u64 au1xxx_ide_physbase;
-+extern int au1xxx_ide_irq;
-+
-+u32 led_base_addr;
-+/* Ddma */
-+chan_tab_t *ide_read_ch, *ide_write_ch;
-+u32 au1xxx_ide_ddma_enable = 0, switch4ddma = 1; // PIO+ddma
-+
-+dbdev_tab_t new_dbdev_tab_element = { DSCR_CMD0_THROTTLE, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 };
-+#endif /* end CONFIG_BLK_DEV_IDE_AU1XXX */
-+
-+void board_reset (void)
-+{
-+      au_writel(0, 0xAD80001C);
-+}
-+
-+void board_power_off (void)
-+{
-+}
-+
-+void __init board_setup(void)
-+{
-+      char *argptr = NULL;
-+      u32 pin_func;
-+      rtc_ops = &no_rtc_ops;
-+
-+      ficmmp_config_init();   //Initialize FIC control register
-+      
-+#if 0
-+      /* Enable PSC1 SYNC for AC97.  Normaly done in audio driver,
-+       * but it is board specific code, so put it here.
-+       */
-+      pin_func = au_readl(SYS_PINFUNC);
-+      au_sync();
-+      pin_func |= SYS_PF_MUST_BE_SET | SYS_PF_PSC1_S1;
-+      au_writel(pin_func, SYS_PINFUNC);
-+
-+      au_writel(0, (u32)bcsr|0x10); /* turn off pcmcia power */
-+      au_sync();
-+#endif
-+
-+#if defined( CONFIG_I2C_ALGO_AU1550 )
-+      {
-+      u32 freq0, clksrc;
-+
-+      /* Select SMBUS in CPLD */
-+      /* bcsr->resets &= ~(BCSR_RESETS_PCS0MUX); */
-+
-+      pin_func = au_readl(SYS_PINFUNC);
-+      au_sync();
-+      pin_func &= ~(3<<17 | 1<<4);
-+      /* Set GPIOs correctly */
-+      pin_func |= 2<<17;
-+      au_writel(pin_func, SYS_PINFUNC);
-+      au_sync();
-+
-+      /* The i2c driver depends on 50Mhz clock */
-+      freq0 = au_readl(SYS_FREQCTRL0);
-+      au_sync();
-+      freq0 &= ~(SYS_FC_FRDIV1_MASK | SYS_FC_FS1 | SYS_FC_FE1);
-+      freq0 |= (3<<SYS_FC_FRDIV1_BIT);
-+      /* 396Mhz / (3+1)*2 == 49.5Mhz */
-+      au_writel(freq0, SYS_FREQCTRL0);
-+      au_sync();
-+      freq0 |= SYS_FC_FE1;
-+      au_writel(freq0, SYS_FREQCTRL0);
-+      au_sync();
-+
-+      clksrc = au_readl(SYS_CLKSRC);
-+      au_sync();
-+      clksrc &= ~0x01f00000;
-+      /* bit 22 is EXTCLK0 for PSC0 */
-+      clksrc |= (0x3 << 22);
-+      au_writel(clksrc, SYS_CLKSRC);
-+      au_sync();
-+      }
-+#endif
-+
-+#ifdef CONFIG_FB_AU1200
-+      argptr = prom_getcmdline();
-+      strcat(argptr, " video=au1200fb:");
-+#endif
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+      /*
-+       * Iniz IDE parameters
-+       */
-+      ide_ops = &au1xxx_ide_ops;
-+      au1xxx_ide_irq = FICMMP_IDE_INT;
-+      au1xxx_ide_physbase = AU1XXX_ATA_PHYS_ADDR;
-+      au1xxx_ide_virtbase = KSEG1ADDR(AU1XXX_ATA_PHYS_ADDR);
-+      switch4ddma = 0;
-+      /*
-+      ide_ops = &au1xxx_ide_ops;
-+      au1xxx_ide_irq = FICMMP_IDE_INT;
-+      au1xxx_ide_base = KSEG1ADDR(AU1XXX_ATA_BASE);
-+      */
-+      au1xxx_gpio_write(9, 1);
-+      printk("B4001010: %X\n", *((u32*)0xB4001010));
-+      printk("B4001014: %X\n", *((u32*)0xB4001014));
-+      printk("B4001018: %X\n", *((u32*)0xB4001018));
-+      printk("B1900100: %X\n", *((u32*)0xB1900100));
-+      
-+#if 0
-+      ficmmp_config_clear(FICMMP_CONFIG_IDERST);
-+      mdelay(100);
-+      ficmmp_config_set(FICMMP_CONFIG_IDERST);
-+      mdelay(100);
-+#endif
-+      /*
-+       * change PIO or PIO+Ddma
-+       * check the GPIO-5 pin condition. pb1200:s18_dot
-+       */
-+/*    switch4ddma = 0; //(au_readl(SYS_PINSTATERD) & (1 << 5)) ? 1 : 0; */
-+#endif
-+
-+      /* The Pb1200 development board uses external MUX for PSC0 to
-+      support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI
-+      */
-+#if defined(CONFIG_AU1550_PSC_SPI) && defined(CONFIG_I2C_ALGO_AU1550)
-+      #error I2C and SPI are mutually exclusive. Both are physically connected to PSC0.\
-+                      Refer to Pb1200 documentation.
-+#elif defined( CONFIG_AU1550_PSC_SPI )
-+      //bcsr->resets |= BCSR_RESETS_PCS0MUX;
-+#elif defined( CONFIG_I2C_ALGO_AU1550 )
-+      //bcsr->resets &= (~BCSR_RESETS_PCS0MUX);
-+#endif
-+      au_sync();
-+
-+      printk("FIC Multimedia Player Board\n");
-+      au1xxx_gpio_tristate(5);
-+      printk("B1900100: %X\n", *((volatile u32*)0xB1900100));
-+      printk("B190002C: %X\n", *((volatile u32*)0xB190002C));
-+}
-+
-+int
-+board_au1200fb_panel (void)
-+{
-+      au1xxx_gpio_tristate(6);
-+
-+      if (au1xxx_gpio_read(12) == 0)
-+              return 9; /* FS453_640x480 (Composite/S-Video) */
-+      else
-+              return 7; /* Sharp 320x240 TFT */
-+}
-+
-+int
-+board_au1200fb_panel_init (void)
-+{
-+      /*Enable data buffers*/
-+      ficmmp_config_clear(FICMMP_CONFIG_LCMDATAOUT);
-+      /*Take LCD out of reset*/
-+      ficmmp_config_set(FICMMP_CONFIG_LCMPWREN | FICMMP_CONFIG_LCMEN);
-+      return 0;
-+}
-+
-+int 
-+board_au1200fb_panel_shutdown (void)
-+{
-+      /*Disable data buffers*/
-+      ficmmp_config_set(FICMMP_CONFIG_LCMDATAOUT);
-+      /*Put LCD in reset, remove power*/
-+      ficmmp_config_clear(FICMMP_CONFIG_LCMEN | FICMMP_CONFIG_LCMPWREN);
-+      return 0;
-+}
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/init.c linux-2.4.30-mips/arch/mips/au1000/ficmmp/init.c
---- linux-2.4.30/arch/mips/au1000/ficmmp/init.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/init.c   2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,76 @@
-+/*
-+ *
-+ * BRIEF MODULE DESCRIPTION
-+ *    PB1200 board setup
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/sched.h>
-+#include <linux/bootmem.h>
-+#include <asm/addrspace.h>
-+#include <asm/bootinfo.h>
-+#include <linux/config.h>
-+#include <linux/string.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+
-+int prom_argc;
-+char **prom_argv, **prom_envp;
-+extern void  __init prom_init_cmdline(void);
-+extern char *prom_getenv(char *envname);
-+
-+const char *get_system_type(void)
-+{
-+      return "FIC Multimedia Player (Au1200)";
-+}
-+
-+u32 mae_memsize = 0;
-+
-+int __init prom_init(int argc, char **argv, char **envp, int *prom_vec)
-+{
-+      unsigned char *memsize_str;
-+      unsigned long memsize;
-+
-+      prom_argc = argc;
-+      prom_argv = argv;
-+      prom_envp = envp;
-+
-+      mips_machgroup = MACH_GROUP_ALCHEMY;
-+      mips_machtype = MACH_PB1000;    /* set the platform # */   
-+      prom_init_cmdline();
-+
-+      memsize_str = prom_getenv("memsize");
-+      if (!memsize_str) {
-+              memsize = 0x08000000;
-+      } else {
-+              memsize = simple_strtol(memsize_str, NULL, 0);
-+      }
-+
-+      /* reserved 32MB for MAE driver */
-+      memsize -= (32 * 1024 * 1024);
-+      add_memory_region(0, memsize, BOOT_MEM_RAM);
-+      mae_memsize = memsize; /* for drivers/char/au1xxx_mae.c */
-+      return 0;
-+}
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/irqmap.c linux-2.4.30-mips/arch/mips/au1000/ficmmp/irqmap.c
---- linux-2.4.30/arch/mips/au1000/ficmmp/irqmap.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/ficmmp/irqmap.c 2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,61 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *    Au1xxx irq map table
-+ *
-+ *  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 of the        License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED         ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,         INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO        EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED         TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,        OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN        CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+#include <linux/errno.h>
-+#include <linux/init.h>
-+#include <linux/irq.h>
-+#include <linux/kernel_stat.h>
-+#include <linux/module.h>
-+#include <linux/signal.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/interrupt.h>
-+#include <linux/ioport.h>
-+#include <linux/timex.h>
-+#include <linux/slab.h>
-+#include <linux/random.h>
-+#include <linux/delay.h>
-+
-+#include <asm/bitops.h>
-+#include <asm/bootinfo.h>
-+#include <asm/io.h>
-+#include <asm/mipsregs.h>
-+#include <asm/system.h>
-+#include <asm/au1000.h>
-+#include <asm/ficmmp.h>
-+
-+au1xxx_irq_map_t au1xxx_irq_map[] = {
-+      { FICMMP_IDE_INT, INTC_INT_HIGH_LEVEL, 0 },
-+      { AU1XXX_SMC91111_IRQ, INTC_INT_HIGH_LEVEL, 0 },
-+      { AU1000_GPIO_1 , INTC_INT_FALL_EDGE, 0 },              // main button
-+      { AU1000_GPIO_6 , INTC_INT_RISE_EDGE, 0 },              // select button
-+      { AU1000_GPIO_12, INTC_INT_FALL_EDGE, 0 },              // guide button
-+      { AU1000_GPIO_17, INTC_INT_RISE_EDGE, 0 },              // down button
-+      { AU1000_GPIO_19, INTC_INT_RISE_EDGE, 0 },              // left button
-+      { AU1000_GPIO_26, INTC_INT_RISE_EDGE, 0 },              // right button
-+      { AU1000_GPIO_28, INTC_INT_RISE_EDGE, 0 },              // up button
-+};
-+
-+int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/Makefile linux-2.4.30-mips/arch/mips/au1000/hydrogen3/Makefile
---- linux-2.4.30/arch/mips/au1000/hydrogen3/Makefile   2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/hydrogen3/Makefile      2005-02-11 22:09:55.000000000 +0100
-@@ -14,6 +14,11 @@
- O_TARGET := hydrogen3.o
--obj-y := init.o board_setup.o irqmap.o
-+obj-y := init.o board_setup.o irqmap.o buttons.o
-+
-+ifdef CONFIG_MMC
-+obj-y += mmc_support.o
-+export-objs +=mmc_support.o
-+endif
- include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/board_setup.c linux-2.4.30-mips/arch/mips/au1000/hydrogen3/board_setup.c
---- linux-2.4.30/arch/mips/au1000/hydrogen3/board_setup.c      2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/hydrogen3/board_setup.c 2005-03-19 08:17:51.000000000 +0100
-@@ -51,12 +51,19 @@
- {
- }
-+void board_power_off (void)
-+{
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func;
-       rtc_ops = &no_rtc_ops;
-+      /* Set GPIO14 high to make CD/DAT1 high for MMC to work */
-+      au_writel(1<<14, SYS_OUTPUTSET);
-+
- #ifdef CONFIG_AU1X00_USB_DEVICE
-       // 2nd USB port is USB device
-       pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000);
-diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/buttons.c linux-2.4.30-mips/arch/mips/au1000/hydrogen3/buttons.c
---- linux-2.4.30/arch/mips/au1000/hydrogen3/buttons.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/hydrogen3/buttons.c     2005-02-11 22:09:55.000000000 +0100
-@@ -0,0 +1,308 @@
-+/*
-+ *  Copyright (C) 2003 Metrowerks, All Rights Reserved.
-+ *
-+ * 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.
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/fs.h>
-+#include <linux/sched.h>
-+#include <linux/miscdevice.h>
-+#include <linux/errno.h>
-+#include <linux/poll.h>
-+#include <asm/au1000.h>
-+#include <asm/uaccess.h>
-+
-+#define BUTTON_SELECT (1<<1)
-+#define BUTTON_1      (1<<2)
-+#define BUTTON_2      (1<<3)
-+#define BUTTON_ONOFF  (1<<6)
-+#define BUTTON_3      (1<<7)
-+#define BUTTON_4      (1<<8)
-+#define BUTTON_LEFT   (1<<9)
-+#define BUTTON_DOWN   (1<<10)
-+#define BUTTON_RIGHT  (1<<11)
-+#define BUTTON_UP     (1<<12)
-+
-+#define BUTTON_MASK (\
-+    BUTTON_SELECT     \
-+    | BUTTON_1        \
-+    | BUTTON_2                \
-+    | BUTTON_ONOFF    \
-+    | BUTTON_3                \
-+    | BUTTON_4                \
-+    | BUTTON_LEFT     \
-+    | BUTTON_DOWN     \
-+    | BUTTON_RIGHT    \
-+    | BUTTON_UP               \
-+    )
-+
-+#define BUTTON_INVERT (\
-+    BUTTON_SELECT     \
-+    | BUTTON_1        \
-+    | BUTTON_2                \
-+    | BUTTON_3                \
-+    | BUTTON_4                \
-+    | BUTTON_LEFT     \
-+    | BUTTON_DOWN     \
-+    | BUTTON_RIGHT    \
-+    | BUTTON_UP               \
-+    )
-+
-+
-+
-+#define MAKE_FLAG 0x20
-+
-+#undef DEBUG
-+
-+#define DEBUG 0
-+//#define DEBUG 1
-+
-+#if DEBUG
-+#define DPRINTK(format, args...) printk(__FUNCTION__ ": "  format, ## args)
-+#else
-+#define DPRINTK(format, args...) do { } while (0)
-+#endif
-+
-+/* Please note that this driver is based on a timer and is not interrupt
-+ * driven.  If you are going to make use of this driver, you will need to have
-+ * your application open the buttons listing from the /dev directory first.
-+ */
-+
-+struct hydrogen3_buttons {
-+      struct fasync_struct *fasync;
-+      wait_queue_head_t     read_wait;
-+      int open_count;
-+      unsigned int debounce;
-+      unsigned int current;
-+      unsigned int last;
-+};
-+
-+static struct hydrogen3_buttons buttons_info;
-+
-+
-+static void button_timer_periodic(void *data);
-+
-+static struct tq_struct button_task = {
-+      routine:        button_timer_periodic,
-+      data:           NULL
-+};
-+
-+static int cleanup_flag = 0;
-+static DECLARE_WAIT_QUEUE_HEAD(cleanup_wait_queue);
-+
-+
-+static unsigned int read_button_state(void)
-+{
-+      unsigned long state;
-+
-+      state = inl(SYS_PINSTATERD) & BUTTON_MASK;
-+      state ^= BUTTON_INVERT;
-+      
-+      DPRINTK( "Current Button State: %d\n", state );
-+
-+      return state;
-+}
-+
-+
-+static void button_timer_periodic(void *data)
-+{
-+      struct hydrogen3_buttons *buttons = (struct hydrogen3_buttons *)data;
-+      unsigned long button_state;
-+      
-+      // If cleanup wants us to die
-+      if (cleanup_flag) {
-+              wake_up(&cleanup_wait_queue);           // now cleanup_module can return
-+      } else {
-+              queue_task(&button_task, &tq_timer);    // put ourselves back in the task queue
-+      }
-+
-+      // read current buttons
-+      button_state = read_button_state();
-+
-+      // if no buttons are down and nothing to do then
-+      // save time and be done.
-+      if ((button_state == 0) && (buttons->current == 0)) {
-+              return;
-+      }
-+      
-+      if (button_state == buttons->debounce) {
-+              buttons->current = button_state;
-+      } else {
-+              buttons->debounce = button_state;
-+      }
-+//    printk("0x%04x\n", button_state);
-+      if (buttons->current != buttons->last) {
-+              if (waitqueue_active(&buttons->read_wait)) {
-+                  wake_up_interruptible(&buttons->read_wait);
-+              }
-+      }
-+}
-+
-+
-+static ssize_t hydrogen3_buttons_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)
-+{
-+      struct hydrogen3_buttons *buttons = filp->private_data;
-+      char events[16];
-+      int index;
-+      int last;
-+      int cur;
-+      int bit;
-+      int bit_mask;
-+      int err;
-+      
-+      DPRINTK("start\n");
-+
-+try_again:
-+
-+      while (buttons->current == buttons->last) {
-+              if (filp->f_flags & O_NONBLOCK) {
-+                      return -EAGAIN;
-+              }
-+              interruptible_sleep_on(&buttons->read_wait);
-+              if (signal_pending(current)) {
-+                      return -ERESTARTSYS;
-+              }
-+      }
-+      
-+      cur  = buttons->current;
-+      last = buttons->last;
-+      
-+      index    = 0;
-+      bit_mask = 1;
-+      for (bit = 0; (bit < 16) && count; bit++) {
-+              if ((cur ^ last) & bit_mask) {
-+                      if (cur & bit_mask) {
-+                              events[index] = (bit | MAKE_FLAG) + 'A';
-+                              last |= bit_mask;
-+                      } else {
-+                              events[index] = bit + 'A';
-+                              last &= ~bit_mask;
-+                      }
-+                      index++;
-+                      count--;
-+              }
-+              bit_mask <<= 1;
-+      }
-+      buttons->last = last;
-+      
-+      if (index == 0) {
-+              goto try_again;
-+      }
-+      
-+      err = copy_to_user(buffer, events, index);
-+      if (err) {
-+              return err;
-+      }
-+      
-+      return index;
-+}
-+
-+
-+static int hydrogen3_buttons_open(struct inode *inode, struct file *filp)
-+{
-+      struct hydrogen3_buttons *buttons = &buttons_info;
-+
-+      DPRINTK("start\n");
-+      MOD_INC_USE_COUNT;
-+
-+      filp->private_data = buttons;
-+
-+      if (buttons->open_count++ == 0) {
-+              button_task.data = buttons;
-+              cleanup_flag = 0;
-+              queue_task(&button_task, &tq_timer);
-+      }
-+
-+      return 0;
-+}
-+
-+
-+static unsigned int hydrogen3_buttons_poll(struct file *filp, poll_table *wait)
-+{
-+      struct hydrogen3_buttons *buttons = filp->private_data;
-+      int ret = 0;
-+
-+      DPRINTK("start\n");
-+      poll_wait(filp, &buttons->read_wait, wait);
-+      if (buttons->current != buttons->last) {
-+              ret = POLLIN | POLLRDNORM;
-+      }
-+      return ret;
-+}
-+
-+
-+static int hydrogen3_buttons_release(struct inode *inode, struct file *filp)
-+{
-+      struct hydrogen3_buttons *buttons = filp->private_data;
-+
-+      DPRINTK("start\n");
-+
-+      if (--buttons->open_count == 0) {
-+              cleanup_flag = 1;
-+              sleep_on(&cleanup_wait_queue);
-+      }
-+      MOD_DEC_USE_COUNT;
-+      
-+      return 0;
-+}
-+
-+
-+
-+static struct file_operations hydrogen3_buttons_fops = {
-+      owner:          THIS_MODULE,
-+      read:           hydrogen3_buttons_read,
-+      poll:           hydrogen3_buttons_poll,
-+      open:           hydrogen3_buttons_open,
-+      release:        hydrogen3_buttons_release,
-+};
-+
-+/*
-+ * The hydrogen3 buttons is a misc device:
-+ * Major 10 char
-+ * Minor 22        /dev/buttons
-+ * 
-+ * This is /dev/misc/buttons if devfs is used.
-+ */
-+
-+static struct miscdevice hydrogen3_buttons_dev = {
-+      minor:  22,
-+      name:   "buttons",
-+      fops:   &hydrogen3_buttons_fops,
-+};
-+
-+static int __init hydrogen3_buttons_init(void)
-+{
-+      struct hydrogen3_buttons *buttons = &buttons_info;
-+      int ret;
-+
-+      DPRINTK("Initializing buttons driver\n");
-+      buttons->open_count = 0;
-+      cleanup_flag        = 0;
-+      init_waitqueue_head(&buttons->read_wait);
-+
-+
-+      // yamon configures GPIO pins for the buttons
-+      // no initialization needed
-+
-+      ret = misc_register(&hydrogen3_buttons_dev);
-+
-+      DPRINTK("Buttons driver fully initialized.\n");
-+
-+      return ret;
-+}
-+
-+
-+static void __exit hydrogen3_buttons_exit(void)
-+{
-+      DPRINTK("unloading buttons driver\n");
-+      misc_deregister(&hydrogen3_buttons_dev);
-+}
-+
-+
-+module_init(hydrogen3_buttons_init);
-+module_exit(hydrogen3_buttons_exit);
-diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/mmc_support.c linux-2.4.30-mips/arch/mips/au1000/hydrogen3/mmc_support.c
---- linux-2.4.30/arch/mips/au1000/hydrogen3/mmc_support.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/hydrogen3/mmc_support.c 2005-02-02 05:27:06.000000000 +0100
-@@ -0,0 +1,89 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *
-+ *    MMC support routines for Hydrogen3.
-+ *
-+ *
-+ * Copyright (c) 2003-2004 Embedded Edge, LLC.
-+ * Author: Embedded Edge, LLC.
-+ * Contact: dan@embeddededge.com
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+
-+#include <asm/irq.h>
-+#include <asm/au1000.h>
-+#include <asm/au1100_mmc.h>
-+
-+#define GPIO_17_WP 0x20000
-+
-+/* SD/MMC controller support functions */
-+
-+/*
-+ * Detect card.
-+ */
-+void mmc_card_inserted(int _n_, int *_res_)
-+{
-+      u32 gpios = au_readl(SYS_PINSTATERD);
-+      u32 emptybit = (1<<16);
-+      *_res_ = ((gpios & emptybit) == 0);
-+}
-+
-+/*
-+ * Check card write protection.
-+ */
-+void mmc_card_writable(int _n_, int *_res_)
-+{
-+      unsigned long mmc_wp, board_specific; 
-+              board_specific = au_readl(SYS_OUTPUTSET);
-+              mmc_wp=GPIO_17_WP;
-+              if (!(board_specific & mmc_wp)) {/* low means card writable */ 
-+                      *_res_ = 1; 
-+              } else {
-+                      *_res_ = 0; 
-+              } 
-+}
-+/*
-+ * Apply power to card slot.
-+ */
-+void mmc_power_on(int _n_)
-+{
-+}
-+
-+/*
-+ * Remove power from card slot.
-+ */
-+void mmc_power_off(int _n_)
-+{
-+}
-+
-+EXPORT_SYMBOL(mmc_card_inserted);
-+EXPORT_SYMBOL(mmc_card_writable);
-+EXPORT_SYMBOL(mmc_power_on);
-+EXPORT_SYMBOL(mmc_power_off);
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/mtx-1/board_setup.c linux-2.4.30-mips/arch/mips/au1000/mtx-1/board_setup.c
---- linux-2.4.30/arch/mips/au1000/mtx-1/board_setup.c  2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/mtx-1/board_setup.c     2004-11-26 09:37:16.000000000 +0100
-@@ -48,6 +48,12 @@
- extern struct rtc_ops no_rtc_ops;
-+void board_reset (void)
-+{
-+      /* Hit BCSR.SYSTEM_CONTROL[SW_RST] */
-+      au_writel(0x00000000, 0xAE00001C);
-+}
-+
- void __init board_setup(void)
- {
-       rtc_ops = &no_rtc_ops;
-diff -Nur linux-2.4.30/arch/mips/au1000/mtx-1/irqmap.c linux-2.4.30-mips/arch/mips/au1000/mtx-1/irqmap.c
---- linux-2.4.30/arch/mips/au1000/mtx-1/irqmap.c       2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/mtx-1/irqmap.c  2004-11-26 09:37:16.000000000 +0100
-@@ -72,10 +72,10 @@
-        *      A       B       C       D
-        */
-       {
--              {INTA, INTB, INTC, INTD},   /* IDSEL 0 */
--              {INTA, INTB, INTC, INTD},   /* IDSEL 1 */
--              {INTA, INTB, INTC, INTD},   /* IDSEL 2 */
--              {INTA, INTB, INTC, INTD},   /* IDSEL 3 */
-+              {INTA, INTB, INTX, INTX},   /* IDSEL 0 */
-+              {INTB, INTA, INTX, INTX},   /* IDSEL 1 */
-+              {INTC, INTD, INTX, INTX},   /* IDSEL 2 */
-+              {INTD, INTC, INTX, INTX},   /* IDSEL 3 */
-       };
-       const long min_idsel = 0, max_idsel = 3, irqs_per_slot = 4;
-       return PCI_IRQ_TABLE_LOOKUP;
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1000/board_setup.c linux-2.4.30-mips/arch/mips/au1000/pb1000/board_setup.c
---- linux-2.4.30/arch/mips/au1000/pb1000/board_setup.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1000/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -58,6 +58,10 @@
- {
- }
-+void board_power_off (void)
-+{
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func, static_cfg0;
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1100/Makefile linux-2.4.30-mips/arch/mips/au1000/pb1100/Makefile
---- linux-2.4.30/arch/mips/au1000/pb1100/Makefile      2003-08-25 13:44:39.000000000 +0200
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1100/Makefile 2005-01-30 09:10:29.000000000 +0100
-@@ -16,4 +16,10 @@
- obj-y := init.o board_setup.o irqmap.o
-+
-+ifdef CONFIG_MMC
-+obj-y += mmc_support.o
-+export-objs += mmc_support.o
-+endif
-+
- include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1100/board_setup.c linux-2.4.30-mips/arch/mips/au1000/pb1100/board_setup.c
---- linux-2.4.30/arch/mips/au1000/pb1100/board_setup.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1100/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -62,6 +62,10 @@
-     au_writel(0x00000000, 0xAE00001C);
- }
-+void board_power_off (void)
-+{
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func;
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1100/mmc_support.c linux-2.4.30-mips/arch/mips/au1000/pb1100/mmc_support.c
---- linux-2.4.30/arch/mips/au1000/pb1100/mmc_support.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1100/mmc_support.c    2005-01-30 09:10:29.000000000 +0100
-@@ -0,0 +1,126 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *
-+ *    MMC support routines for PB1100.
-+ *
-+ *
-+ * Copyright (c) 2003-2004 Embedded Edge, LLC.
-+ * Author: Embedded Edge, LLC.
-+ * Contact: dan@embeddededge.com
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+
-+#include <asm/irq.h>
-+#include <asm/au1000.h>
-+#include <asm/au1100_mmc.h>
-+#include <asm/pb1100.h>
-+
-+
-+/* SD/MMC controller support functions */
-+
-+/*
-+ * Detect card.
-+ */
-+void mmc_card_inserted(int _n_, int *_res_)
-+{
-+      u32 gpios = au_readl(SYS_PINSTATERD);
-+      u32 emptybit = (_n_) ? (1<<15) : (1<<14);
-+      *_res_ = ((gpios & emptybit) == 0);
-+}
-+
-+/*
-+ * Check card write protection.
-+ */
-+void mmc_card_writable(int _n_, int *_res_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_wp, board_specific;
-+
-+      if (_n_) {
-+              mmc_wp = BCSR_PCMCIA_SD1_WP;
-+      } else {
-+              mmc_wp = BCSR_PCMCIA_SD0_WP;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->pcmcia));
-+
-+      if (!(board_specific & mmc_wp)) {/* low means card writable */
-+              *_res_ = 1;
-+      } else {
-+              *_res_ = 0;
-+      }
-+}
-+
-+/*
-+ * Apply power to card slot.
-+ */
-+void mmc_power_on(int _n_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_pwr, board_specific;
-+
-+      if (_n_) {
-+              mmc_pwr = BCSR_PCMCIA_SD1_PWR;
-+      } else {
-+              mmc_pwr = BCSR_PCMCIA_SD0_PWR;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->pcmcia));
-+      board_specific |= mmc_pwr;
-+
-+      au_writel(board_specific, (int)(&bcsr->pcmcia));
-+      au_sync_delay(1);
-+}
-+
-+/*
-+ * Remove power from card slot.
-+ */
-+void mmc_power_off(int _n_)
-+{
-+      BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      unsigned long mmc_pwr, board_specific;
-+
-+      if (_n_) {
-+              mmc_pwr = BCSR_PCMCIA_SD1_PWR;
-+      } else {
-+              mmc_pwr = BCSR_PCMCIA_SD0_PWR;
-+      }
-+
-+      board_specific = au_readl((unsigned long)(&bcsr->pcmcia));
-+      board_specific &= ~mmc_pwr;
-+
-+      au_writel(board_specific, (int)(&bcsr->pcmcia));
-+      au_sync_delay(1);
-+}
-+
-+EXPORT_SYMBOL(mmc_card_inserted);
-+EXPORT_SYMBOL(mmc_card_writable);
-+EXPORT_SYMBOL(mmc_power_on);
-+EXPORT_SYMBOL(mmc_power_off);
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/Makefile linux-2.4.30-mips/arch/mips/au1000/pb1200/Makefile
---- linux-2.4.30/arch/mips/au1000/pb1200/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1200/Makefile 2005-01-30 09:01:27.000000000 +0100
-@@ -0,0 +1,25 @@
-+#
-+#  Copyright 2000 MontaVista Software Inc.
-+#  Author: MontaVista Software, Inc.
-+#             ppopov@mvista.com or source@mvista.com
-+#
-+# Makefile for the Alchemy Semiconductor PB1000 board.
-+#
-+# Note! Dependencies are done automagically by 'make dep', which also
-+# removes any old dependencies. DON'T put your own dependencies here
-+# unless it's something special (ie not a .c file).
-+#
-+
-+USE_STANDARD_AS_RULE := true
-+
-+O_TARGET := pb1200.o
-+
-+obj-y := init.o board_setup.o irqmap.o
-+
-+ifdef CONFIG_MMC
-+obj-y += mmc_support.o
-+export-objs +=mmc_support.o
-+endif
-+
-+
-+include $(TOPDIR)/Rules.make
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/board_setup.c linux-2.4.30-mips/arch/mips/au1000/pb1200/board_setup.c
---- linux-2.4.30/arch/mips/au1000/pb1200/board_setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1200/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -0,0 +1,221 @@
-+/*
-+ *
-+ * BRIEF MODULE DESCRIPTION
-+ *    Alchemy Pb1200 board setup.
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+#include <linux/config.h>
-+#include <linux/init.h>
-+#include <linux/sched.h>
-+#include <linux/ioport.h>
-+#include <linux/mm.h>
-+#include <linux/console.h>
-+#include <linux/mc146818rtc.h>
-+#include <linux/delay.h>
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+#include <linux/ide.h>
-+#endif
-+
-+#include <asm/cpu.h>
-+#include <asm/bootinfo.h>
-+#include <asm/irq.h>
-+#include <asm/keyboard.h>
-+#include <asm/mipsregs.h>
-+#include <asm/reboot.h>
-+#include <asm/pgtable.h>
-+#include <asm/au1000.h>
-+#include <asm/au1xxx_dbdma.h>
-+
-+#ifdef CONFIG_MIPS_PB1200
-+#include <asm/pb1200.h>
-+#endif
-+
-+#ifdef CONFIG_MIPS_DB1200
-+#include <asm/db1200.h>
-+#define PB1200_ETH_INT DB1200_ETH_INT
-+#define PB1200_IDE_INT DB1200_IDE_INT
-+#endif
-+
-+extern struct rtc_ops no_rtc_ops;
-+
-+extern void _board_init_irq(void);
-+extern void   (*board_init_irq)(void);
-+
-+#ifdef CONFIG_BLK_DEV_IDE_AU1XXX
-+extern struct ide_ops *ide_ops;
-+extern struct ide_ops au1xxx_ide_ops;
-+extern u32 au1xxx_ide_virtbase;
-+extern u64 au1xxx_ide_physbase;
-+extern int au1xxx_ide_irq;
-+
-+u32 led_base_addr;
-+/* Ddma */
-+chan_tab_t *ide_read_ch, *ide_write_ch;
-+u32 au1xxx_ide_ddma_enable = 0, switch4ddma = 1; // PIO+ddma
-+
-+dbdev_tab_t new_dbdev_tab_element = { DSCR_CMD0_THROTTLE, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 };
-+#endif /* end CONFIG_BLK_DEV_IDE_AU1XXX */
-+
-+void board_reset (void)
-+{
-+      bcsr->resets = 0;
-+}
-+
-+void board_power_off (void)
-+{
-+      bcsr->resets = 0xC000;
-+}
-+
-+void __init board_setup(void)
-+{
-+      char *argptr = NULL;
-+      u32 pin_func;
-+      rtc_ops = &no_rtc_ops;
-+
-+#if 0
-+      /* Enable PSC1 SYNC for AC97.  Normaly done in audio driver,
-+       * but it is board specific code, so put it here.
-+       */
-+      pin_func = au_readl(SYS_PINFUNC);
-+      au_sync();
-+      pin_func |= SYS_PF_MUST_BE_SET | SYS_PF_PSC1_S1;
-+      au_writel(pin_func, SYS_PINFUNC);
-+
-+      au_writel(0, (u32)bcsr|0x10); /* turn off pcmcia power */
-+      au_sync();
-+#endif
-+
-+#if defined( CONFIG_I2C_ALGO_AU1550 )
-+      {
-+      u32 freq0, clksrc;
-+
-+      /* Select SMBUS in CPLD */
-+      bcsr->resets &= ~(BCSR_RESETS_PCS0MUX);
-+
-+      pin_func = au_readl(SYS_PINFUNC);
-+      au_sync();
-+      pin_func &= ~(3<<17 | 1<<4);
-+      /* Set GPIOs correctly */
-+      pin_func |= 2<<17;
-+      au_writel(pin_func, SYS_PINFUNC);
-+      au_sync();
-+
-+      /* The i2c driver depends on 50Mhz clock */
-+      freq0 = au_readl(SYS_FREQCTRL0);
-+      au_sync();
-+      freq0 &= ~(SYS_FC_FRDIV1_MASK | SYS_FC_FS1 | SYS_FC_FE1);
-+      freq0 |= (3<<SYS_FC_FRDIV1_BIT);
-+      /* 396Mhz / (3+1)*2 == 49.5Mhz */
-+      au_writel(freq0, SYS_FREQCTRL0);
-+      au_sync();
-+      freq0 |= SYS_FC_FE1;
-+      au_writel(freq0, SYS_FREQCTRL0);
-+      au_sync();
-+
-+      clksrc = au_readl(SYS_CLKSRC);
-+      au_sync();
-+      clksrc &= ~0x01f00000;
-+      /* bit 22 is EXTCLK0 for PSC0 */
-+      clksrc |= (0x3 << 22);
-+      au_writel(clksrc, SYS_CLKSRC);
-+      au_sync();
-+      }
-+#endif
-+
-+#ifdef CONFIG_FB_AU1200
-+      argptr = prom_getcmdline();
-+      strcat(argptr, " video=au1200fb:");
-+#endif
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+      /*
-+       * Iniz IDE parameters
-+       */
-+      ide_ops = &au1xxx_ide_ops;
-+      au1xxx_ide_irq = PB1200_IDE_INT;
-+      au1xxx_ide_physbase = AU1XXX_ATA_PHYS_ADDR;
-+      au1xxx_ide_virtbase = KSEG1ADDR(AU1XXX_ATA_PHYS_ADDR);
-+      /*
-+       * change PIO or PIO+Ddma
-+       * check the GPIO-5 pin condition. pb1200:s18_dot */
-+      switch4ddma = (au_readl(SYS_PINSTATERD) & (1 << 5)) ? 1 : 0; 
-+#endif
-+
-+      /* The Pb1200 development board uses external MUX for PSC0 to
-+      support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI
-+      */
-+#if defined(CONFIG_AU1550_PSC_SPI) && defined(CONFIG_I2C_ALGO_AU1550)
-+      #error I2C and SPI are mutually exclusive. Both are physically connected to PSC0.\
-+                      Refer to Pb1200/Db1200 documentation.
-+#elif defined( CONFIG_AU1550_PSC_SPI )
-+      bcsr->resets |= BCSR_RESETS_PCS0MUX;
-+#elif defined( CONFIG_I2C_ALGO_AU1550 )
-+      bcsr->resets &= (~BCSR_RESETS_PCS0MUX);
-+#endif
-+      au_sync();
-+
-+#ifdef CONFIG_MIPS_PB1200
-+      printk("AMD Alchemy Pb1200 Board\n");
-+#endif
-+#ifdef CONFIG_MIPS_DB1200
-+      printk("AMD Alchemy Db1200 Board\n");
-+#endif
-+
-+      /* Setup Pb1200 External Interrupt Controller */
-+      {
-+              extern void (*board_init_irq)(void);
-+              extern void _board_init_irq(void);
-+              board_init_irq = _board_init_irq;
-+      }
-+}
-+
-+int
-+board_au1200fb_panel (void)
-+{
-+      BCSR *bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      int p;
-+
-+      p = bcsr->switches;
-+      p >>= 8;
-+      p &= 0x0F;
-+      return p;
-+}
-+
-+int
-+board_au1200fb_panel_init (void)
-+{
-+      /* Apply power */
-+    BCSR *bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      bcsr->board |= (BCSR_BOARD_LCDVEE | BCSR_BOARD_LCDVDD | BCSR_BOARD_LCDBL);
-+      return 0;
-+}
-+
-+int
-+board_au1200fb_panel_shutdown (void)
-+{
-+      /* Remove power */
-+    BCSR *bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+      bcsr->board &= ~(BCSR_BOARD_LCDVEE | BCSR_BOARD_LCDVDD | BCSR_BOARD_LCDBL);
-+      return 0;
-+}
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/init.c linux-2.4.30-mips/arch/mips/au1000/pb1200/init.c
---- linux-2.4.30/arch/mips/au1000/pb1200/init.c        1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1200/init.c   2005-01-30 09:01:28.000000000 +0100
-@@ -0,0 +1,72 @@
-+/*
-+ *
-+ * BRIEF MODULE DESCRIPTION
-+ *    PB1200 board setup
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/mm.h>
-+#include <linux/sched.h>
-+#include <linux/bootmem.h>
-+#include <asm/addrspace.h>
-+#include <asm/bootinfo.h>
-+#include <linux/config.h>
-+#include <linux/string.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+
-+int prom_argc;
-+char **prom_argv, **prom_envp;
-+extern void  __init prom_init_cmdline(void);
-+extern char *prom_getenv(char *envname);
-+
-+const char *get_system_type(void)
-+{
-+      return "AMD Alchemy Au1200/Pb1200";
-+}
-+
-+u32 mae_memsize = 0;
-+
-+int __init prom_init(int argc, char **argv, char **envp, int *prom_vec)
-+{
-+      unsigned char *memsize_str;
-+      unsigned long memsize;
-+
-+      prom_argc = argc;
-+      prom_argv = argv;
-+      prom_envp = envp;
-+
-+      mips_machgroup = MACH_GROUP_ALCHEMY;
-+      mips_machtype = MACH_PB1000;    /* set the platform # */   
-+      prom_init_cmdline();
-+
-+      memsize_str = prom_getenv("memsize");
-+      if (!memsize_str) {
-+              memsize = 0x08000000;
-+      } else {
-+              memsize = simple_strtol(memsize_str, NULL, 0);
-+      }
-+      add_memory_region(0, memsize, BOOT_MEM_RAM);
-+      return 0;
-+}
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/irqmap.c linux-2.4.30-mips/arch/mips/au1000/pb1200/irqmap.c
---- linux-2.4.30/arch/mips/au1000/pb1200/irqmap.c      1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1200/irqmap.c 2005-01-30 09:01:28.000000000 +0100
-@@ -0,0 +1,180 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *    Au1xxx irq map table
-+ *
-+ *  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 of the        License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED         ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,         INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO        EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED         TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,        OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN        CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+#include <linux/errno.h>
-+#include <linux/init.h>
-+#include <linux/irq.h>
-+#include <linux/kernel_stat.h>
-+#include <linux/module.h>
-+#include <linux/signal.h>
-+#include <linux/sched.h>
-+#include <linux/types.h>
-+#include <linux/interrupt.h>
-+#include <linux/ioport.h>
-+#include <linux/timex.h>
-+#include <linux/slab.h>
-+#include <linux/random.h>
-+#include <linux/delay.h>
-+
-+#include <asm/bitops.h>
-+#include <asm/bootinfo.h>
-+#include <asm/io.h>
-+#include <asm/mipsregs.h>
-+#include <asm/system.h>
-+#include <asm/au1000.h>
-+
-+#ifdef CONFIG_MIPS_PB1200
-+#include <asm/pb1200.h>
-+#endif
-+
-+#ifdef CONFIG_MIPS_DB1200
-+#include <asm/db1200.h>
-+#define PB1200_INT_BEGIN DB1200_INT_BEGIN
-+#define PB1200_INT_END DB1200_INT_END
-+#endif
-+
-+au1xxx_irq_map_t au1xxx_irq_map[] = {
-+      { AU1000_GPIO_7, INTC_INT_LOW_LEVEL, 0 }, // This is exteranl interrupt cascade
-+};
-+
-+int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
-+
-+/*
-+ *    Support for External interrupts on the PbAu1200 Development platform.
-+ */
-+static volatile int pb1200_cascade_en=0;
-+
-+void pb1200_cascade_handler( int irq, void *dev_id, struct pt_regs *regs)
-+{
-+      unsigned short bisr = bcsr->int_status;
-+      int extirq_nr = 0;
-+
-+      /* Clear all the edge interrupts. This has no effect on level */
-+      bcsr->int_status = bisr;
-+      for( ; bisr; bisr &= (bisr-1) )
-+      {
-+              extirq_nr = (PB1200_INT_BEGIN-1) + au_ffs(bisr);
-+              /* Ack and dispatch IRQ */
-+              do_IRQ(extirq_nr,regs);
-+      }
-+}
-+
-+inline void pb1200_enable_irq(unsigned int irq_nr)
-+{
-+      bcsr->intset_mask = 1<<(irq_nr - PB1200_INT_BEGIN);
-+      bcsr->intset = 1<<(irq_nr - PB1200_INT_BEGIN);
-+}
-+
-+inline void pb1200_disable_irq(unsigned int irq_nr)
-+{
-+      bcsr->intclr_mask = 1<<(irq_nr - PB1200_INT_BEGIN);
-+      bcsr->intclr = 1<<(irq_nr - PB1200_INT_BEGIN);
-+}
-+
-+static unsigned int pb1200_startup_irq( unsigned int irq_nr )
-+{
-+      if (++pb1200_cascade_en == 1)
-+      {
-+              request_irq(AU1000_GPIO_7, &pb1200_cascade_handler,
-+                      0, "Pb1200 Cascade", &pb1200_cascade_handler );
-+#ifdef CONFIG_MIPS_PB1200
-+    /* We have a problem with CPLD rev3. Enable a workaround */
-+      if( ((bcsr->whoami & BCSR_WHOAMI_CPLD)>>4) <= 3)
-+      {
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("Pb1200 must be at CPLD rev4. Please have Pb1200\n");
-+              printk("updated to latest revision. This software will not\n");
-+              printk("work on anything less than CPLD rev4\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              printk("\nWARNING!!!\n");
-+              while(1);
-+      }
-+#endif
-+      }
-+      pb1200_enable_irq(irq_nr);
-+      return 0;
-+}
-+
-+static void pb1200_shutdown_irq( unsigned int irq_nr )
-+{
-+      pb1200_disable_irq(irq_nr);
-+      if (--pb1200_cascade_en == 0)
-+      {
-+              free_irq(AU1000_GPIO_7,&pb1200_cascade_handler );
-+      }
-+      return;
-+}
-+
-+static inline void pb1200_mask_and_ack_irq(unsigned int irq_nr)
-+{
-+      pb1200_disable_irq( irq_nr );
-+}
-+
-+static void pb1200_end_irq(unsigned int irq_nr)
-+{
-+      if (!(irq_desc[irq_nr].status & (IRQ_DISABLED|IRQ_INPROGRESS))) {
-+              pb1200_enable_irq(irq_nr);
-+      }
-+}
-+
-+static struct hw_interrupt_type external_irq_type =
-+{
-+#ifdef CONFIG_MIPS_PB1200
-+      "Pb1200 Ext",
-+#endif
-+#ifdef CONFIG_MIPS_DB1200
-+      "Db1200 Ext",
-+#endif
-+      pb1200_startup_irq,
-+      pb1200_shutdown_irq,
-+      pb1200_enable_irq,
-+      pb1200_disable_irq,
-+      pb1200_mask_and_ack_irq,
-+      pb1200_end_irq,
-+      NULL
-+};
-+
-+void _board_init_irq(void)
-+{
-+      int irq_nr;
-+
-+      for (irq_nr = PB1200_INT_BEGIN; irq_nr <= PB1200_INT_END; irq_nr++)
-+      {
-+              irq_desc[irq_nr].handler = &external_irq_type;
-+              pb1200_disable_irq(irq_nr);
-+      }
-+
-+      /* GPIO_7 can not be hooked here, so it is hooked upon first
-+      request of any source attached to the cascade */
-+}
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/mmc_support.c linux-2.4.30-mips/arch/mips/au1000/pb1200/mmc_support.c
---- linux-2.4.30/arch/mips/au1000/pb1200/mmc_support.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1200/mmc_support.c    2005-01-30 09:01:28.000000000 +0100
-@@ -0,0 +1,141 @@
-+/*
-+ * BRIEF MODULE DESCRIPTION
-+ *
-+ *    MMC support routines for PB1200.
-+ *
-+ *
-+ * Copyright (c) 2003-2004 Embedded Edge, LLC.
-+ * Author: Embedded Edge, LLC.
-+ * Contact: dan@embeddededge.com
-+ *
-+ *  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 of the  License, or (at your
-+ *  option) any later version.
-+ *
-+ *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
-+ *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
-+ *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
-+ *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
-+ *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
-+ *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
-+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ *
-+ *  You should have received a copy of the  GNU General Public License along
-+ *  with this program; if not, write  to the Free Software Foundation, Inc.,
-+ *  675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+
-+#include <linux/config.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+
-+#include <asm/irq.h>
-+#include <asm/au1000.h>
-+#include <asm/au1100_mmc.h>
-+
-+#ifdef CONFIG_MIPS_PB1200
-+#include <asm/pb1200.h>
-+#endif
-+
-+#ifdef CONFIG_MIPS_DB1200
-+/* NOTE: DB1200 only has SD0 pinned out and usable */
-+#include <asm/db1200.h>
-+#endif
-+
-+/* SD/MMC controller support functions */
-+
-+/*
-+ * Detect card.
-+ */
-+void mmc_card_inserted(int socket, int *result)
-+{
-+      u16 mask;
-+
-+      if (socket)
-+#ifdef CONFIG_MIPS_DB1200
-+              mask = 0;
-+#else
-+              mask = BCSR_INT_SD1INSERT; 
-+#endif
-+      else
-+              mask = BCSR_INT_SD0INSERT;
-+
-+      *result = ((bcsr->sig_status & mask) != 0);
-+}
-+
-+/*
-+ * Check card write protection.
-+ */
-+void mmc_card_writable(int socket, int *result)
-+{
-+      u16 mask;
-+
-+      if (socket)
-+#ifdef CONFIG_MIPS_DB1200
-+              mask = 0;
-+#else
-+              mask = BCSR_STATUS_SD1WP; 
-+#endif
-+      else
-+              mask = BCSR_STATUS_SD0WP;
-+
-+      /* low means card writable */
-+      if (!(bcsr->status & mask)) {
-+              *result = 1;
-+      } else {
-+              *result = 0;
-+      }
-+}
-+
-+/*
-+ * Apply power to card slot.
-+ */
-+void mmc_power_on(int socket)
-+{
-+      u16 mask;
-+
-+      if (socket)
-+#ifdef CONFIG_MIPS_DB1200
-+              mask = 0;
-+#else
-+              mask = BCSR_BOARD_SD1PWR;
-+#endif
-+      else
-+              mask = BCSR_BOARD_SD0PWR;
-+
-+      bcsr->board |= mask;
-+      au_sync_delay(1);
-+}
-+
-+/*
-+ * Remove power from card slot.
-+ */
-+void mmc_power_off(int socket)
-+{
-+      u16 mask;
-+
-+      if (socket)
-+#ifdef CONFIG_MIPS_DB1200
-+              mask = 0;
-+#else
-+              mask = BCSR_BOARD_SD1PWR;
-+#endif
-+      else
-+              mask = BCSR_BOARD_SD0PWR;
-+
-+      bcsr->board &= ~mask;
-+      au_sync_delay(1);
-+}
-+
-+EXPORT_SYMBOL(mmc_card_inserted);
-+EXPORT_SYMBOL(mmc_card_writable);
-+EXPORT_SYMBOL(mmc_power_on);
-+EXPORT_SYMBOL(mmc_power_off);
-+
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1500/board_setup.c linux-2.4.30-mips/arch/mips/au1000/pb1500/board_setup.c
---- linux-2.4.30/arch/mips/au1000/pb1500/board_setup.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1500/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -62,6 +62,10 @@
-     au_writel(0x00000000, 0xAE00001C);
- }
-+void board_power_off (void)
-+{
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func;
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1550/board_setup.c linux-2.4.30-mips/arch/mips/au1000/pb1550/board_setup.c
---- linux-2.4.30/arch/mips/au1000/pb1550/board_setup.c 2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1550/board_setup.c    2005-03-19 08:17:51.000000000 +0100
-@@ -48,12 +48,31 @@
- extern struct rtc_ops no_rtc_ops;
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+extern struct ide_ops *ide_ops;
-+extern struct ide_ops au1xxx_ide_ops;
-+extern u32 au1xxx_ide_virtbase;
-+extern u64 au1xxx_ide_physbase;
-+extern unsigned int au1xxx_ide_irq;
-+
-+u32 au1xxx_ide_ddma_enable = 0, switch4ddma = 1; // PIO+ddma
-+#endif /* end CONFIG_BLK_DEV_IDE_AU1XXX */
-+
- void board_reset (void)
- {
-     /* Hit BCSR.SYSTEM_CONTROL[SW_RST] */
-       au_writew(au_readw(0xAF00001C) & ~(1<<15), 0xAF00001C);
- }
-+void board_power_off (void)
-+{
-+      /* power off system */
-+      printk("\n** Powering off Pb1550\n");
-+      au_writew(au_readw(0xAF00001C) | (3<<14), 0xAF00001C); 
-+      au_sync();
-+      while(1); /* should not get here */
-+}
-+
- void __init board_setup(void)
- {
-       u32 pin_func;
-@@ -78,5 +97,36 @@
-       au_writel(0, (u32)bcsr|0x10); /* turn off pcmcia power */
-       au_sync();
-+#if defined(CONFIG_AU1XXX_SMC91111)
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+#error "Resource conflict occured. Disable either Ethernet or IDE daughter card."
-+#else
-+#define CPLD_CONTROL (0xAF00000C)
-+      {
-+      /* set up the Static Bus timing */
-+      /* only 396Mhz */
-+      /* reset the DC */
-+      au_writew(au_readw(CPLD_CONTROL) | 0x0f, CPLD_CONTROL);
-+      au_writel(0x00010003, MEM_STCFG0);
-+      au_writel(0x000c00c0, MEM_STCFG2);
-+      au_writel(0x85E1900D, MEM_STTIME2);
-+      }
-+#endif
-+#endif /* end CONFIG_SMC91111 */
-+
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX)
-+      /*
-+       * Iniz IDE parameters
-+       */
-+      ide_ops = &au1xxx_ide_ops;
-+      au1xxx_ide_irq = DAUGHTER_CARD_IRQ;;
-+      au1xxx_ide_physbase = AU1XXX_ATA_PHYS_ADDR;
-+      au1xxx_ide_virtbase = KSEG1ADDR(AU1XXX_ATA_PHYS_ADDR);
-+      /*
-+       * change PIO or PIO+Ddma
-+       * check the GPIO-6 pin condition. pb1550:s15_dot
-+       */
-+      switch4ddma = (au_readl(SYS_PINSTATERD) & (1 << 6)) ? 1 : 0;
-+#endif
-       printk("AMD Alchemy Pb1550 Board\n");
- }
-diff -Nur linux-2.4.30/arch/mips/au1000/pb1550/irqmap.c linux-2.4.30-mips/arch/mips/au1000/pb1550/irqmap.c
---- linux-2.4.30/arch/mips/au1000/pb1550/irqmap.c      2005-01-19 15:09:26.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/au1000/pb1550/irqmap.c 2005-01-30 09:01:28.000000000 +0100
-@@ -50,6 +50,9 @@
- au1xxx_irq_map_t au1xxx_irq_map[] = {
-       { AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 },
-       { AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 },
-+#ifdef CONFIG_AU1XXX_SMC91111
-+      { AU1000_GPIO_3, INTC_INT_LOW_LEVEL, 0 },
-+#endif
- };
- int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
-diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-mips/arch/mips/config-shared.in
---- linux-2.4.30/arch/mips/config-shared.in    2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/config-shared.in       2005-01-30 09:01:26.000000000 +0100
-@@ -21,16 +21,19 @@
- comment 'Machine selection'
- dep_bool 'Support for Acer PICA 1 chipset (EXPERIMENTAL)' CONFIG_ACER_PICA_61 $CONFIG_EXPERIMENTAL
- dep_bool 'Support for Alchemy Bosporus board' CONFIG_MIPS_BOSPORUS $CONFIG_MIPS32
-+dep_bool 'Support for FIC Multimedia Player board' CONFIG_MIPS_FICMMP $CONFIG_MIPS32
- dep_bool 'Support for Alchemy Mirage board' CONFIG_MIPS_MIRAGE $CONFIG_MIPS32
- dep_bool 'Support for Alchemy Db1000 board' CONFIG_MIPS_DB1000 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy Db1100 board' CONFIG_MIPS_DB1100 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy Db1500 board' CONFIG_MIPS_DB1500 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy Db1550 board' CONFIG_MIPS_DB1550 $CONFIG_MIPS32
-+dep_bool 'Support for Alchemy Db1200 board' CONFIG_MIPS_DB1200 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy PB1000 board' CONFIG_MIPS_PB1000 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy PB1100 board' CONFIG_MIPS_PB1100 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy PB1500 board' CONFIG_MIPS_PB1500 $CONFIG_MIPS32
--dep_bool 'Support for Alchemy Hydrogen3 board' CONFIG_MIPS_HYDROGEN3 $CONFIG_MIPS32
- dep_bool 'Support for Alchemy PB1550 board' CONFIG_MIPS_PB1550 $CONFIG_MIPS32
-+dep_bool 'Support for Alchemy PB1200 board' CONFIG_MIPS_PB1200 $CONFIG_MIPS32
-+dep_bool 'Support for Alchemy Hydrogen3 board' CONFIG_MIPS_HYDROGEN3 $CONFIG_MIPS32
- dep_bool 'Support for MyCable XXS1500 board' CONFIG_MIPS_XXS1500 $CONFIG_MIPS32
- dep_bool 'Support for 4G Systems MTX-1 board' CONFIG_MIPS_MTX1 $CONFIG_MIPS32
- dep_bool 'Support for Cogent CSB250 board' CONFIG_COGENT_CSB250 $CONFIG_MIPS32
-@@ -249,6 +252,12 @@
-    define_bool CONFIG_PC_KEYB y
-    define_bool CONFIG_NONCOHERENT_IO y
- fi
-+if [ "$CONFIG_MIPS_FICMMP" = "y" ]; then
-+   define_bool CONFIG_SOC_AU1X00 y
-+   define_bool CONFIG_SOC_AU1200 y
-+   define_bool CONFIG_NONCOHERENT_IO y
-+   define_bool CONFIG_PC_KEYB y
-+fi
- if [ "$CONFIG_MIPS_BOSPORUS" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
-    define_bool CONFIG_SOC_AU1500 y
-@@ -263,6 +272,12 @@
-    define_bool CONFIG_SWAP_IO_SPACE_W y
-    define_bool CONFIG_SWAP_IO_SPACE_L y
- fi
-+if [ "$CONFIG_MIPS_PB1500" = "y" ]; then
-+   define_bool CONFIG_SOC_AU1X00 y
-+   define_bool CONFIG_SOC_AU1500 y
-+   define_bool CONFIG_NONCOHERENT_IO y
-+   define_bool CONFIG_PC_KEYB y
-+fi
- if [ "$CONFIG_MIPS_PB1100" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
-    define_bool CONFIG_SOC_AU1100 y
-@@ -271,9 +286,15 @@
-    define_bool CONFIG_SWAP_IO_SPACE_W y
-    define_bool CONFIG_SWAP_IO_SPACE_L y
- fi
--if [ "$CONFIG_MIPS_PB1500" = "y" ]; then
-+if [ "$CONFIG_MIPS_PB1550" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
--   define_bool CONFIG_SOC_AU1500 y
-+   define_bool CONFIG_SOC_AU1550 y
-+   define_bool CONFIG_NONCOHERENT_IO n
-+   define_bool CONFIG_PC_KEYB y
-+fi
-+if [ "$CONFIG_MIPS_PB1200" = "y" ]; then
-+   define_bool CONFIG_SOC_AU1X00 y
-+   define_bool CONFIG_SOC_AU1200 y
-    define_bool CONFIG_NONCOHERENT_IO y
-    define_bool CONFIG_PC_KEYB y
- fi
-@@ -290,18 +311,24 @@
-    define_bool CONFIG_NONCOHERENT_IO y
-    define_bool CONFIG_PC_KEYB y
- fi
-+if [ "$CONFIG_MIPS_DB1100" = "y" ]; then
-+   define_bool CONFIG_SOC_AU1X00 y
-+   define_bool CONFIG_SOC_AU1100 y
-+   define_bool CONFIG_NONCOHERENT_IO y
-+   define_bool CONFIG_PC_KEYB y
-+   define_bool CONFIG_SWAP_IO_SPACE y
-+fi
- if [ "$CONFIG_MIPS_DB1550" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
-    define_bool CONFIG_SOC_AU1550 y
-    define_bool CONFIG_NONCOHERENT_IO y
-    define_bool CONFIG_PC_KEYB y
- fi
--if [ "$CONFIG_MIPS_DB1100" = "y" ]; then
-+if [ "$CONFIG_MIPS_DB1200" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
--   define_bool CONFIG_SOC_AU1100 y
-+   define_bool CONFIG_SOC_AU1200 y
-    define_bool CONFIG_NONCOHERENT_IO y
-    define_bool CONFIG_PC_KEYB y
--   define_bool CONFIG_SWAP_IO_SPACE y
- fi
- if [ "$CONFIG_MIPS_HYDROGEN3" = "y" ]; then
-    define_bool CONFIG_SOC_AU1X00 y
-@@ -327,12 +354,6 @@
-    define_bool CONFIG_NONCOHERENT_IO y
-    define_bool CONFIG_PC_KEYB y
- fi
--if [ "$CONFIG_MIPS_PB1550" = "y" ]; then
--   define_bool CONFIG_SOC_AU1X00 y
--   define_bool CONFIG_SOC_AU1550 y
--   define_bool CONFIG_NONCOHERENT_IO n
--   define_bool CONFIG_PC_KEYB y
--fi
- if [ "$CONFIG_MIPS_COBALT" = "y" ]; then
-    define_bool CONFIG_BOOT_ELF32 y
-    define_bool CONFIG_COBALT_LCD y
-@@ -729,6 +750,13 @@
-      "$CONFIG_MIPS_PB1000" = "y" -o \
-      "$CONFIG_MIPS_PB1100" = "y" -o \
-      "$CONFIG_MIPS_PB1500" = "y" -o \
-+     "$CONFIG_MIPS_PB1550" = "y" -o \
-+     "$CONFIG_MIPS_PB1200" = "y" -o \
-+     "$CONFIG_MIPS_DB1000" = "y" -o \
-+     "$CONFIG_MIPS_DB1100" = "y" -o \
-+     "$CONFIG_MIPS_DB1500" = "y" -o \
-+     "$CONFIG_MIPS_DB1550" = "y" -o \
-+     "$CONFIG_MIPS_DB1200" = "y" -o \
-      "$CONFIG_NEC_OSPREY" = "y" -o \
-      "$CONFIG_NEC_EAGLE" = "y" -o \
-      "$CONFIG_NINO" = "y" -o \
-diff -Nur linux-2.4.30/arch/mips/defconfig linux-2.4.30-mips/arch/mips/defconfig
---- linux-2.4.30/arch/mips/defconfig   2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -235,11 +235,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -319,9 +314,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -465,7 +462,6 @@
- # CONFIG_SERIAL is not set
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-atlas linux-2.4.30-mips/arch/mips/defconfig-atlas
---- linux-2.4.30/arch/mips/defconfig-atlas     2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-atlas        2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -235,11 +235,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -317,9 +312,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -528,7 +525,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-bosporus linux-2.4.30-mips/arch/mips/defconfig-bosporus
---- linux-2.4.30/arch/mips/defconfig-bosporus  2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-bosporus     2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -208,9 +208,7 @@
- CONFIG_MTD_BOSPORUS=y
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -229,7 +227,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -373,11 +370,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -457,9 +449,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -681,7 +675,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-capcella linux-2.4.30-mips/arch/mips/defconfig-capcella
---- linux-2.4.30/arch/mips/defconfig-capcella  2005-01-19 15:09:27.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-capcella     2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -228,11 +228,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -472,7 +467,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-cobalt linux-2.4.30-mips/arch/mips/defconfig-cobalt
---- linux-2.4.30/arch/mips/defconfig-cobalt    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-cobalt       2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -222,11 +222,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -505,7 +500,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=16
-diff -Nur linux-2.4.30/arch/mips/defconfig-csb250 linux-2.4.30-mips/arch/mips/defconfig-csb250
---- linux-2.4.30/arch/mips/defconfig-csb250    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-csb250       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- CONFIG_COGENT_CSB250=y
-@@ -268,11 +268,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -556,7 +551,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-db1000 linux-2.4.30-mips/arch/mips/defconfig-db1000
---- linux-2.4.30/arch/mips/defconfig-db1000    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-db1000       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -214,11 +214,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--CONFIG_MTD_DB1X00=y
--CONFIG_MTD_DB1X00_BOOT=y
--CONFIG_MTD_DB1X00_USER=y
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -237,7 +233,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -342,11 +337,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -636,7 +626,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-db1100 linux-2.4.30-mips/arch/mips/defconfig-db1100
---- linux-2.4.30/arch/mips/defconfig-db1100    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-db1100       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -214,11 +214,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--CONFIG_MTD_DB1X00=y
--# CONFIG_MTD_DB1X00_BOOT is not set
--CONFIG_MTD_DB1X00_USER=y
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -237,7 +233,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -342,11 +337,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -636,7 +626,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-@@ -884,6 +873,7 @@
- # CONFIG_FB_PM2 is not set
- # CONFIG_FB_PM3 is not set
- # CONFIG_FB_CYBER2000 is not set
-+CONFIG_FB_AU1100=y
- # CONFIG_FB_MATROX is not set
- # CONFIG_FB_ATY is not set
- # CONFIG_FB_RADEON is not set
-@@ -895,7 +885,6 @@
- # CONFIG_FB_VOODOO1 is not set
- # CONFIG_FB_TRIDENT is not set
- # CONFIG_FB_E1356 is not set
--CONFIG_FB_AU1100=y
- # CONFIG_FB_IT8181 is not set
- # CONFIG_FB_VIRTUAL is not set
- CONFIG_FBCON_ADVANCED=y
-diff -Nur linux-2.4.30/arch/mips/defconfig-db1200 linux-2.4.30-mips/arch/mips/defconfig-db1200
---- linux-2.4.30/arch/mips/defconfig-db1200    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-db1200       2005-03-18 13:13:21.000000000 +0100
-@@ -0,0 +1,1032 @@
-+#
-+# Automatically generated make config: don't edit
-+#
-+CONFIG_MIPS=y
-+CONFIG_MIPS32=y
-+# CONFIG_MIPS64 is not set
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+# CONFIG_MODVERSIONS is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Machine selection
-+#
-+# CONFIG_ACER_PICA_61 is not set
-+# CONFIG_MIPS_BOSPORUS is not set
-+# CONFIG_MIPS_MIRAGE is not set
-+# CONFIG_MIPS_DB1000 is not set
-+# CONFIG_MIPS_DB1100 is not set
-+# CONFIG_MIPS_DB1500 is not set
-+# CONFIG_MIPS_DB1550 is not set
-+# CONFIG_MIPS_PB1000 is not set
-+# CONFIG_MIPS_PB1100 is not set
-+# CONFIG_MIPS_PB1500 is not set
-+# CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
-+# CONFIG_MIPS_XXS1500 is not set
-+# CONFIG_MIPS_MTX1 is not set
-+# CONFIG_COGENT_CSB250 is not set
-+# CONFIG_BAGET_MIPS is not set
-+# CONFIG_CASIO_E55 is not set
-+# CONFIG_MIPS_COBALT is not set
-+# CONFIG_DECSTATION is not set
-+# CONFIG_MIPS_EV64120 is not set
-+# CONFIG_MIPS_EV96100 is not set
-+# CONFIG_MIPS_IVR is not set
-+# CONFIG_HP_LASERJET is not set
-+# CONFIG_IBM_WORKPAD is not set
-+# CONFIG_LASAT is not set
-+# CONFIG_MIPS_ITE8172 is not set
-+# CONFIG_MIPS_ATLAS is not set
-+# CONFIG_MIPS_MAGNUM_4000 is not set
-+# CONFIG_MIPS_MALTA is not set
-+# CONFIG_MIPS_SEAD is not set
-+# CONFIG_MOMENCO_OCELOT is not set
-+# CONFIG_MOMENCO_OCELOT_G is not set
-+# CONFIG_MOMENCO_OCELOT_C is not set
-+# CONFIG_MOMENCO_JAGUAR_ATX is not set
-+# CONFIG_PMC_BIG_SUR is not set
-+# CONFIG_PMC_STRETCH is not set
-+# CONFIG_PMC_YOSEMITE is not set
-+# CONFIG_DDB5074 is not set
-+# CONFIG_DDB5476 is not set
-+# CONFIG_DDB5477 is not set
-+# CONFIG_NEC_OSPREY is not set
-+# CONFIG_NEC_EAGLE is not set
-+# CONFIG_OLIVETTI_M700 is not set
-+# CONFIG_NINO is not set
-+# CONFIG_SGI_IP22 is not set
-+# CONFIG_SGI_IP27 is not set
-+# CONFIG_SIBYTE_SB1xxx_SOC is not set
-+# CONFIG_SNI_RM200_PCI is not set
-+# CONFIG_TANBAC_TB0226 is not set
-+# CONFIG_TANBAC_TB0229 is not set
-+# CONFIG_TOSHIBA_JMR3927 is not set
-+# CONFIG_TOSHIBA_RBTX4927 is not set
-+# CONFIG_VICTOR_MPC30X is not set
-+# CONFIG_ZAO_CAPCELLA is not set
-+# CONFIG_HIGHMEM is not set
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-+# CONFIG_MIPS_AU1000 is not set
-+
-+#
-+# CPU selection
-+#
-+CONFIG_CPU_MIPS32=y
-+# CONFIG_CPU_MIPS64 is not set
-+# CONFIG_CPU_R3000 is not set
-+# CONFIG_CPU_TX39XX is not set
-+# CONFIG_CPU_VR41XX is not set
-+# CONFIG_CPU_R4300 is not set
-+# CONFIG_CPU_R4X00 is not set
-+# CONFIG_CPU_TX49XX is not set
-+# CONFIG_CPU_R5000 is not set
-+# CONFIG_CPU_R5432 is not set
-+# CONFIG_CPU_R6000 is not set
-+# CONFIG_CPU_NEVADA is not set
-+# CONFIG_CPU_R8000 is not set
-+# CONFIG_CPU_R10000 is not set
-+# CONFIG_CPU_RM7000 is not set
-+# CONFIG_CPU_RM9000 is not set
-+# CONFIG_CPU_SB1 is not set
-+CONFIG_PAGE_SIZE_4KB=y
-+# CONFIG_PAGE_SIZE_16KB is not set
-+# CONFIG_PAGE_SIZE_64KB is not set
-+CONFIG_CPU_HAS_PREFETCH=y
-+# CONFIG_VTAG_ICACHE is not set
-+CONFIG_64BIT_PHYS_ADDR=y
-+# CONFIG_CPU_ADVANCED is not set
-+CONFIG_CPU_HAS_LLSC=y
-+# CONFIG_CPU_HAS_LLDSCD is not set
-+# CONFIG_CPU_HAS_WB is not set
-+CONFIG_CPU_HAS_SYNC=y
-+
-+#
-+# General setup
-+#
-+CONFIG_CPU_LITTLE_ENDIAN=y
-+# CONFIG_BUILD_ELF64 is not set
-+CONFIG_NET=y
-+CONFIG_PCI=y
-+CONFIG_PCI_NEW=y
-+CONFIG_PCI_AUTO=y
-+# CONFIG_PCI_NAMES is not set
-+# CONFIG_ISA is not set
-+# CONFIG_TC is not set
-+# CONFIG_MCA is not set
-+# CONFIG_SBUS is not set
-+CONFIG_HOTPLUG=y
-+
-+#
-+# PCMCIA/CardBus support
-+#
-+CONFIG_PCMCIA=m
-+# CONFIG_CARDBUS is not set
-+# CONFIG_TCIC is not set
-+# CONFIG_I82092 is not set
-+# CONFIG_I82365 is not set
-+
-+#
-+# PCI Hotplug Support
-+#
-+# CONFIG_HOTPLUG_PCI is not set
-+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
-+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-+# CONFIG_HOTPLUG_PCI_SHPC is not set
-+# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set
-+# CONFIG_HOTPLUG_PCI_PCIE is not set
-+# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
-+CONFIG_SYSVIPC=y
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_SYSCTL=y
-+CONFIG_KCORE_ELF=y
-+# CONFIG_KCORE_AOUT is not set
-+# CONFIG_BINFMT_AOUT is not set
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_MIPS32_COMPAT is not set
-+# CONFIG_MIPS32_O32 is not set
-+# CONFIG_MIPS32_N32 is not set
-+# CONFIG_BINFMT_ELF32 is not set
-+# CONFIG_BINFMT_MISC is not set
-+# CONFIG_OOM_KILLER is not set
-+CONFIG_CMDLINE_BOOL=y
-+CONFIG_CMDLINE="mem=96M"
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+# CONFIG_MTD is not set
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Plug and Play configuration
-+#
-+# CONFIG_PNP is not set
-+# CONFIG_ISAPNP is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_FD is not set
-+# CONFIG_BLK_DEV_XD is not set
-+# CONFIG_PARIDE is not set
-+# CONFIG_BLK_CPQ_DA is not set
-+# CONFIG_BLK_CPQ_CISS_DA is not set
-+# CONFIG_CISS_SCSI_TAPE is not set
-+# CONFIG_CISS_MONITOR_THREAD is not set
-+# CONFIG_BLK_DEV_DAC960 is not set
-+# CONFIG_BLK_DEV_UMEM is not set
-+# CONFIG_BLK_DEV_SX8 is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_RAM is not set
-+# CONFIG_BLK_DEV_INITRD is not set
-+# CONFIG_BLK_STATS is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+# CONFIG_BLK_DEV_MD is not set
-+# CONFIG_MD_LINEAR is not set
-+# CONFIG_MD_RAID0 is not set
-+# CONFIG_MD_RAID1 is not set
-+# CONFIG_MD_RAID5 is not set
-+# CONFIG_MD_MULTIPATH is not set
-+# CONFIG_BLK_DEV_LVM is not set
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+# CONFIG_NETLINK_DEV is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_FILTER=y
-+CONFIG_UNIX=y
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_PNP=y
-+# CONFIG_IP_PNP_DHCP is not set
-+CONFIG_IP_PNP_BOOTP=y
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_INET_ECN is not set
-+# CONFIG_SYN_COOKIES is not set
-+
-+#
-+#   IP: Netfilter Configuration
-+#
-+# CONFIG_IP_NF_CONNTRACK is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+# CONFIG_IP_NF_IPTABLES is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-+# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-+
-+#
-+#   IP: Virtual Server Configuration
-+#
-+# CONFIG_IP_VS is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_KHTTPD is not set
-+
-+#
-+#    SCTP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_ATM is not set
-+# CONFIG_VLAN_8021Q is not set
-+
-+#
-+#  
-+#
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_LLC is not set
-+# CONFIG_NET_DIVERT is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_FASTROUTE is not set
-+# CONFIG_NET_HW_FLOWCONTROL is not set
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+
-+#
-+# Telephony Support
-+#
-+# CONFIG_PHONE is not set
-+# CONFIG_PHONE_IXJ is not set
-+# CONFIG_PHONE_IXJ_PCMCIA is not set
-+
-+#
-+# ATA/IDE/MFM/RLL support
-+#
-+CONFIG_IDE=y
-+
-+#
-+# IDE, ATA and ATAPI Block devices
-+#
-+CONFIG_BLK_DEV_IDE=y
-+
-+#
-+# Please see Documentation/ide.txt for help/info on IDE drives
-+#
-+# CONFIG_BLK_DEV_HD_IDE is not set
-+# CONFIG_BLK_DEV_HD is not set
-+# CONFIG_BLK_DEV_IDE_SATA is not set
-+CONFIG_BLK_DEV_IDEDISK=y
-+CONFIG_IDEDISK_MULTI_MODE=y
-+CONFIG_IDEDISK_STROKE=y
-+CONFIG_BLK_DEV_IDECS=m
-+# CONFIG_BLK_DEV_DELKIN is not set
-+# CONFIG_BLK_DEV_IDECD is not set
-+# CONFIG_BLK_DEV_IDETAPE is not set
-+# CONFIG_BLK_DEV_IDEFLOPPY is not set
-+# CONFIG_BLK_DEV_IDESCSI is not set
-+# CONFIG_IDE_TASK_IOCTL is not set
-+
-+#
-+# IDE chipset support/bugfixes
-+#
-+# CONFIG_BLK_DEV_CMD640 is not set
-+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-+# CONFIG_BLK_DEV_ISAPNP is not set
-+# CONFIG_BLK_DEV_IDEPCI is not set
-+# CONFIG_IDE_CHIPSETS is not set
-+# CONFIG_IDEDMA_AUTO is not set
-+# CONFIG_DMA_NONPCI is not set
-+# CONFIG_BLK_DEV_ATARAID is not set
-+# CONFIG_BLK_DEV_ATARAID_PDC is not set
-+# CONFIG_BLK_DEV_ATARAID_HPT is not set
-+# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
-+# CONFIG_BLK_DEV_ATARAID_SII is not set
-+
-+#
-+# SCSI support
-+#
-+CONFIG_SCSI=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+CONFIG_SD_EXTRA_DEVS=40
-+CONFIG_CHR_DEV_ST=y
-+# CONFIG_CHR_DEV_OSST is not set
-+CONFIG_BLK_DEV_SR=y
-+# CONFIG_BLK_DEV_SR_VENDOR is not set
-+CONFIG_SR_EXTRA_DEVS=2
-+# CONFIG_CHR_DEV_SG is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_DEBUG_QUEUES is not set
-+# CONFIG_SCSI_MULTI_LUN is not set
-+CONFIG_SCSI_CONSTANTS=y
-+# CONFIG_SCSI_LOGGING is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-+# CONFIG_SCSI_7000FASST is not set
-+# CONFIG_SCSI_ACARD is not set
-+# CONFIG_SCSI_AHA152X is not set
-+# CONFIG_SCSI_AHA1542 is not set
-+# CONFIG_SCSI_AHA1740 is not set
-+# CONFIG_SCSI_AACRAID is not set
-+# CONFIG_SCSI_AIC7XXX is not set
-+# CONFIG_SCSI_AIC79XX is not set
-+# CONFIG_SCSI_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ADVANSYS is not set
-+# CONFIG_SCSI_IN2000 is not set
-+# CONFIG_SCSI_AM53C974 is not set
-+# CONFIG_SCSI_MEGARAID is not set
-+# CONFIG_SCSI_MEGARAID2 is not set
-+# CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
-+# CONFIG_SCSI_SATA_SVW is not set
-+# CONFIG_SCSI_ATA_PIIX is not set
-+# CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
-+# CONFIG_SCSI_SATA_PROMISE is not set
-+# CONFIG_SCSI_SATA_SX4 is not set
-+# CONFIG_SCSI_SATA_SIL is not set
-+# CONFIG_SCSI_SATA_SIS is not set
-+# CONFIG_SCSI_SATA_ULI is not set
-+# CONFIG_SCSI_SATA_VIA is not set
-+# CONFIG_SCSI_SATA_VITESSE is not set
-+# CONFIG_SCSI_BUSLOGIC is not set
-+# CONFIG_SCSI_CPQFCTS is not set
-+# CONFIG_SCSI_DMX3191D is not set
-+# CONFIG_SCSI_DTC3280 is not set
-+# CONFIG_SCSI_EATA is not set
-+# CONFIG_SCSI_EATA_DMA is not set
-+# CONFIG_SCSI_EATA_PIO is not set
-+# CONFIG_SCSI_FUTURE_DOMAIN is not set
-+# CONFIG_SCSI_GDTH is not set
-+# CONFIG_SCSI_GENERIC_NCR5380 is not set
-+# CONFIG_SCSI_INITIO is not set
-+# CONFIG_SCSI_INIA100 is not set
-+# CONFIG_SCSI_NCR53C406A is not set
-+# CONFIG_SCSI_NCR53C7xx is not set
-+# CONFIG_SCSI_SYM53C8XX_2 is not set
-+# CONFIG_SCSI_NCR53C8XX is not set
-+# CONFIG_SCSI_SYM53C8XX is not set
-+# CONFIG_SCSI_PAS16 is not set
-+# CONFIG_SCSI_PCI2000 is not set
-+# CONFIG_SCSI_PCI2220I is not set
-+# CONFIG_SCSI_PSI240I is not set
-+# CONFIG_SCSI_QLOGIC_FAS is not set
-+# CONFIG_SCSI_QLOGIC_ISP is not set
-+# CONFIG_SCSI_QLOGIC_FC is not set
-+# CONFIG_SCSI_QLOGIC_1280 is not set
-+# CONFIG_SCSI_SIM710 is not set
-+# CONFIG_SCSI_SYM53C416 is not set
-+# CONFIG_SCSI_DC390T is not set
-+# CONFIG_SCSI_T128 is not set
-+# CONFIG_SCSI_U14_34F is not set
-+# CONFIG_SCSI_NSP32 is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# PCMCIA SCSI adapter support
-+#
-+# CONFIG_SCSI_PCMCIA is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+# CONFIG_FUSION_BOOT is not set
-+# CONFIG_FUSION_ISENSE is not set
-+# CONFIG_FUSION_CTL is not set
-+# CONFIG_FUSION_LAN is not set
-+
-+#
-+# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-+#
-+# CONFIG_IEEE1394 is not set
-+
-+#
-+# I2O device support
-+#
-+# CONFIG_I2O is not set
-+# CONFIG_I2O_PCI is not set
-+# CONFIG_I2O_BLOCK is not set
-+# CONFIG_I2O_LAN is not set
-+# CONFIG_I2O_SCSI is not set
-+# CONFIG_I2O_PROC is not set
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+
-+#
-+# ARCnet devices
-+#
-+# CONFIG_ARCNET is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_ETHERTAP is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+# CONFIG_SUNLANCE is not set
-+# CONFIG_HAPPYMEAL is not set
-+# CONFIG_SUNBMAC is not set
-+# CONFIG_SUNQE is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_LANCE is not set
-+# CONFIG_NET_VENDOR_SMC is not set
-+# CONFIG_NET_VENDOR_RACAL is not set
-+# CONFIG_HP100 is not set
-+# CONFIG_NET_ISA is not set
-+# CONFIG_NET_PCI is not set
-+# CONFIG_NET_POCKET is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+# CONFIG_ACENIC is not set
-+# CONFIG_DL2K is not set
-+# CONFIG_E1000 is not set
-+# CONFIG_MYRI_SBUS is not set
-+# CONFIG_NS83820 is not set
-+# CONFIG_HAMACHI is not set
-+# CONFIG_YELLOWFIN is not set
-+# CONFIG_R8169 is not set
-+# CONFIG_SK98LIN is not set
-+# CONFIG_TIGON3 is not set
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PLIP is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+# CONFIG_NET_RADIO is not set
-+
-+#
-+# Token Ring devices
-+#
-+# CONFIG_TR is not set
-+# CONFIG_NET_FC is not set
-+# CONFIG_RCPCI is not set
-+# CONFIG_SHAPER is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+
-+#
-+# PCMCIA network device support
-+#
-+# CONFIG_NET_PCMCIA is not set
-+
-+#
-+# Amateur Radio support
-+#
-+# CONFIG_HAMRADIO is not set
-+
-+#
-+# IrDA (infrared) support
-+#
-+# CONFIG_IRDA is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input core support
-+#
-+CONFIG_INPUT=y
-+CONFIG_INPUT_KEYBDEV=y
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_UINPUT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+# CONFIG_VT_CONSOLE is not set
-+# CONFIG_SERIAL is not set
-+# CONFIG_SERIAL_EXTENDED is not set
-+CONFIG_SERIAL_NONSTANDARD=y
-+# CONFIG_COMPUTONE is not set
-+# CONFIG_ROCKETPORT is not set
-+# CONFIG_CYCLADES is not set
-+# CONFIG_DIGIEPCA is not set
-+# CONFIG_DIGI is not set
-+# CONFIG_ESPSERIAL is not set
-+# CONFIG_MOXA_INTELLIO is not set
-+# CONFIG_MOXA_SMARTIO is not set
-+# CONFIG_ISI is not set
-+# CONFIG_SYNCLINK is not set
-+# CONFIG_SYNCLINKMP is not set
-+# CONFIG_N_HDLC is not set
-+# CONFIG_RISCOM8 is not set
-+# CONFIG_SPECIALIX is not set
-+# CONFIG_SX is not set
-+# CONFIG_RIO is not set
-+# CONFIG_STALDRV is not set
-+# CONFIG_SERIAL_TX3912 is not set
-+# CONFIG_SERIAL_TX3912_CONSOLE is not set
-+# CONFIG_SERIAL_TXX9 is not set
-+# CONFIG_SERIAL_TXX9_CONSOLE is not set
-+# CONFIG_TXX927_SERIAL is not set
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_UNIX98_PTY_COUNT=256
-+
-+#
-+# I2C support
-+#
-+# CONFIG_I2C is not set
-+
-+#
-+# Mice
-+#
-+# CONFIG_BUSMOUSE is not set
-+# CONFIG_MOUSE is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_GAMEPORT is not set
-+# CONFIG_INPUT_NS558 is not set
-+# CONFIG_INPUT_LIGHTNING is not set
-+# CONFIG_INPUT_PCIGAME is not set
-+# CONFIG_INPUT_CS461X is not set
-+# CONFIG_INPUT_EMU10K1 is not set
-+# CONFIG_INPUT_SERIO is not set
-+# CONFIG_INPUT_SERPORT is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_ANALOG is not set
-+# CONFIG_INPUT_A3D is not set
-+# CONFIG_INPUT_ADI is not set
-+# CONFIG_INPUT_COBRA is not set
-+# CONFIG_INPUT_GF2K is not set
-+# CONFIG_INPUT_GRIP is not set
-+# CONFIG_INPUT_INTERACT is not set
-+# CONFIG_INPUT_TMDC is not set
-+# CONFIG_INPUT_SIDEWINDER is not set
-+# CONFIG_INPUT_IFORCE_USB is not set
-+# CONFIG_INPUT_IFORCE_232 is not set
-+# CONFIG_INPUT_WARRIOR is not set
-+# CONFIG_INPUT_MAGELLAN is not set
-+# CONFIG_INPUT_SPACEORB is not set
-+# CONFIG_INPUT_SPACEBALL is not set
-+# CONFIG_INPUT_STINGER is not set
-+# CONFIG_INPUT_DB9 is not set
-+# CONFIG_INPUT_GAMECON is not set
-+# CONFIG_INPUT_TURBOGRAFX is not set
-+# CONFIG_QIC02_TAPE is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_IPMI_PANIC_EVENT is not set
-+# CONFIG_IPMI_DEVICE_INTERFACE is not set
-+# CONFIG_IPMI_KCS is not set
-+# CONFIG_IPMI_WATCHDOG is not set
-+
-+#
-+# Watchdog Cards
-+#
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_SCx200 is not set
-+# CONFIG_SCx200_GPIO is not set
-+# CONFIG_AMD_PM768 is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_RTC is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+
-+#
-+# Ftape, the floppy tape device driver
-+#
-+# CONFIG_FTAPE is not set
-+# CONFIG_AGP is not set
-+
-+#
-+# Direct Rendering Manager (XFree86 DRI support)
-+#
-+# CONFIG_DRM is not set
-+
-+#
-+# PCMCIA character devices
-+#
-+# CONFIG_PCMCIA_SERIAL_CS is not set
-+# CONFIG_SYNCLINK_CS is not set
-+
-+#
-+# File systems
-+#
-+# CONFIG_QUOTA is not set
-+# CONFIG_QFMT_V2 is not set
-+CONFIG_AUTOFS_FS=y
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_REISERFS_CHECK is not set
-+# CONFIG_REISERFS_PROC_INFO is not set
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_ADFS_FS_RW is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BEFS_DEBUG is not set
-+# CONFIG_BFS_FS is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+# CONFIG_UMSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS_FS is not set
-+# CONFIG_JFFS2_FS is not set
-+# CONFIG_CRAMFS is not set
-+CONFIG_TMPFS=y
-+CONFIG_RAMFS=y
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_JOLIET is not set
-+# CONFIG_ZISOFS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_JFS_DEBUG is not set
-+# CONFIG_JFS_STATISTICS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_NTFS_FS is not set
-+# CONFIG_NTFS_RW is not set
-+# CONFIG_HPFS_FS is not set
-+CONFIG_PROC_FS=y
-+# CONFIG_DEVFS_FS is not set
-+# CONFIG_DEVFS_MOUNT is not set
-+# CONFIG_DEVFS_DEBUG is not set
-+CONFIG_DEVPTS_FS=y
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_QNX4FS_RW is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_EXT2_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UDF_FS is not set
-+# CONFIG_UDF_RW is not set
-+# CONFIG_UFS_FS is not set
-+# CONFIG_UFS_FS_WRITE is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_XFS_QUOTA is not set
-+# CONFIG_XFS_RT is not set
-+# CONFIG_XFS_TRACE is not set
-+# CONFIG_XFS_DEBUG is not set
-+
-+#
-+# Network File Systems
-+#
-+# CONFIG_CODA_FS is not set
-+# CONFIG_INTERMEZZO_FS is not set
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_DIRECTIO is not set
-+CONFIG_ROOT_NFS=y
-+# CONFIG_NFSD is not set
-+# CONFIG_NFSD_V3 is not set
-+# CONFIG_NFSD_TCP is not set
-+CONFIG_SUNRPC=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+# CONFIG_SMB_FS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_NCPFS_PACKET_SIGNING is not set
-+# CONFIG_NCPFS_IOCTL_LOCKING is not set
-+# CONFIG_NCPFS_STRONG is not set
-+# CONFIG_NCPFS_NFS_NS is not set
-+# CONFIG_NCPFS_OS2_NS is not set
-+# CONFIG_NCPFS_SMALLDOS is not set
-+# CONFIG_NCPFS_NLS is not set
-+# CONFIG_NCPFS_EXTRAS is not set
-+# CONFIG_ZISOFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_SMB_NLS is not set
-+CONFIG_NLS=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+# CONFIG_NLS_CODEPAGE_437 is not set
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ISO8859_1 is not set
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Console drivers
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+# CONFIG_MDA_CONSOLE is not set
-+
-+#
-+# Frame-buffer support
-+#
-+CONFIG_FB=y
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FB_RIVA is not set
-+# CONFIG_FB_CLGEN is not set
-+# CONFIG_FB_PM2 is not set
-+# CONFIG_FB_PM3 is not set
-+# CONFIG_FB_CYBER2000 is not set
-+# CONFIG_FB_MATROX is not set
-+# CONFIG_FB_ATY is not set
-+# CONFIG_FB_RADEON is not set
-+# CONFIG_FB_ATY128 is not set
-+# CONFIG_FB_INTEL is not set
-+# CONFIG_FB_SIS is not set
-+# CONFIG_FB_NEOMAGIC is not set
-+# CONFIG_FB_3DFX is not set
-+# CONFIG_FB_VOODOO1 is not set
-+# CONFIG_FB_TRIDENT is not set
-+# CONFIG_FB_E1356 is not set
-+# CONFIG_FB_IT8181 is not set
-+# CONFIG_FB_VIRTUAL is not set
-+CONFIG_FBCON_ADVANCED=y
-+# CONFIG_FBCON_MFB is not set
-+# CONFIG_FBCON_CFB2 is not set
-+# CONFIG_FBCON_CFB4 is not set
-+# CONFIG_FBCON_CFB8 is not set
-+CONFIG_FBCON_CFB16=y
-+# CONFIG_FBCON_CFB24 is not set
-+CONFIG_FBCON_CFB32=y
-+# CONFIG_FBCON_AFB is not set
-+# CONFIG_FBCON_ILBM is not set
-+# CONFIG_FBCON_IPLAN2P2 is not set
-+# CONFIG_FBCON_IPLAN2P4 is not set
-+# CONFIG_FBCON_IPLAN2P8 is not set
-+# CONFIG_FBCON_MAC is not set
-+# CONFIG_FBCON_VGA_PLANES is not set
-+# CONFIG_FBCON_VGA is not set
-+# CONFIG_FBCON_HGA is not set
-+# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-+CONFIG_FBCON_FONTS=y
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+
-+#
-+# Sound
-+#
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_ALI5455 is not set
-+# CONFIG_SOUND_BT878 is not set
-+# CONFIG_SOUND_CMPCI is not set
-+# CONFIG_SOUND_EMU10K1 is not set
-+# CONFIG_MIDI_EMU10K1 is not set
-+# CONFIG_SOUND_FUSION is not set
-+# CONFIG_SOUND_CS4281 is not set
-+# CONFIG_SOUND_ES1370 is not set
-+# CONFIG_SOUND_ES1371 is not set
-+# CONFIG_SOUND_ESSSOLO1 is not set
-+# CONFIG_SOUND_MAESTRO is not set
-+# CONFIG_SOUND_MAESTRO3 is not set
-+# CONFIG_SOUND_FORTE is not set
-+# CONFIG_SOUND_ICH is not set
-+# CONFIG_SOUND_RME96XX is not set
-+# CONFIG_SOUND_SONICVIBES is not set
-+# CONFIG_SOUND_TRIDENT is not set
-+# CONFIG_SOUND_MSNDCLAS is not set
-+# CONFIG_SOUND_MSNDPIN is not set
-+# CONFIG_SOUND_VIA82CXXX is not set
-+# CONFIG_MIDI_VIA82CXXX is not set
-+# CONFIG_SOUND_OSS is not set
-+# CONFIG_SOUND_TVMIXER is not set
-+# CONFIG_SOUND_AD1980 is not set
-+# CONFIG_SOUND_WM97XX is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_BANDWIDTH is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_EHCI_HCD is not set
-+# CONFIG_USB_UHCI is not set
-+# CONFIG_USB_UHCI_ALT is not set
-+CONFIG_USB_OHCI=y
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_AUDIO is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_BLUETOOTH is not set
-+# CONFIG_USB_MIDI is not set
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_HP8200e is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# USB Human Interface Devices (HID)
-+#
-+CONFIG_USB_HID=y
-+CONFIG_USB_HIDINPUT=y
-+CONFIG_USB_HIDDEV=y
-+# CONFIG_USB_AIPTEK is not set
-+# CONFIG_USB_WACOM is not set
-+# CONFIG_USB_KBTAB is not set
-+# CONFIG_USB_POWERMATE is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_DC2XX is not set
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_SCANNER is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_HPUSBSCSI is not set
-+
-+#
-+# USB Multimedia devices
-+#
-+
-+#
-+#   Video4Linux support is needed for USB Multimedia device support
-+#
-+
-+#
-+# USB Network adaptors
-+#
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_CDCETHER is not set
-+# CONFIG_USB_USBNET is not set
-+
-+#
-+# USB port drivers
-+#
-+# CONFIG_USB_USS720 is not set
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_TIGL is not set
-+# CONFIG_USB_BRLVGER is not set
-+# CONFIG_USB_LCD is not set
-+
-+#
-+# Support for USB gadgets
-+#
-+# CONFIG_USB_GADGET is not set
-+
-+#
-+# Bluetooth support
-+#
-+# CONFIG_BLUEZ is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_CROSSCOMPILE=y
-+# CONFIG_RUNTIME_DEBUG is not set
-+# CONFIG_KGDB is not set
-+# CONFIG_GDB_CONSOLE is not set
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_MIPS_UNCACHED is not set
-+CONFIG_LOG_BUF_SHIFT=0
-+
-+#
-+# Cryptographic options
-+#
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+# CONFIG_CRC32 is not set
-+CONFIG_ZLIB_INFLATE=m
-+CONFIG_ZLIB_DEFLATE=m
-+# CONFIG_FW_LOADER is not set
-diff -Nur linux-2.4.30/arch/mips/defconfig-db1500 linux-2.4.30-mips/arch/mips/defconfig-db1500
---- linux-2.4.30/arch/mips/defconfig-db1500    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-db1500       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -267,11 +267,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -555,7 +550,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-db1550 linux-2.4.30-mips/arch/mips/defconfig-db1550
---- linux-2.4.30/arch/mips/defconfig-db1550    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-db1550       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -213,11 +213,9 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- CONFIG_MTD_PB1550=y
- CONFIG_MTD_PB1550_BOOT=y
- CONFIG_MTD_PB1550_USER=y
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -236,7 +234,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -343,11 +340,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -633,7 +625,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ddb5476 linux-2.4.30-mips/arch/mips/defconfig-ddb5476
---- linux-2.4.30/arch/mips/defconfig-ddb5476   2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ddb5476      2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -226,11 +226,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -517,7 +512,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ddb5477 linux-2.4.30-mips/arch/mips/defconfig-ddb5477
---- linux-2.4.30/arch/mips/defconfig-ddb5477   2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ddb5477      2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -226,11 +226,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -434,7 +429,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-decstation linux-2.4.30-mips/arch/mips/defconfig-decstation
---- linux-2.4.30/arch/mips/defconfig-decstation        2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-decstation   2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -223,11 +223,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -306,9 +301,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -477,7 +474,6 @@
- CONFIG_SERIAL_DEC_CONSOLE=y
- CONFIG_DZ=y
- CONFIG_ZS=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-e55 linux-2.4.30-mips/arch/mips/defconfig-e55
---- linux-2.4.30/arch/mips/defconfig-e55       2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-e55  2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -222,11 +222,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -426,7 +421,6 @@
- # CONFIG_SERIAL_MULTIPORT is not set
- # CONFIG_HUB6 is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-eagle linux-2.4.30-mips/arch/mips/defconfig-eagle
---- linux-2.4.30/arch/mips/defconfig-eagle     2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-eagle        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -208,8 +208,8 @@
- # Mapping drivers for chip access
- #
- CONFIG_MTD_PHYSMAP=y
--CONFIG_MTD_PHYSMAP_START=1c000000
--CONFIG_MTD_PHYSMAP_LEN=2000000
-+CONFIG_MTD_PHYSMAP_START=0x1c000000
-+CONFIG_MTD_PHYSMAP_LEN=0x2000000
- CONFIG_MTD_PHYSMAP_BUSWIDTH=4
- # CONFIG_MTD_PB1000 is not set
- # CONFIG_MTD_PB1500 is not set
-@@ -217,9 +217,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -238,7 +236,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -327,11 +324,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -587,7 +579,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ev64120 linux-2.4.30-mips/arch/mips/defconfig-ev64120
---- linux-2.4.30/arch/mips/defconfig-ev64120   2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ev64120      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -230,11 +230,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -443,7 +438,6 @@
- # CONFIG_SERIAL_CONSOLE is not set
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ev96100 linux-2.4.30-mips/arch/mips/defconfig-ev96100
---- linux-2.4.30/arch/mips/defconfig-ev96100   2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ev96100      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -232,11 +232,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -441,7 +436,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ficmmp linux-2.4.30-mips/arch/mips/defconfig-ficmmp
---- linux-2.4.30/arch/mips/defconfig-ficmmp    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ficmmp       2005-03-18 13:13:21.000000000 +0100
-@@ -0,0 +1,862 @@
-+#
-+# Automatically generated make config: don't edit
-+#
-+CONFIG_MIPS=y
-+CONFIG_MIPS32=y
-+# CONFIG_MIPS64 is not set
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+# CONFIG_MODVERSIONS is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Machine selection
-+#
-+# CONFIG_ACER_PICA_61 is not set
-+# CONFIG_MIPS_BOSPORUS is not set
-+# CONFIG_MIPS_MIRAGE is not set
-+# CONFIG_MIPS_DB1000 is not set
-+# CONFIG_MIPS_DB1100 is not set
-+# CONFIG_MIPS_DB1500 is not set
-+# CONFIG_MIPS_DB1550 is not set
-+# CONFIG_MIPS_PB1000 is not set
-+# CONFIG_MIPS_PB1100 is not set
-+# CONFIG_MIPS_PB1500 is not set
-+# CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
-+# CONFIG_MIPS_XXS1500 is not set
-+# CONFIG_MIPS_MTX1 is not set
-+# CONFIG_COGENT_CSB250 is not set
-+# CONFIG_BAGET_MIPS is not set
-+# CONFIG_CASIO_E55 is not set
-+# CONFIG_MIPS_COBALT is not set
-+# CONFIG_DECSTATION is not set
-+# CONFIG_MIPS_EV64120 is not set
-+# CONFIG_MIPS_EV96100 is not set
-+# CONFIG_MIPS_IVR is not set
-+# CONFIG_HP_LASERJET is not set
-+# CONFIG_IBM_WORKPAD is not set
-+# CONFIG_LASAT is not set
-+# CONFIG_MIPS_ITE8172 is not set
-+# CONFIG_MIPS_ATLAS is not set
-+# CONFIG_MIPS_MAGNUM_4000 is not set
-+# CONFIG_MIPS_MALTA is not set
-+# CONFIG_MIPS_SEAD is not set
-+# CONFIG_MOMENCO_OCELOT is not set
-+# CONFIG_MOMENCO_OCELOT_G is not set
-+# CONFIG_MOMENCO_OCELOT_C is not set
-+# CONFIG_MOMENCO_JAGUAR_ATX is not set
-+# CONFIG_PMC_BIG_SUR is not set
-+# CONFIG_PMC_STRETCH is not set
-+# CONFIG_PMC_YOSEMITE is not set
-+# CONFIG_DDB5074 is not set
-+# CONFIG_DDB5476 is not set
-+# CONFIG_DDB5477 is not set
-+# CONFIG_NEC_OSPREY is not set
-+# CONFIG_NEC_EAGLE is not set
-+# CONFIG_OLIVETTI_M700 is not set
-+# CONFIG_NINO is not set
-+# CONFIG_SGI_IP22 is not set
-+# CONFIG_SGI_IP27 is not set
-+# CONFIG_SIBYTE_SB1xxx_SOC is not set
-+# CONFIG_SNI_RM200_PCI is not set
-+# CONFIG_TANBAC_TB0226 is not set
-+# CONFIG_TANBAC_TB0229 is not set
-+# CONFIG_TOSHIBA_JMR3927 is not set
-+# CONFIG_TOSHIBA_RBTX4927 is not set
-+# CONFIG_VICTOR_MPC30X is not set
-+# CONFIG_ZAO_CAPCELLA is not set
-+# CONFIG_HIGHMEM is not set
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-+# CONFIG_MIPS_AU1000 is not set
-+
-+#
-+# CPU selection
-+#
-+CONFIG_CPU_MIPS32=y
-+# CONFIG_CPU_MIPS64 is not set
-+# CONFIG_CPU_R3000 is not set
-+# CONFIG_CPU_TX39XX is not set
-+# CONFIG_CPU_VR41XX is not set
-+# CONFIG_CPU_R4300 is not set
-+# CONFIG_CPU_R4X00 is not set
-+# CONFIG_CPU_TX49XX is not set
-+# CONFIG_CPU_R5000 is not set
-+# CONFIG_CPU_R5432 is not set
-+# CONFIG_CPU_R6000 is not set
-+# CONFIG_CPU_NEVADA is not set
-+# CONFIG_CPU_R8000 is not set
-+# CONFIG_CPU_R10000 is not set
-+# CONFIG_CPU_RM7000 is not set
-+# CONFIG_CPU_RM9000 is not set
-+# CONFIG_CPU_SB1 is not set
-+CONFIG_PAGE_SIZE_4KB=y
-+# CONFIG_PAGE_SIZE_16KB is not set
-+# CONFIG_PAGE_SIZE_64KB is not set
-+CONFIG_CPU_HAS_PREFETCH=y
-+# CONFIG_VTAG_ICACHE is not set
-+CONFIG_64BIT_PHYS_ADDR=y
-+# CONFIG_CPU_ADVANCED is not set
-+CONFIG_CPU_HAS_LLSC=y
-+# CONFIG_CPU_HAS_LLDSCD is not set
-+# CONFIG_CPU_HAS_WB is not set
-+CONFIG_CPU_HAS_SYNC=y
-+
-+#
-+# General setup
-+#
-+CONFIG_CPU_LITTLE_ENDIAN=y
-+# CONFIG_BUILD_ELF64 is not set
-+CONFIG_NET=y
-+# CONFIG_PCI is not set
-+# CONFIG_PCI_NEW is not set
-+CONFIG_PCI_AUTO=y
-+# CONFIG_ISA is not set
-+# CONFIG_TC is not set
-+# CONFIG_MCA is not set
-+# CONFIG_SBUS is not set
-+# CONFIG_HOTPLUG is not set
-+# CONFIG_PCMCIA is not set
-+# CONFIG_HOTPLUG_PCI is not set
-+CONFIG_SYSVIPC=y
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_SYSCTL=y
-+CONFIG_KCORE_ELF=y
-+# CONFIG_KCORE_AOUT is not set
-+# CONFIG_BINFMT_AOUT is not set
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_MIPS32_COMPAT is not set
-+# CONFIG_MIPS32_O32 is not set
-+# CONFIG_MIPS32_N32 is not set
-+# CONFIG_BINFMT_ELF32 is not set
-+# CONFIG_BINFMT_MISC is not set
-+# CONFIG_OOM_KILLER is not set
-+CONFIG_CMDLINE_BOOL=y
-+CONFIG_CMDLINE="ide3=dma mem=96M root=/dev/hda2 rootflags=data=journal"
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+# CONFIG_MTD is not set
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Plug and Play configuration
-+#
-+# CONFIG_PNP is not set
-+# CONFIG_ISAPNP is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_FD is not set
-+# CONFIG_BLK_DEV_XD is not set
-+# CONFIG_PARIDE is not set
-+# CONFIG_BLK_CPQ_DA is not set
-+# CONFIG_BLK_CPQ_CISS_DA is not set
-+# CONFIG_CISS_SCSI_TAPE is not set
-+# CONFIG_CISS_MONITOR_THREAD is not set
-+# CONFIG_BLK_DEV_DAC960 is not set
-+# CONFIG_BLK_DEV_UMEM is not set
-+# CONFIG_BLK_DEV_SX8 is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_RAM is not set
-+# CONFIG_BLK_DEV_INITRD is not set
-+# CONFIG_BLK_STATS is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+# CONFIG_BLK_DEV_MD is not set
-+# CONFIG_MD_LINEAR is not set
-+# CONFIG_MD_RAID0 is not set
-+# CONFIG_MD_RAID1 is not set
-+# CONFIG_MD_RAID5 is not set
-+# CONFIG_MD_MULTIPATH is not set
-+# CONFIG_BLK_DEV_LVM is not set
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+# CONFIG_NETLINK_DEV is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_FILTER=y
-+CONFIG_UNIX=y
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# 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_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_INET_ECN is not set
-+# CONFIG_SYN_COOKIES is not set
-+
-+#
-+#   IP: Netfilter Configuration
-+#
-+# CONFIG_IP_NF_CONNTRACK is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+# CONFIG_IP_NF_IPTABLES is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-+# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-+
-+#
-+#   IP: Virtual Server Configuration
-+#
-+# CONFIG_IP_VS is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_KHTTPD is not set
-+
-+#
-+#    SCTP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_ATM is not set
-+# CONFIG_VLAN_8021Q is not set
-+
-+#
-+#  
-+#
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_LLC is not set
-+# CONFIG_NET_DIVERT is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_FASTROUTE is not set
-+# CONFIG_NET_HW_FLOWCONTROL is not set
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+
-+#
-+# Telephony Support
-+#
-+# CONFIG_PHONE is not set
-+# CONFIG_PHONE_IXJ is not set
-+# CONFIG_PHONE_IXJ_PCMCIA is not set
-+
-+#
-+# ATA/IDE/MFM/RLL support
-+#
-+CONFIG_IDE=y
-+
-+#
-+# IDE, ATA and ATAPI Block devices
-+#
-+CONFIG_BLK_DEV_IDE=y
-+
-+#
-+# Please see Documentation/ide.txt for help/info on IDE drives
-+#
-+CONFIG_BLK_DEV_HD_IDE=y
-+CONFIG_BLK_DEV_HD=y
-+# CONFIG_BLK_DEV_IDE_SATA is not set
-+CONFIG_BLK_DEV_IDEDISK=y
-+CONFIG_IDEDISK_MULTI_MODE=y
-+CONFIG_IDEDISK_STROKE=y
-+# CONFIG_BLK_DEV_IDECS is not set
-+# CONFIG_BLK_DEV_DELKIN is not set
-+# CONFIG_BLK_DEV_IDECD is not set
-+# CONFIG_BLK_DEV_IDETAPE is not set
-+# CONFIG_BLK_DEV_IDEFLOPPY is not set
-+# CONFIG_BLK_DEV_IDESCSI is not set
-+# CONFIG_IDE_TASK_IOCTL is not set
-+
-+#
-+# IDE chipset support/bugfixes
-+#
-+# CONFIG_BLK_DEV_CMD640 is not set
-+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-+# CONFIG_BLK_DEV_ISAPNP is not set
-+# CONFIG_IDE_CHIPSETS is not set
-+# CONFIG_IDEDMA_AUTO is not set
-+# CONFIG_DMA_NONPCI is not set
-+# CONFIG_BLK_DEV_ATARAID is not set
-+# CONFIG_BLK_DEV_ATARAID_PDC is not set
-+# CONFIG_BLK_DEV_ATARAID_HPT is not set
-+# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
-+# CONFIG_BLK_DEV_ATARAID_SII is not set
-+
-+#
-+# SCSI support
-+#
-+CONFIG_SCSI=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+CONFIG_SD_EXTRA_DEVS=40
-+CONFIG_CHR_DEV_ST=y
-+# CONFIG_CHR_DEV_OSST is not set
-+CONFIG_BLK_DEV_SR=y
-+# CONFIG_BLK_DEV_SR_VENDOR is not set
-+CONFIG_SR_EXTRA_DEVS=2
-+# CONFIG_CHR_DEV_SG is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_DEBUG_QUEUES is not set
-+# CONFIG_SCSI_MULTI_LUN is not set
-+CONFIG_SCSI_CONSTANTS=y
-+# CONFIG_SCSI_LOGGING is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_SCSI_7000FASST is not set
-+# CONFIG_SCSI_ACARD is not set
-+# CONFIG_SCSI_AHA152X is not set
-+# CONFIG_SCSI_AHA1542 is not set
-+# CONFIG_SCSI_AHA1740 is not set
-+# CONFIG_SCSI_AACRAID is not set
-+# CONFIG_SCSI_AIC7XXX is not set
-+# CONFIG_SCSI_AIC79XX is not set
-+# CONFIG_SCSI_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ADVANSYS is not set
-+# CONFIG_SCSI_IN2000 is not set
-+# CONFIG_SCSI_AM53C974 is not set
-+# CONFIG_SCSI_MEGARAID is not set
-+# CONFIG_SCSI_MEGARAID2 is not set
-+# CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
-+# CONFIG_SCSI_SATA_SVW is not set
-+# CONFIG_SCSI_ATA_PIIX is not set
-+# CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
-+# CONFIG_SCSI_SATA_PROMISE is not set
-+# CONFIG_SCSI_SATA_SX4 is not set
-+# CONFIG_SCSI_SATA_SIL is not set
-+# CONFIG_SCSI_SATA_SIS is not set
-+# CONFIG_SCSI_SATA_ULI is not set
-+# CONFIG_SCSI_SATA_VIA is not set
-+# CONFIG_SCSI_SATA_VITESSE is not set
-+# CONFIG_SCSI_BUSLOGIC is not set
-+# CONFIG_SCSI_DMX3191D is not set
-+# CONFIG_SCSI_DTC3280 is not set
-+# CONFIG_SCSI_EATA is not set
-+# CONFIG_SCSI_EATA_DMA is not set
-+# CONFIG_SCSI_EATA_PIO is not set
-+# CONFIG_SCSI_FUTURE_DOMAIN is not set
-+# CONFIG_SCSI_GDTH is not set
-+# CONFIG_SCSI_GENERIC_NCR5380 is not set
-+# CONFIG_SCSI_INITIO is not set
-+# CONFIG_SCSI_INIA100 is not set
-+# CONFIG_SCSI_NCR53C406A is not set
-+# CONFIG_SCSI_NCR53C7xx is not set
-+# CONFIG_SCSI_PAS16 is not set
-+# CONFIG_SCSI_PCI2000 is not set
-+# CONFIG_SCSI_PCI2220I is not set
-+# CONFIG_SCSI_PSI240I is not set
-+# CONFIG_SCSI_QLOGIC_FAS is not set
-+# CONFIG_SCSI_SIM710 is not set
-+# CONFIG_SCSI_SYM53C416 is not set
-+# CONFIG_SCSI_T128 is not set
-+# CONFIG_SCSI_U14_34F is not set
-+# CONFIG_SCSI_NSP32 is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+# CONFIG_FUSION_BOOT is not set
-+# CONFIG_FUSION_ISENSE is not set
-+# CONFIG_FUSION_CTL is not set
-+# CONFIG_FUSION_LAN is not set
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+
-+#
-+# ARCnet devices
-+#
-+# CONFIG_ARCNET is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_ETHERTAP is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+# CONFIG_SUNLANCE is not set
-+# CONFIG_SUNBMAC is not set
-+# CONFIG_SUNQE is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_LANCE is not set
-+# CONFIG_NET_VENDOR_SMC is not set
-+# CONFIG_NET_VENDOR_RACAL is not set
-+# CONFIG_NET_ISA is not set
-+# CONFIG_NET_PCI is not set
-+# CONFIG_NET_POCKET is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+# CONFIG_ACENIC is not set
-+# CONFIG_DL2K is not set
-+# CONFIG_E1000 is not set
-+# CONFIG_MYRI_SBUS is not set
-+# CONFIG_NS83820 is not set
-+# CONFIG_HAMACHI is not set
-+# CONFIG_YELLOWFIN is not set
-+# CONFIG_R8169 is not set
-+# CONFIG_SK98LIN is not set
-+# CONFIG_TIGON3 is not set
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PLIP is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+# CONFIG_NET_RADIO is not set
-+
-+#
-+# Token Ring devices
-+#
-+# CONFIG_TR is not set
-+# CONFIG_NET_FC is not set
-+# CONFIG_RCPCI is not set
-+# CONFIG_SHAPER is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+
-+#
-+# Amateur Radio support
-+#
-+# CONFIG_HAMRADIO is not set
-+
-+#
-+# IrDA (infrared) support
-+#
-+# CONFIG_IRDA is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input core support
-+#
-+CONFIG_INPUT=y
-+CONFIG_INPUT_KEYBDEV=y
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_UINPUT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_VT_CONSOLE=y
-+# CONFIG_SERIAL is not set
-+# CONFIG_SERIAL_EXTENDED is not set
-+CONFIG_SERIAL_NONSTANDARD=y
-+# CONFIG_COMPUTONE is not set
-+# CONFIG_ROCKETPORT is not set
-+# CONFIG_CYCLADES is not set
-+# CONFIG_DIGIEPCA is not set
-+# CONFIG_DIGI is not set
-+# CONFIG_ESPSERIAL is not set
-+# CONFIG_MOXA_INTELLIO is not set
-+# CONFIG_MOXA_SMARTIO is not set
-+# CONFIG_ISI is not set
-+# CONFIG_SYNCLINK is not set
-+# CONFIG_SYNCLINKMP is not set
-+# CONFIG_N_HDLC is not set
-+# CONFIG_RISCOM8 is not set
-+# CONFIG_SPECIALIX is not set
-+# CONFIG_SX is not set
-+# CONFIG_RIO is not set
-+# CONFIG_STALDRV is not set
-+# CONFIG_SERIAL_TX3912 is not set
-+# CONFIG_SERIAL_TX3912_CONSOLE is not set
-+# CONFIG_SERIAL_TXX9 is not set
-+# CONFIG_SERIAL_TXX9_CONSOLE is not set
-+# CONFIG_TXX927_SERIAL is not set
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_UNIX98_PTY_COUNT=256
-+
-+#
-+# I2C support
-+#
-+CONFIG_I2C=y
-+# CONFIG_I2C_ALGOBIT is not set
-+# CONFIG_SCx200_ACB is not set
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_CHARDEV is not set
-+# CONFIG_I2C_PROC is not set
-+
-+#
-+# Mice
-+#
-+# CONFIG_BUSMOUSE is not set
-+# CONFIG_MOUSE is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_GAMEPORT is not set
-+# CONFIG_INPUT_NS558 is not set
-+# CONFIG_INPUT_LIGHTNING is not set
-+# CONFIG_INPUT_PCIGAME is not set
-+# CONFIG_INPUT_CS461X is not set
-+# CONFIG_INPUT_EMU10K1 is not set
-+# CONFIG_INPUT_SERIO is not set
-+# CONFIG_INPUT_SERPORT is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_ANALOG is not set
-+# CONFIG_INPUT_A3D is not set
-+# CONFIG_INPUT_ADI is not set
-+# CONFIG_INPUT_COBRA is not set
-+# CONFIG_INPUT_GF2K is not set
-+# CONFIG_INPUT_GRIP is not set
-+# CONFIG_INPUT_INTERACT is not set
-+# CONFIG_INPUT_TMDC is not set
-+# CONFIG_INPUT_SIDEWINDER is not set
-+# CONFIG_INPUT_IFORCE_USB is not set
-+# CONFIG_INPUT_IFORCE_232 is not set
-+# CONFIG_INPUT_WARRIOR is not set
-+# CONFIG_INPUT_MAGELLAN is not set
-+# CONFIG_INPUT_SPACEORB is not set
-+# CONFIG_INPUT_SPACEBALL is not set
-+# CONFIG_INPUT_STINGER is not set
-+# CONFIG_INPUT_DB9 is not set
-+# CONFIG_INPUT_GAMECON is not set
-+# CONFIG_INPUT_TURBOGRAFX is not set
-+# CONFIG_QIC02_TAPE is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_IPMI_PANIC_EVENT is not set
-+# CONFIG_IPMI_DEVICE_INTERFACE is not set
-+# CONFIG_IPMI_KCS is not set
-+# CONFIG_IPMI_WATCHDOG is not set
-+
-+#
-+# Watchdog Cards
-+#
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_SCx200 is not set
-+# CONFIG_SCx200_GPIO is not set
-+# CONFIG_AMD_PM768 is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_RTC is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+
-+#
-+# Ftape, the floppy tape device driver
-+#
-+# CONFIG_FTAPE is not set
-+# CONFIG_AGP is not set
-+
-+#
-+# Direct Rendering Manager (XFree86 DRI support)
-+#
-+# CONFIG_DRM is not set
-+
-+#
-+# File systems
-+#
-+# CONFIG_QUOTA is not set
-+# CONFIG_QFMT_V2 is not set
-+CONFIG_AUTOFS_FS=y
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_REISERFS_CHECK is not set
-+# CONFIG_REISERFS_PROC_INFO is not set
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_ADFS_FS_RW is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BEFS_DEBUG is not set
-+# CONFIG_BFS_FS is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+# CONFIG_UMSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS_FS is not set
-+# CONFIG_JFFS2_FS is not set
-+# CONFIG_CRAMFS is not set
-+# CONFIG_TMPFS is not set
-+CONFIG_RAMFS=y
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_JOLIET is not set
-+# CONFIG_ZISOFS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_JFS_DEBUG is not set
-+# CONFIG_JFS_STATISTICS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_NTFS_FS is not set
-+# CONFIG_NTFS_RW is not set
-+# CONFIG_HPFS_FS is not set
-+CONFIG_PROC_FS=y
-+# CONFIG_DEVFS_FS is not set
-+# CONFIG_DEVFS_MOUNT is not set
-+# CONFIG_DEVFS_DEBUG is not set
-+CONFIG_DEVPTS_FS=y
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_QNX4FS_RW is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_EXT2_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UDF_FS is not set
-+# CONFIG_UDF_RW is not set
-+# CONFIG_UFS_FS is not set
-+# CONFIG_UFS_FS_WRITE is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_XFS_QUOTA is not set
-+# CONFIG_XFS_RT is not set
-+# CONFIG_XFS_TRACE is not set
-+# CONFIG_XFS_DEBUG is not set
-+
-+#
-+# Network File Systems
-+#
-+# CONFIG_CODA_FS is not set
-+# CONFIG_INTERMEZZO_FS is not set
-+# CONFIG_NFS_FS is not set
-+# CONFIG_NFS_V3 is not set
-+# CONFIG_NFS_DIRECTIO is not set
-+# CONFIG_ROOT_NFS is not set
-+# CONFIG_NFSD is not set
-+# CONFIG_NFSD_V3 is not set
-+# CONFIG_NFSD_TCP is not set
-+# CONFIG_SUNRPC is not set
-+# CONFIG_LOCKD is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_NCPFS_PACKET_SIGNING is not set
-+# CONFIG_NCPFS_IOCTL_LOCKING is not set
-+# CONFIG_NCPFS_STRONG is not set
-+# CONFIG_NCPFS_NFS_NS is not set
-+# CONFIG_NCPFS_OS2_NS is not set
-+# CONFIG_NCPFS_SMALLDOS is not set
-+# CONFIG_NCPFS_NLS is not set
-+# CONFIG_NCPFS_EXTRAS is not set
-+# CONFIG_ZISOFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_SMB_NLS is not set
-+CONFIG_NLS=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+# CONFIG_NLS_CODEPAGE_437 is not set
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ISO8859_1 is not set
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Console drivers
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+# CONFIG_MDA_CONSOLE is not set
-+
-+#
-+# Frame-buffer support
-+#
-+CONFIG_FB=y
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FB_CYBER2000 is not set
-+# CONFIG_FB_VIRTUAL is not set
-+CONFIG_FBCON_ADVANCED=y
-+# CONFIG_FBCON_MFB is not set
-+# CONFIG_FBCON_CFB2 is not set
-+# CONFIG_FBCON_CFB4 is not set
-+# CONFIG_FBCON_CFB8 is not set
-+CONFIG_FBCON_CFB16=y
-+# CONFIG_FBCON_CFB24 is not set
-+# CONFIG_FBCON_CFB32 is not set
-+# CONFIG_FBCON_AFB is not set
-+# CONFIG_FBCON_ILBM is not set
-+# CONFIG_FBCON_IPLAN2P2 is not set
-+# CONFIG_FBCON_IPLAN2P4 is not set
-+# CONFIG_FBCON_IPLAN2P8 is not set
-+# CONFIG_FBCON_MAC is not set
-+# CONFIG_FBCON_VGA_PLANES is not set
-+# CONFIG_FBCON_VGA is not set
-+# CONFIG_FBCON_HGA is not set
-+# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-+CONFIG_FBCON_FONTS=y
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+
-+#
-+# Sound
-+#
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_ALI5455 is not set
-+# CONFIG_SOUND_BT878 is not set
-+# CONFIG_SOUND_CMPCI is not set
-+# CONFIG_SOUND_EMU10K1 is not set
-+# CONFIG_MIDI_EMU10K1 is not set
-+# CONFIG_SOUND_FUSION is not set
-+# CONFIG_SOUND_CS4281 is not set
-+# CONFIG_SOUND_ES1370 is not set
-+# CONFIG_SOUND_ES1371 is not set
-+# CONFIG_SOUND_ESSSOLO1 is not set
-+# CONFIG_SOUND_MAESTRO is not set
-+# CONFIG_SOUND_MAESTRO3 is not set
-+# CONFIG_SOUND_FORTE is not set
-+# CONFIG_SOUND_ICH is not set
-+# CONFIG_SOUND_RME96XX is not set
-+# CONFIG_SOUND_SONICVIBES is not set
-+# CONFIG_SOUND_TRIDENT is not set
-+# CONFIG_SOUND_MSNDCLAS is not set
-+# CONFIG_SOUND_MSNDPIN is not set
-+# CONFIG_SOUND_VIA82CXXX is not set
-+# CONFIG_MIDI_VIA82CXXX is not set
-+# CONFIG_SOUND_OSS is not set
-+# CONFIG_SOUND_TVMIXER is not set
-+# CONFIG_SOUND_AD1980 is not set
-+# CONFIG_SOUND_WM97XX is not set
-+
-+#
-+# USB support
-+#
-+# CONFIG_USB is not set
-+
-+#
-+# Support for USB gadgets
-+#
-+# CONFIG_USB_GADGET is not set
-+
-+#
-+# Bluetooth support
-+#
-+# CONFIG_BLUEZ is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_CROSSCOMPILE=y
-+# CONFIG_RUNTIME_DEBUG is not set
-+# CONFIG_KGDB is not set
-+# CONFIG_GDB_CONSOLE is not set
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_MIPS_UNCACHED is not set
-+CONFIG_LOG_BUF_SHIFT=0
-+
-+#
-+# Cryptographic options
-+#
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+# CONFIG_CRC32 is not set
-+CONFIG_ZLIB_INFLATE=m
-+CONFIG_ZLIB_DEFLATE=m
-diff -Nur linux-2.4.30/arch/mips/defconfig-hp-lj linux-2.4.30-mips/arch/mips/defconfig-hp-lj
---- linux-2.4.30/arch/mips/defconfig-hp-lj     2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-hp-lj        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -184,8 +184,8 @@
- # Mapping drivers for chip access
- #
- CONFIG_MTD_PHYSMAP=y
--CONFIG_MTD_PHYSMAP_START=10040000
--CONFIG_MTD_PHYSMAP_LEN=00fc0000
-+CONFIG_MTD_PHYSMAP_START=0x10040000
-+CONFIG_MTD_PHYSMAP_LEN=0x00fc0000
- CONFIG_MTD_PHYSMAP_BUSWIDTH=4
- # CONFIG_MTD_PB1000 is not set
- # CONFIG_MTD_PB1500 is not set
-@@ -193,9 +193,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -214,7 +212,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -304,11 +301,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -604,7 +596,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-hydrogen3 linux-2.4.30-mips/arch/mips/defconfig-hydrogen3
---- linux-2.4.30/arch/mips/defconfig-hydrogen3 2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-hydrogen3    2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--CONFIG_MIPS_HYDROGEN3=y
- # CONFIG_MIPS_PB1550 is not set
-+CONFIG_MIPS_HYDROGEN3=y
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -214,9 +214,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--CONFIG_MTD_HYDROGEN3=y
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -235,7 +233,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -340,11 +337,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -590,7 +582,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--CONFIG_MIPS_HYDROGEN3_BUTTONS=y
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-@@ -838,6 +829,7 @@
- # CONFIG_FB_PM2 is not set
- # CONFIG_FB_PM3 is not set
- # CONFIG_FB_CYBER2000 is not set
-+CONFIG_FB_AU1100=y
- # CONFIG_FB_MATROX is not set
- # CONFIG_FB_ATY is not set
- # CONFIG_FB_RADEON is not set
-@@ -849,7 +841,6 @@
- # CONFIG_FB_VOODOO1 is not set
- # CONFIG_FB_TRIDENT is not set
- # CONFIG_FB_E1356 is not set
--CONFIG_FB_AU1100=y
- # CONFIG_FB_IT8181 is not set
- # CONFIG_FB_VIRTUAL is not set
- CONFIG_FBCON_ADVANCED=y
-diff -Nur linux-2.4.30/arch/mips/defconfig-ip22 linux-2.4.30-mips/arch/mips/defconfig-ip22
---- linux-2.4.30/arch/mips/defconfig-ip22      2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ip22 2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -235,11 +235,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -319,9 +314,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -465,7 +462,6 @@
- # CONFIG_SERIAL is not set
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-it8172 linux-2.4.30-mips/arch/mips/defconfig-it8172
---- linux-2.4.30/arch/mips/defconfig-it8172    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-it8172       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -186,8 +186,8 @@
- # Mapping drivers for chip access
- #
- CONFIG_MTD_PHYSMAP=y
--CONFIG_MTD_PHYSMAP_START=8000000
--CONFIG_MTD_PHYSMAP_LEN=2000000
-+CONFIG_MTD_PHYSMAP_START=0x8000000
-+CONFIG_MTD_PHYSMAP_LEN=0x2000000
- CONFIG_MTD_PHYSMAP_BUSWIDTH=4
- # CONFIG_MTD_PB1000 is not set
- # CONFIG_MTD_PB1500 is not set
-@@ -195,9 +195,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -216,7 +214,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -304,11 +301,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -592,7 +584,6 @@
- CONFIG_PC_KEYB=y
- # CONFIG_IT8172_SCR0 is not set
- # CONFIG_IT8172_SCR1 is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ivr linux-2.4.30-mips/arch/mips/defconfig-ivr
---- linux-2.4.30/arch/mips/defconfig-ivr       2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ivr  2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -226,11 +226,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -516,7 +511,6 @@
- CONFIG_QTRONIX_KEYBOARD=y
- CONFIG_IT8172_CIR=y
- # CONFIG_IT8172_SCR0 is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-jmr3927 linux-2.4.30-mips/arch/mips/defconfig-jmr3927
---- linux-2.4.30/arch/mips/defconfig-jmr3927   2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-jmr3927      2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -225,11 +225,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -454,7 +449,6 @@
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- CONFIG_TXX927_SERIAL=y
- CONFIG_TXX927_SERIAL_CONSOLE=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-lasat linux-2.4.30-mips/arch/mips/defconfig-lasat
---- linux-2.4.30/arch/mips/defconfig-lasat     2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-lasat        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -198,9 +198,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -219,7 +217,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -303,11 +300,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -584,7 +576,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-malta linux-2.4.30-mips/arch/mips/defconfig-malta
---- linux-2.4.30/arch/mips/defconfig-malta     2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-malta        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -237,11 +237,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -319,9 +314,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -524,7 +521,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-mirage linux-2.4.30-mips/arch/mips/defconfig-mirage
---- linux-2.4.30/arch/mips/defconfig-mirage    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-mirage       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -209,9 +209,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- CONFIG_MTD_MIRAGE=y
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -230,7 +228,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -335,11 +332,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -560,7 +552,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-mpc30x linux-2.4.30-mips/arch/mips/defconfig-mpc30x
---- linux-2.4.30/arch/mips/defconfig-mpc30x    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-mpc30x       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -228,11 +228,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -400,7 +395,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-mtx-1 linux-2.4.30-mips/arch/mips/defconfig-mtx-1
---- linux-2.4.30/arch/mips/defconfig-mtx-1     2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-mtx-1        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- CONFIG_MIPS_MTX1=y
- # CONFIG_COGENT_CSB250 is not set
-@@ -193,9 +193,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- CONFIG_MTD_MTX1=y
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -214,7 +212,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -371,11 +368,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- CONFIG_BRIDGE=m
- # CONFIG_X25 is not set
-@@ -479,9 +471,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -700,7 +694,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-nino linux-2.4.30-mips/arch/mips/defconfig-nino
---- linux-2.4.30/arch/mips/defconfig-nino      2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-nino 2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -226,11 +226,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -339,7 +334,6 @@
- # CONFIG_SERIAL_TXX9 is not set
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-ocelot linux-2.4.30-mips/arch/mips/defconfig-ocelot
---- linux-2.4.30/arch/mips/defconfig-ocelot    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ocelot       2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -194,9 +194,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- CONFIG_MTD_OCELOT=y
-@@ -215,7 +213,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- CONFIG_MTD_DOC2000=y
- # CONFIG_MTD_DOC2001 is not set
- CONFIG_MTD_DOCPROBE=y
-@@ -307,11 +304,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -513,7 +505,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-osprey linux-2.4.30-mips/arch/mips/defconfig-osprey
---- linux-2.4.30/arch/mips/defconfig-osprey    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-osprey       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -227,11 +227,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -388,7 +383,6 @@
- # CONFIG_SERIAL_MULTIPORT is not set
- # CONFIG_HUB6 is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-pb1000 linux-2.4.30-mips/arch/mips/defconfig-pb1000
---- linux-2.4.30/arch/mips/defconfig-pb1000    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-pb1000       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- CONFIG_MIPS_PB1000=y
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -215,9 +215,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -236,7 +234,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -324,11 +321,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -622,7 +614,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-@@ -707,7 +698,7 @@
- #
- # CONFIG_PCMCIA_SERIAL_CS is not set
- # CONFIG_SYNCLINK_CS is not set
--CONFIG_AU1X00_GPIO=m
-+CONFIG_AU1X00_GPIO=y
- # CONFIG_TS_AU1X00_ADS7846 is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-pb1100 linux-2.4.30-mips/arch/mips/defconfig-pb1100
---- linux-2.4.30/arch/mips/defconfig-pb1100    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-pb1100       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- CONFIG_MIPS_PB1100=y
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -198,9 +198,7 @@
- # CONFIG_MTD_MTX1 is not set
- CONFIG_MTD_PB1500_BOOT=y
- CONFIG_MTD_PB1500_USER=y
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -219,7 +217,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -324,11 +321,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -613,7 +605,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-@@ -859,6 +850,7 @@
- # CONFIG_FB_PM2 is not set
- # CONFIG_FB_PM3 is not set
- # CONFIG_FB_CYBER2000 is not set
-+CONFIG_FB_AU1100=y
- # CONFIG_FB_MATROX is not set
- # CONFIG_FB_ATY is not set
- # CONFIG_FB_RADEON is not set
-@@ -870,7 +862,6 @@
- # CONFIG_FB_VOODOO1 is not set
- # CONFIG_FB_TRIDENT is not set
- # CONFIG_FB_E1356 is not set
--CONFIG_FB_AU1100=y
- # CONFIG_FB_IT8181 is not set
- # CONFIG_FB_VIRTUAL is not set
- CONFIG_FBCON_ADVANCED=y
-diff -Nur linux-2.4.30/arch/mips/defconfig-pb1200 linux-2.4.30-mips/arch/mips/defconfig-pb1200
---- linux-2.4.30/arch/mips/defconfig-pb1200    1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-pb1200       2005-03-18 13:13:21.000000000 +0100
-@@ -0,0 +1,1060 @@
-+#
-+# Automatically generated make config: don't edit
-+#
-+CONFIG_MIPS=y
-+CONFIG_MIPS32=y
-+# CONFIG_MIPS64 is not set
-+
-+#
-+# Code maturity level options
-+#
-+CONFIG_EXPERIMENTAL=y
-+
-+#
-+# Loadable module support
-+#
-+CONFIG_MODULES=y
-+# CONFIG_MODVERSIONS is not set
-+CONFIG_KMOD=y
-+
-+#
-+# Machine selection
-+#
-+# CONFIG_ACER_PICA_61 is not set
-+# CONFIG_MIPS_BOSPORUS is not set
-+# CONFIG_MIPS_MIRAGE is not set
-+# CONFIG_MIPS_DB1000 is not set
-+# CONFIG_MIPS_DB1100 is not set
-+# CONFIG_MIPS_DB1500 is not set
-+# CONFIG_MIPS_DB1550 is not set
-+# CONFIG_MIPS_PB1000 is not set
-+# CONFIG_MIPS_PB1100 is not set
-+# CONFIG_MIPS_PB1500 is not set
-+# CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
-+# CONFIG_MIPS_XXS1500 is not set
-+# CONFIG_MIPS_MTX1 is not set
-+# CONFIG_COGENT_CSB250 is not set
-+# CONFIG_BAGET_MIPS is not set
-+# CONFIG_CASIO_E55 is not set
-+# CONFIG_MIPS_COBALT is not set
-+# CONFIG_DECSTATION is not set
-+# CONFIG_MIPS_EV64120 is not set
-+# CONFIG_MIPS_EV96100 is not set
-+# CONFIG_MIPS_IVR is not set
-+# CONFIG_HP_LASERJET is not set
-+# CONFIG_IBM_WORKPAD is not set
-+# CONFIG_LASAT is not set
-+# CONFIG_MIPS_ITE8172 is not set
-+# CONFIG_MIPS_ATLAS is not set
-+# CONFIG_MIPS_MAGNUM_4000 is not set
-+# CONFIG_MIPS_MALTA is not set
-+# CONFIG_MIPS_SEAD is not set
-+# CONFIG_MOMENCO_OCELOT is not set
-+# CONFIG_MOMENCO_OCELOT_G is not set
-+# CONFIG_MOMENCO_OCELOT_C is not set
-+# CONFIG_MOMENCO_JAGUAR_ATX is not set
-+# CONFIG_PMC_BIG_SUR is not set
-+# CONFIG_PMC_STRETCH is not set
-+# CONFIG_PMC_YOSEMITE is not set
-+# CONFIG_DDB5074 is not set
-+# CONFIG_DDB5476 is not set
-+# CONFIG_DDB5477 is not set
-+# CONFIG_NEC_OSPREY is not set
-+# CONFIG_NEC_EAGLE is not set
-+# CONFIG_OLIVETTI_M700 is not set
-+# CONFIG_NINO is not set
-+# CONFIG_SGI_IP22 is not set
-+# CONFIG_SGI_IP27 is not set
-+# CONFIG_SIBYTE_SB1xxx_SOC is not set
-+# CONFIG_SNI_RM200_PCI is not set
-+# CONFIG_TANBAC_TB0226 is not set
-+# CONFIG_TANBAC_TB0229 is not set
-+# CONFIG_TOSHIBA_JMR3927 is not set
-+# CONFIG_TOSHIBA_RBTX4927 is not set
-+# CONFIG_VICTOR_MPC30X is not set
-+# CONFIG_ZAO_CAPCELLA is not set
-+# CONFIG_HIGHMEM is not set
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-+CONFIG_SOC_AU1X00=y
-+CONFIG_SOC_AU1200=y
-+CONFIG_NONCOHERENT_IO=y
-+CONFIG_PC_KEYB=y
-+# CONFIG_MIPS_AU1000 is not set
-+
-+#
-+# CPU selection
-+#
-+CONFIG_CPU_MIPS32=y
-+# CONFIG_CPU_MIPS64 is not set
-+# CONFIG_CPU_R3000 is not set
-+# CONFIG_CPU_TX39XX is not set
-+# CONFIG_CPU_VR41XX is not set
-+# CONFIG_CPU_R4300 is not set
-+# CONFIG_CPU_R4X00 is not set
-+# CONFIG_CPU_TX49XX is not set
-+# CONFIG_CPU_R5000 is not set
-+# CONFIG_CPU_R5432 is not set
-+# CONFIG_CPU_R6000 is not set
-+# CONFIG_CPU_NEVADA is not set
-+# CONFIG_CPU_R8000 is not set
-+# CONFIG_CPU_R10000 is not set
-+# CONFIG_CPU_RM7000 is not set
-+# CONFIG_CPU_RM9000 is not set
-+# CONFIG_CPU_SB1 is not set
-+CONFIG_PAGE_SIZE_4KB=y
-+# CONFIG_PAGE_SIZE_16KB is not set
-+# CONFIG_PAGE_SIZE_64KB is not set
-+CONFIG_CPU_HAS_PREFETCH=y
-+# CONFIG_VTAG_ICACHE is not set
-+CONFIG_64BIT_PHYS_ADDR=y
-+# CONFIG_CPU_ADVANCED is not set
-+CONFIG_CPU_HAS_LLSC=y
-+# CONFIG_CPU_HAS_LLDSCD is not set
-+# CONFIG_CPU_HAS_WB is not set
-+CONFIG_CPU_HAS_SYNC=y
-+
-+#
-+# General setup
-+#
-+CONFIG_CPU_LITTLE_ENDIAN=y
-+# CONFIG_BUILD_ELF64 is not set
-+CONFIG_NET=y
-+CONFIG_PCI=y
-+CONFIG_PCI_NEW=y
-+CONFIG_PCI_AUTO=y
-+# CONFIG_PCI_NAMES is not set
-+# CONFIG_ISA is not set
-+# CONFIG_TC is not set
-+# CONFIG_MCA is not set
-+# CONFIG_SBUS is not set
-+CONFIG_HOTPLUG=y
-+
-+#
-+# PCMCIA/CardBus support
-+#
-+CONFIG_PCMCIA=m
-+# CONFIG_CARDBUS is not set
-+# CONFIG_TCIC is not set
-+# CONFIG_I82092 is not set
-+# CONFIG_I82365 is not set
-+CONFIG_PCMCIA_AU1X00=m
-+
-+#
-+# PCI Hotplug Support
-+#
-+# CONFIG_HOTPLUG_PCI is not set
-+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
-+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-+# CONFIG_HOTPLUG_PCI_SHPC is not set
-+# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set
-+# CONFIG_HOTPLUG_PCI_PCIE is not set
-+# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
-+CONFIG_SYSVIPC=y
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+CONFIG_SYSCTL=y
-+CONFIG_KCORE_ELF=y
-+# CONFIG_KCORE_AOUT is not set
-+# CONFIG_BINFMT_AOUT is not set
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_MIPS32_COMPAT is not set
-+# CONFIG_MIPS32_O32 is not set
-+# CONFIG_MIPS32_N32 is not set
-+# CONFIG_BINFMT_ELF32 is not set
-+# CONFIG_BINFMT_MISC is not set
-+# CONFIG_OOM_KILLER is not set
-+CONFIG_CMDLINE_BOOL=y
-+CONFIG_CMDLINE="mem=96M"
-+# CONFIG_PM is not set
-+
-+#
-+# Memory Technology Devices (MTD)
-+#
-+# CONFIG_MTD is not set
-+
-+#
-+# Parallel port support
-+#
-+# CONFIG_PARPORT is not set
-+
-+#
-+# Plug and Play configuration
-+#
-+# CONFIG_PNP is not set
-+# CONFIG_ISAPNP is not set
-+
-+#
-+# Block devices
-+#
-+# CONFIG_BLK_DEV_FD is not set
-+# CONFIG_BLK_DEV_XD is not set
-+# CONFIG_PARIDE is not set
-+# CONFIG_BLK_CPQ_DA is not set
-+# CONFIG_BLK_CPQ_CISS_DA is not set
-+# CONFIG_CISS_SCSI_TAPE is not set
-+# CONFIG_CISS_MONITOR_THREAD is not set
-+# CONFIG_BLK_DEV_DAC960 is not set
-+# CONFIG_BLK_DEV_UMEM is not set
-+# CONFIG_BLK_DEV_SX8 is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_RAM is not set
-+# CONFIG_BLK_DEV_INITRD is not set
-+# CONFIG_BLK_STATS is not set
-+
-+#
-+# Multi-device support (RAID and LVM)
-+#
-+# CONFIG_MD is not set
-+# CONFIG_BLK_DEV_MD is not set
-+# CONFIG_MD_LINEAR is not set
-+# CONFIG_MD_RAID0 is not set
-+# CONFIG_MD_RAID1 is not set
-+# CONFIG_MD_RAID5 is not set
-+# CONFIG_MD_MULTIPATH is not set
-+# CONFIG_BLK_DEV_LVM is not set
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+# CONFIG_NETLINK_DEV is not set
-+CONFIG_NETFILTER=y
-+# CONFIG_NETFILTER_DEBUG is not set
-+CONFIG_FILTER=y
-+CONFIG_UNIX=y
-+CONFIG_INET=y
-+CONFIG_IP_MULTICAST=y
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_PNP=y
-+# CONFIG_IP_PNP_DHCP is not set
-+CONFIG_IP_PNP_BOOTP=y
-+# CONFIG_IP_PNP_RARP is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_INET_ECN is not set
-+# CONFIG_SYN_COOKIES is not set
-+
-+#
-+#   IP: Netfilter Configuration
-+#
-+# CONFIG_IP_NF_CONNTRACK is not set
-+# CONFIG_IP_NF_QUEUE is not set
-+# CONFIG_IP_NF_IPTABLES is not set
-+# CONFIG_IP_NF_ARPTABLES is not set
-+# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-+# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-+
-+#
-+#   IP: Virtual Server Configuration
-+#
-+# CONFIG_IP_VS is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_KHTTPD is not set
-+
-+#
-+#    SCTP Configuration (EXPERIMENTAL)
-+#
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_ATM is not set
-+# CONFIG_VLAN_8021Q is not set
-+
-+#
-+#  
-+#
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_LLC is not set
-+# CONFIG_NET_DIVERT is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_FASTROUTE is not set
-+# CONFIG_NET_HW_FLOWCONTROL is not set
-+
-+#
-+# QoS and/or fair queueing
-+#
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+
-+#
-+# Telephony Support
-+#
-+# CONFIG_PHONE is not set
-+# CONFIG_PHONE_IXJ is not set
-+# CONFIG_PHONE_IXJ_PCMCIA is not set
-+
-+#
-+# ATA/IDE/MFM/RLL support
-+#
-+CONFIG_IDE=y
-+
-+#
-+# IDE, ATA and ATAPI Block devices
-+#
-+CONFIG_BLK_DEV_IDE=y
-+
-+#
-+# Please see Documentation/ide.txt for help/info on IDE drives
-+#
-+# CONFIG_BLK_DEV_HD_IDE is not set
-+# CONFIG_BLK_DEV_HD is not set
-+# CONFIG_BLK_DEV_IDE_SATA is not set
-+CONFIG_BLK_DEV_IDEDISK=y
-+CONFIG_IDEDISK_MULTI_MODE=y
-+CONFIG_IDEDISK_STROKE=y
-+CONFIG_BLK_DEV_IDECS=m
-+# CONFIG_BLK_DEV_DELKIN is not set
-+# CONFIG_BLK_DEV_IDECD is not set
-+# CONFIG_BLK_DEV_IDETAPE is not set
-+# CONFIG_BLK_DEV_IDEFLOPPY is not set
-+# CONFIG_BLK_DEV_IDESCSI is not set
-+# CONFIG_IDE_TASK_IOCTL is not set
-+
-+#
-+# IDE chipset support/bugfixes
-+#
-+# CONFIG_BLK_DEV_CMD640 is not set
-+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-+# CONFIG_BLK_DEV_ISAPNP is not set
-+# CONFIG_BLK_DEV_IDEPCI is not set
-+# CONFIG_IDE_CHIPSETS is not set
-+# CONFIG_IDEDMA_AUTO is not set
-+# CONFIG_DMA_NONPCI is not set
-+# CONFIG_BLK_DEV_ATARAID is not set
-+# CONFIG_BLK_DEV_ATARAID_PDC is not set
-+# CONFIG_BLK_DEV_ATARAID_HPT is not set
-+# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
-+# CONFIG_BLK_DEV_ATARAID_SII is not set
-+
-+#
-+# SCSI support
-+#
-+CONFIG_SCSI=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+CONFIG_SD_EXTRA_DEVS=40
-+CONFIG_CHR_DEV_ST=y
-+# CONFIG_CHR_DEV_OSST is not set
-+CONFIG_BLK_DEV_SR=y
-+# CONFIG_BLK_DEV_SR_VENDOR is not set
-+CONFIG_SR_EXTRA_DEVS=2
-+# CONFIG_CHR_DEV_SG is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_DEBUG_QUEUES is not set
-+# CONFIG_SCSI_MULTI_LUN is not set
-+CONFIG_SCSI_CONSTANTS=y
-+# CONFIG_SCSI_LOGGING is not set
-+
-+#
-+# SCSI low-level drivers
-+#
-+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-+# CONFIG_SCSI_7000FASST is not set
-+# CONFIG_SCSI_ACARD is not set
-+# CONFIG_SCSI_AHA152X is not set
-+# CONFIG_SCSI_AHA1542 is not set
-+# CONFIG_SCSI_AHA1740 is not set
-+# CONFIG_SCSI_AACRAID is not set
-+# CONFIG_SCSI_AIC7XXX is not set
-+# CONFIG_SCSI_AIC79XX is not set
-+# CONFIG_SCSI_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ADVANSYS is not set
-+# CONFIG_SCSI_IN2000 is not set
-+# CONFIG_SCSI_AM53C974 is not set
-+# CONFIG_SCSI_MEGARAID is not set
-+# CONFIG_SCSI_MEGARAID2 is not set
-+# CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
-+# CONFIG_SCSI_SATA_SVW is not set
-+# CONFIG_SCSI_ATA_PIIX is not set
-+# CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
-+# CONFIG_SCSI_SATA_PROMISE is not set
-+# CONFIG_SCSI_SATA_SX4 is not set
-+# CONFIG_SCSI_SATA_SIL is not set
-+# CONFIG_SCSI_SATA_SIS is not set
-+# CONFIG_SCSI_SATA_ULI is not set
-+# CONFIG_SCSI_SATA_VIA is not set
-+# CONFIG_SCSI_SATA_VITESSE is not set
-+# CONFIG_SCSI_BUSLOGIC is not set
-+# CONFIG_SCSI_CPQFCTS is not set
-+# CONFIG_SCSI_DMX3191D is not set
-+# CONFIG_SCSI_DTC3280 is not set
-+# CONFIG_SCSI_EATA is not set
-+# CONFIG_SCSI_EATA_DMA is not set
-+# CONFIG_SCSI_EATA_PIO is not set
-+# CONFIG_SCSI_FUTURE_DOMAIN is not set
-+# CONFIG_SCSI_GDTH is not set
-+# CONFIG_SCSI_GENERIC_NCR5380 is not set
-+# CONFIG_SCSI_INITIO is not set
-+# CONFIG_SCSI_INIA100 is not set
-+# CONFIG_SCSI_NCR53C406A is not set
-+# CONFIG_SCSI_NCR53C7xx is not set
-+# CONFIG_SCSI_SYM53C8XX_2 is not set
-+# CONFIG_SCSI_NCR53C8XX is not set
-+# CONFIG_SCSI_SYM53C8XX is not set
-+# CONFIG_SCSI_PAS16 is not set
-+# CONFIG_SCSI_PCI2000 is not set
-+# CONFIG_SCSI_PCI2220I is not set
-+# CONFIG_SCSI_PSI240I is not set
-+# CONFIG_SCSI_QLOGIC_FAS is not set
-+# CONFIG_SCSI_QLOGIC_ISP is not set
-+# CONFIG_SCSI_QLOGIC_FC is not set
-+# CONFIG_SCSI_QLOGIC_1280 is not set
-+# CONFIG_SCSI_SIM710 is not set
-+# CONFIG_SCSI_SYM53C416 is not set
-+# CONFIG_SCSI_DC390T is not set
-+# CONFIG_SCSI_T128 is not set
-+# CONFIG_SCSI_U14_34F is not set
-+# CONFIG_SCSI_NSP32 is not set
-+# CONFIG_SCSI_DEBUG is not set
-+
-+#
-+# PCMCIA SCSI adapter support
-+#
-+# CONFIG_SCSI_PCMCIA is not set
-+
-+#
-+# Fusion MPT device support
-+#
-+# CONFIG_FUSION is not set
-+# CONFIG_FUSION_BOOT is not set
-+# CONFIG_FUSION_ISENSE is not set
-+# CONFIG_FUSION_CTL is not set
-+# CONFIG_FUSION_LAN is not set
-+
-+#
-+# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-+#
-+# CONFIG_IEEE1394 is not set
-+
-+#
-+# I2O device support
-+#
-+# CONFIG_I2O is not set
-+# CONFIG_I2O_PCI is not set
-+# CONFIG_I2O_BLOCK is not set
-+# CONFIG_I2O_LAN is not set
-+# CONFIG_I2O_SCSI is not set
-+# CONFIG_I2O_PROC is not set
-+
-+#
-+# Network device support
-+#
-+CONFIG_NETDEVICES=y
-+
-+#
-+# ARCnet devices
-+#
-+# CONFIG_ARCNET is not set
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_ETHERTAP is not set
-+
-+#
-+# Ethernet (10 or 100Mbit)
-+#
-+CONFIG_NET_ETHERNET=y
-+# CONFIG_MIPS_AU1X00_ENET is not set
-+# CONFIG_SUNLANCE is not set
-+# CONFIG_HAPPYMEAL is not set
-+# CONFIG_SUNBMAC is not set
-+# CONFIG_SUNQE is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_LANCE is not set
-+# CONFIG_NET_VENDOR_SMC is not set
-+# CONFIG_NET_VENDOR_RACAL is not set
-+# CONFIG_HP100 is not set
-+# CONFIG_NET_ISA is not set
-+# CONFIG_NET_PCI is not set
-+# CONFIG_NET_POCKET is not set
-+
-+#
-+# Ethernet (1000 Mbit)
-+#
-+# CONFIG_ACENIC is not set
-+# CONFIG_DL2K is not set
-+# CONFIG_E1000 is not set
-+# CONFIG_MYRI_SBUS is not set
-+# CONFIG_NS83820 is not set
-+# CONFIG_HAMACHI is not set
-+# CONFIG_YELLOWFIN is not set
-+# CONFIG_R8169 is not set
-+# CONFIG_SK98LIN is not set
-+# CONFIG_TIGON3 is not set
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PLIP is not set
-+CONFIG_PPP=m
-+CONFIG_PPP_MULTILINK=y
-+# CONFIG_PPP_FILTER is not set
-+CONFIG_PPP_ASYNC=m
-+# CONFIG_PPP_SYNC_TTY is not set
-+CONFIG_PPP_DEFLATE=m
-+# CONFIG_PPP_BSDCOMP is not set
-+CONFIG_PPPOE=m
-+# CONFIG_SLIP is not set
-+
-+#
-+# Wireless LAN (non-hamradio)
-+#
-+# CONFIG_NET_RADIO is not set
-+
-+#
-+# Token Ring devices
-+#
-+# CONFIG_TR is not set
-+# CONFIG_NET_FC is not set
-+# CONFIG_RCPCI is not set
-+# CONFIG_SHAPER is not set
-+
-+#
-+# Wan interfaces
-+#
-+# CONFIG_WAN is not set
-+
-+#
-+# PCMCIA network device support
-+#
-+# CONFIG_NET_PCMCIA is not set
-+
-+#
-+# Amateur Radio support
-+#
-+# CONFIG_HAMRADIO is not set
-+
-+#
-+# IrDA (infrared) support
-+#
-+# CONFIG_IRDA is not set
-+
-+#
-+# ISDN subsystem
-+#
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input core support
-+#
-+CONFIG_INPUT=y
-+CONFIG_INPUT_KEYBDEV=y
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_UINPUT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+# CONFIG_VT_CONSOLE is not set
-+# CONFIG_SERIAL is not set
-+# CONFIG_SERIAL_EXTENDED is not set
-+CONFIG_SERIAL_NONSTANDARD=y
-+# CONFIG_COMPUTONE is not set
-+# CONFIG_ROCKETPORT is not set
-+# CONFIG_CYCLADES is not set
-+# CONFIG_DIGIEPCA is not set
-+# CONFIG_DIGI is not set
-+# CONFIG_ESPSERIAL is not set
-+# CONFIG_MOXA_INTELLIO is not set
-+# CONFIG_MOXA_SMARTIO is not set
-+# CONFIG_ISI is not set
-+# CONFIG_SYNCLINK is not set
-+# CONFIG_SYNCLINKMP is not set
-+# CONFIG_N_HDLC is not set
-+# CONFIG_RISCOM8 is not set
-+# CONFIG_SPECIALIX is not set
-+# CONFIG_SX is not set
-+# CONFIG_RIO is not set
-+# CONFIG_STALDRV is not set
-+# CONFIG_SERIAL_TX3912 is not set
-+# CONFIG_SERIAL_TX3912_CONSOLE is not set
-+# CONFIG_SERIAL_TXX9 is not set
-+# CONFIG_SERIAL_TXX9_CONSOLE is not set
-+CONFIG_AU1X00_UART=y
-+CONFIG_AU1X00_SERIAL_CONSOLE=y
-+# CONFIG_AU1X00_USB_TTY is not set
-+# CONFIG_AU1X00_USB_RAW is not set
-+# CONFIG_TXX927_SERIAL is not set
-+CONFIG_UNIX98_PTYS=y
-+CONFIG_UNIX98_PTY_COUNT=256
-+
-+#
-+# I2C support
-+#
-+CONFIG_I2C=y
-+# CONFIG_I2C_ALGOBIT is not set
-+# CONFIG_SCx200_ACB is not set
-+# CONFIG_I2C_ALGOPCF is not set
-+# CONFIG_I2C_CHARDEV is not set
-+CONFIG_I2C_PROC=y
-+
-+#
-+# Mice
-+#
-+# CONFIG_BUSMOUSE is not set
-+# CONFIG_MOUSE is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_GAMEPORT is not set
-+# CONFIG_INPUT_NS558 is not set
-+# CONFIG_INPUT_LIGHTNING is not set
-+# CONFIG_INPUT_PCIGAME is not set
-+# CONFIG_INPUT_CS461X is not set
-+# CONFIG_INPUT_EMU10K1 is not set
-+# CONFIG_INPUT_SERIO is not set
-+# CONFIG_INPUT_SERPORT is not set
-+
-+#
-+# Joysticks
-+#
-+# CONFIG_INPUT_ANALOG is not set
-+# CONFIG_INPUT_A3D is not set
-+# CONFIG_INPUT_ADI is not set
-+# CONFIG_INPUT_COBRA is not set
-+# CONFIG_INPUT_GF2K is not set
-+# CONFIG_INPUT_GRIP is not set
-+# CONFIG_INPUT_INTERACT is not set
-+# CONFIG_INPUT_TMDC is not set
-+# CONFIG_INPUT_SIDEWINDER is not set
-+# CONFIG_INPUT_IFORCE_USB is not set
-+# CONFIG_INPUT_IFORCE_232 is not set
-+# CONFIG_INPUT_WARRIOR is not set
-+# CONFIG_INPUT_MAGELLAN is not set
-+# CONFIG_INPUT_SPACEORB is not set
-+# CONFIG_INPUT_SPACEBALL is not set
-+# CONFIG_INPUT_STINGER is not set
-+# CONFIG_INPUT_DB9 is not set
-+# CONFIG_INPUT_GAMECON is not set
-+# CONFIG_INPUT_TURBOGRAFX is not set
-+# CONFIG_QIC02_TAPE is not set
-+# CONFIG_IPMI_HANDLER is not set
-+# CONFIG_IPMI_PANIC_EVENT is not set
-+# CONFIG_IPMI_DEVICE_INTERFACE is not set
-+# CONFIG_IPMI_KCS is not set
-+# CONFIG_IPMI_WATCHDOG is not set
-+
-+#
-+# Watchdog Cards
-+#
-+# CONFIG_WATCHDOG is not set
-+# CONFIG_SCx200 is not set
-+# CONFIG_SCx200_GPIO is not set
-+# CONFIG_AMD_PM768 is not set
-+# CONFIG_NVRAM is not set
-+# CONFIG_RTC is not set
-+# CONFIG_DTLK is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_APPLICOM is not set
-+
-+#
-+# Ftape, the floppy tape device driver
-+#
-+# CONFIG_FTAPE is not set
-+# CONFIG_AGP is not set
-+
-+#
-+# Direct Rendering Manager (XFree86 DRI support)
-+#
-+# CONFIG_DRM is not set
-+
-+#
-+# PCMCIA character devices
-+#
-+# CONFIG_PCMCIA_SERIAL_CS is not set
-+# CONFIG_SYNCLINK_CS is not set
-+# CONFIG_AU1X00_GPIO is not set
-+# CONFIG_TS_AU1X00_ADS7846 is not set
-+
-+#
-+# File systems
-+#
-+# CONFIG_QUOTA is not set
-+# CONFIG_QFMT_V2 is not set
-+CONFIG_AUTOFS_FS=y
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_REISERFS_CHECK is not set
-+# CONFIG_REISERFS_PROC_INFO is not set
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_ADFS_FS_RW is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BEFS_DEBUG is not set
-+# CONFIG_BFS_FS is not set
-+CONFIG_EXT3_FS=y
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+# CONFIG_UMSDOS_FS is not set
-+CONFIG_VFAT_FS=y
-+# CONFIG_EFS_FS is not set
-+# CONFIG_JFFS_FS is not set
-+# CONFIG_JFFS2_FS is not set
-+# CONFIG_CRAMFS is not set
-+CONFIG_TMPFS=y
-+CONFIG_RAMFS=y
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_JOLIET is not set
-+# CONFIG_ZISOFS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_JFS_DEBUG is not set
-+# CONFIG_JFS_STATISTICS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_NTFS_FS is not set
-+# CONFIG_NTFS_RW is not set
-+# CONFIG_HPFS_FS is not set
-+CONFIG_PROC_FS=y
-+# CONFIG_DEVFS_FS is not set
-+# CONFIG_DEVFS_MOUNT is not set
-+# CONFIG_DEVFS_DEBUG is not set
-+CONFIG_DEVPTS_FS=y
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_QNX4FS_RW is not set
-+# CONFIG_ROMFS_FS is not set
-+CONFIG_EXT2_FS=y
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UDF_FS is not set
-+# CONFIG_UDF_RW is not set
-+# CONFIG_UFS_FS is not set
-+# CONFIG_UFS_FS_WRITE is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_XFS_QUOTA is not set
-+# CONFIG_XFS_RT is not set
-+# CONFIG_XFS_TRACE is not set
-+# CONFIG_XFS_DEBUG is not set
-+
-+#
-+# Network File Systems
-+#
-+# CONFIG_CODA_FS is not set
-+# CONFIG_INTERMEZZO_FS is not set
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_DIRECTIO is not set
-+CONFIG_ROOT_NFS=y
-+# CONFIG_NFSD is not set
-+# CONFIG_NFSD_V3 is not set
-+# CONFIG_NFSD_TCP is not set
-+CONFIG_SUNRPC=y
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+# CONFIG_SMB_FS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_NCPFS_PACKET_SIGNING is not set
-+# CONFIG_NCPFS_IOCTL_LOCKING is not set
-+# CONFIG_NCPFS_STRONG is not set
-+# CONFIG_NCPFS_NFS_NS is not set
-+# CONFIG_NCPFS_OS2_NS is not set
-+# CONFIG_NCPFS_SMALLDOS is not set
-+# CONFIG_NCPFS_NLS is not set
-+# CONFIG_NCPFS_EXTRAS is not set
-+# CONFIG_ZISOFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+# CONFIG_PARTITION_ADVANCED is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_SMB_NLS is not set
-+CONFIG_NLS=y
-+
-+#
-+# Native Language Support
-+#
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+# CONFIG_NLS_CODEPAGE_437 is not set
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ISO8859_1 is not set
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+
-+#
-+# Multimedia devices
-+#
-+# CONFIG_VIDEO_DEV is not set
-+
-+#
-+# Console drivers
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+# CONFIG_MDA_CONSOLE is not set
-+
-+#
-+# Frame-buffer support
-+#
-+CONFIG_FB=y
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FB_RIVA is not set
-+# CONFIG_FB_CLGEN is not set
-+# CONFIG_FB_PM2 is not set
-+# CONFIG_FB_PM3 is not set
-+# CONFIG_FB_CYBER2000 is not set
-+# CONFIG_FB_MATROX is not set
-+# CONFIG_FB_ATY is not set
-+# CONFIG_FB_RADEON is not set
-+# CONFIG_FB_ATY128 is not set
-+# CONFIG_FB_INTEL is not set
-+# CONFIG_FB_SIS is not set
-+# CONFIG_FB_NEOMAGIC is not set
-+# CONFIG_FB_3DFX is not set
-+# CONFIG_FB_VOODOO1 is not set
-+# CONFIG_FB_TRIDENT is not set
-+# CONFIG_FB_E1356 is not set
-+# CONFIG_FB_IT8181 is not set
-+# CONFIG_FB_VIRTUAL is not set
-+CONFIG_FBCON_ADVANCED=y
-+# CONFIG_FBCON_MFB is not set
-+# CONFIG_FBCON_CFB2 is not set
-+# CONFIG_FBCON_CFB4 is not set
-+# CONFIG_FBCON_CFB8 is not set
-+CONFIG_FBCON_CFB16=y
-+# CONFIG_FBCON_CFB24 is not set
-+CONFIG_FBCON_CFB32=y
-+# CONFIG_FBCON_AFB is not set
-+# CONFIG_FBCON_ILBM is not set
-+# CONFIG_FBCON_IPLAN2P2 is not set
-+# CONFIG_FBCON_IPLAN2P4 is not set
-+# CONFIG_FBCON_IPLAN2P8 is not set
-+# CONFIG_FBCON_MAC is not set
-+# CONFIG_FBCON_VGA_PLANES is not set
-+# CONFIG_FBCON_VGA is not set
-+# CONFIG_FBCON_HGA is not set
-+# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
-+CONFIG_FBCON_FONTS=y
-+CONFIG_FONT_8x8=y
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+
-+#
-+# Sound
-+#
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_ALI5455 is not set
-+# CONFIG_SOUND_BT878 is not set
-+# CONFIG_SOUND_CMPCI is not set
-+# CONFIG_SOUND_EMU10K1 is not set
-+# CONFIG_MIDI_EMU10K1 is not set
-+# CONFIG_SOUND_FUSION is not set
-+# CONFIG_SOUND_CS4281 is not set
-+# CONFIG_SOUND_ES1370 is not set
-+# CONFIG_SOUND_ES1371 is not set
-+# CONFIG_SOUND_ESSSOLO1 is not set
-+# CONFIG_SOUND_MAESTRO is not set
-+# CONFIG_SOUND_MAESTRO3 is not set
-+# CONFIG_SOUND_FORTE is not set
-+# CONFIG_SOUND_ICH is not set
-+# CONFIG_SOUND_RME96XX is not set
-+# CONFIG_SOUND_SONICVIBES is not set
-+# CONFIG_SOUND_AU1X00 is not set
-+CONFIG_SOUND_AU1550_PSC=y
-+# CONFIG_SOUND_AU1550_I2S is not set
-+# CONFIG_SOUND_TRIDENT is not set
-+# CONFIG_SOUND_MSNDCLAS is not set
-+# CONFIG_SOUND_MSNDPIN is not set
-+# CONFIG_SOUND_VIA82CXXX is not set
-+# CONFIG_MIDI_VIA82CXXX is not set
-+# CONFIG_SOUND_OSS is not set
-+# CONFIG_SOUND_TVMIXER is not set
-+# CONFIG_SOUND_AD1980 is not set
-+# CONFIG_SOUND_WM97XX is not set
-+
-+#
-+# USB support
-+#
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_BANDWIDTH is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_EHCI_HCD is not set
-+# CONFIG_USB_UHCI is not set
-+# CONFIG_USB_UHCI_ALT is not set
-+CONFIG_USB_OHCI=y
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_AUDIO is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_BLUETOOTH is not set
-+# CONFIG_USB_MIDI is not set
-+CONFIG_USB_STORAGE=y
-+# CONFIG_USB_STORAGE_DEBUG is not set
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_HP8200e is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+
-+#
-+# USB Human Interface Devices (HID)
-+#
-+CONFIG_USB_HID=y
-+CONFIG_USB_HIDINPUT=y
-+CONFIG_USB_HIDDEV=y
-+# CONFIG_USB_AIPTEK is not set
-+# CONFIG_USB_WACOM is not set
-+# CONFIG_USB_KBTAB is not set
-+# CONFIG_USB_POWERMATE is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_DC2XX is not set
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_SCANNER is not set
-+# CONFIG_USB_MICROTEK is not set
-+# CONFIG_USB_HPUSBSCSI is not set
-+
-+#
-+# USB Multimedia devices
-+#
-+
-+#
-+#   Video4Linux support is needed for USB Multimedia device support
-+#
-+
-+#
-+# USB Network adaptors
-+#
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_CDCETHER is not set
-+# CONFIG_USB_USBNET is not set
-+
-+#
-+# USB port drivers
-+#
-+# CONFIG_USB_USS720 is not set
-+
-+#
-+# USB Serial Converter support
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_AUERSWALD is not set
-+# CONFIG_USB_TIGL is not set
-+# CONFIG_USB_BRLVGER is not set
-+# CONFIG_USB_LCD is not set
-+
-+#
-+# Support for USB gadgets
-+#
-+# CONFIG_USB_GADGET is not set
-+
-+#
-+# Bluetooth support
-+#
-+# CONFIG_BLUEZ is not set
-+
-+#
-+# Kernel hacking
-+#
-+CONFIG_CROSSCOMPILE=y
-+# CONFIG_RUNTIME_DEBUG is not set
-+# CONFIG_KGDB is not set
-+# CONFIG_GDB_CONSOLE is not set
-+# CONFIG_DEBUG_INFO is not set
-+# CONFIG_MAGIC_SYSRQ is not set
-+# CONFIG_MIPS_UNCACHED is not set
-+CONFIG_LOG_BUF_SHIFT=0
-+
-+#
-+# Cryptographic options
-+#
-+# CONFIG_CRYPTO is not set
-+
-+#
-+# Library routines
-+#
-+# CONFIG_CRC32 is not set
-+CONFIG_ZLIB_INFLATE=m
-+CONFIG_ZLIB_DEFLATE=m
-+# CONFIG_FW_LOADER is not set
-diff -Nur linux-2.4.30/arch/mips/defconfig-pb1500 linux-2.4.30-mips/arch/mips/defconfig-pb1500
---- linux-2.4.30/arch/mips/defconfig-pb1500    2005-01-19 15:09:28.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-pb1500       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- CONFIG_MIPS_PB1500=y
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -215,9 +215,7 @@
- # CONFIG_MTD_MTX1 is not set
- CONFIG_MTD_PB1500_BOOT=y
- # CONFIG_MTD_PB1500_USER is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -236,7 +234,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -341,11 +338,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -675,7 +667,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-pb1550 linux-2.4.30-mips/arch/mips/defconfig-pb1550
---- linux-2.4.30/arch/mips/defconfig-pb1550    2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-pb1550       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- CONFIG_MIPS_PB1550=y
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -213,11 +213,9 @@
- # CONFIG_MTD_BOSPORUS is not set
- # CONFIG_MTD_XXS1500 is not set
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- CONFIG_MTD_PB1550=y
- CONFIG_MTD_PB1550_BOOT=y
- CONFIG_MTD_PB1550_USER=y
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -236,7 +234,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -343,11 +340,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -633,7 +625,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-rbtx4927 linux-2.4.30-mips/arch/mips/defconfig-rbtx4927
---- linux-2.4.30/arch/mips/defconfig-rbtx4927  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-rbtx4927     2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -223,11 +223,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -466,7 +461,6 @@
- CONFIG_SERIAL_TXX9=y
- CONFIG_SERIAL_TXX9_CONSOLE=y
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-rm200 linux-2.4.30-mips/arch/mips/defconfig-rm200
---- linux-2.4.30/arch/mips/defconfig-rm200     2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-rm200        2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -229,11 +229,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -340,7 +335,6 @@
- # CONFIG_SERIAL is not set
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-sb1250-swarm linux-2.4.30-mips/arch/mips/defconfig-sb1250-swarm
---- linux-2.4.30/arch/mips/defconfig-sb1250-swarm      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-sb1250-swarm 2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -90,6 +90,7 @@
- # CONFIG_SIBYTE_TBPROF is not set
- CONFIG_SIBYTE_GENBUS_IDE=y
- CONFIG_SMP_CAPABLE=y
-+CONFIG_MIPS_RTC=y
- # CONFIG_SNI_RM200_PCI is not set
- # CONFIG_TANBAC_TB0226 is not set
- # CONFIG_TANBAC_TB0229 is not set
-@@ -253,11 +254,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -469,7 +465,6 @@
- CONFIG_SIBYTE_SB1250_DUART=y
- CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
- CONFIG_SERIAL_CONSOLE=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-sead linux-2.4.30-mips/arch/mips/defconfig-sead
---- linux-2.4.30/arch/mips/defconfig-sead      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-sead 2005-03-18 13:13:21.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -244,7 +244,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips/defconfig-stretch linux-2.4.30-mips/arch/mips/defconfig-stretch
---- linux-2.4.30/arch/mips/defconfig-stretch   2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-stretch      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -240,11 +240,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -324,9 +319,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -516,7 +513,6 @@
- # CONFIG_SERIAL_TXX9 is not set
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-tb0226 linux-2.4.30-mips/arch/mips/defconfig-tb0226
---- linux-2.4.30/arch/mips/defconfig-tb0226    2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-tb0226       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -228,11 +228,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -312,9 +307,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -518,7 +515,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-tb0229 linux-2.4.30-mips/arch/mips/defconfig-tb0229
---- linux-2.4.30/arch/mips/defconfig-tb0229    2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-tb0229       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -230,11 +230,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -445,7 +440,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-ti1500 linux-2.4.30-mips/arch/mips/defconfig-ti1500
---- linux-2.4.30/arch/mips/defconfig-ti1500    2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-ti1500       2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- CONFIG_MIPS_XXS1500=y
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -213,9 +213,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- CONFIG_MTD_XXS1500=y
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -234,7 +232,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -339,11 +336,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -600,7 +592,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-workpad linux-2.4.30-mips/arch/mips/defconfig-workpad
---- linux-2.4.30/arch/mips/defconfig-workpad   2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-workpad      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -222,11 +222,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -426,7 +421,6 @@
- # CONFIG_SERIAL_MULTIPORT is not set
- # CONFIG_HUB6 is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_VR41XX_KIU is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-xxs1500 linux-2.4.30-mips/arch/mips/defconfig-xxs1500
---- linux-2.4.30/arch/mips/defconfig-xxs1500   2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-xxs1500      2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- CONFIG_MIPS_XXS1500=y
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -213,9 +213,7 @@
- # CONFIG_MTD_BOSPORUS is not set
- CONFIG_MTD_XXS1500=y
- # CONFIG_MTD_MTX1 is not set
--# CONFIG_MTD_DB1X00 is not set
- # CONFIG_MTD_PB1550 is not set
--# CONFIG_MTD_HYDROGEN3 is not set
- # CONFIG_MTD_MIRAGE is not set
- # CONFIG_MTD_CSTM_MIPS_IXX is not set
- # CONFIG_MTD_OCELOT is not set
-@@ -234,7 +232,6 @@
- #
- # Disk-On-Chip Device Drivers
- #
--# CONFIG_MTD_DOC1000 is not set
- # CONFIG_MTD_DOC2000 is not set
- # CONFIG_MTD_DOC2001 is not set
- # CONFIG_MTD_DOCPROBE is not set
-@@ -339,11 +336,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -671,7 +663,6 @@
- # CONFIG_AU1X00_USB_TTY is not set
- # CONFIG_AU1X00_USB_RAW is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/defconfig-yosemite linux-2.4.30-mips/arch/mips/defconfig-yosemite
---- linux-2.4.30/arch/mips/defconfig-yosemite  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/defconfig-yosemite     2005-03-18 13:13:21.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -227,11 +227,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -310,9 +305,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -477,7 +474,6 @@
- # CONFIG_SERIAL_TXX9 is not set
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-mips/arch/mips/kernel/cpu-probe.c
---- linux-2.4.30/arch/mips/kernel/cpu-probe.c  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/kernel/cpu-probe.c     2005-04-08 10:33:17.000000000 +0200
-@@ -34,16 +34,12 @@
-               ".set\tmips0");
- }
--/* The Au1xxx wait is available only if we run CONFIG_PM and
-- * the timer setup found we had a 32KHz counter available.
-- * There are still problems with functions that may call au1k_wait
-- * directly, but that will be discovered pretty quickly.
-- */
--extern void (*au1k_wait_ptr)(void);
--void au1k_wait(void)
-+/* The Au1xxx wait is available only if using 32khz counter or
-+ * external timer source, but specifically not CP0 Counter. */
-+int allow_au1k_wait; 
-+static void au1k_wait(void)
- {
--#ifdef CONFIG_PM
--      unsigned long addr;
-+      unsigned long addr = 0;
-       /* using the wait instruction makes CP0 counter unusable */
-       __asm__("la %0,au1k_wait\n\t"
-               ".set mips3\n\t"
-@@ -58,10 +54,6 @@
-               "nop\n\t"
-               ".set mips0\n\t"
-               : : "r" (addr));
--#else
--      __asm__("nop\n\t"
--              "nop");
--#endif
- }
- static inline void check_wait(void)
-@@ -100,20 +92,17 @@
-               cpu_wait = r4k_wait;
-               printk(" available.\n");
-               break;
--#ifdef CONFIG_PM
-       case CPU_AU1000:
-       case CPU_AU1100:
-       case CPU_AU1500:
-       case CPU_AU1550:
--              if (au1k_wait_ptr != NULL) {
--                      cpu_wait = au1k_wait_ptr;
-+      case CPU_AU1200:
-+              if (allow_au1k_wait) {
-+                      cpu_wait = au1k_wait;
-                       printk(" available.\n");
--              }
--              else {
-+              } else
-                       printk(" unavailable.\n");
--              }
-               break;
--#endif
-       default:
-               printk(" unavailable.\n");
-               break;
-diff -Nur linux-2.4.30/arch/mips/kernel/head.S linux-2.4.30-mips/arch/mips/kernel/head.S
---- linux-2.4.30/arch/mips/kernel/head.S       2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/kernel/head.S  2004-11-22 14:38:23.000000000 +0100
-@@ -43,9 +43,9 @@
-               /* Cache Error */
-               LEAF(except_vec2_generic)
-+              .set    push
-               .set    noreorder
-               .set    noat
--              .set    mips0
-               /*
-                * This is a very bad place to be.  Our cache error
-                * detection has triggered.  If we have write-back data
-@@ -64,10 +64,9 @@
-               j       cache_parity_error
-                nop
-+              .set    pop
-               END(except_vec2_generic)
--              .set    at
--
-               /*
-                * Special interrupt vector for embedded MIPS.  This is a
-                * dedicated interrupt vector which reduces interrupt processing
-@@ -76,8 +75,11 @@
-                * size!
-                */
-               NESTED(except_vec4, 0, sp)
-+              .set    push
-+              .set    noreorder
- 1:            j       1b                      /* Dummy, will be replaced */
-                nop
-+              .set    pop
-               END(except_vec4)
-               /*
-@@ -87,8 +89,11 @@
-                * unconditional jump to this vector.
-                */
-               NESTED(except_vec_ejtag_debug, 0, sp)
-+              .set    push
-+              .set    noreorder
-               j       ejtag_debug_handler
-                nop
-+              .set    pop
-               END(except_vec_ejtag_debug)
-               __FINIT
-@@ -97,6 +102,7 @@
-                * EJTAG debug exception handler.
-                */
-               NESTED(ejtag_debug_handler, PT_SIZE, sp)
-+              .set    push
-               .set    noat
-               .set    noreorder
-               mtc0    k0, CP0_DESAVE
-@@ -120,7 +126,7 @@
-               deret
-               .set    mips0
-                nop
--              .set    at
-+              .set    pop
-               END(ejtag_debug_handler)
-               __INIT
-@@ -132,13 +138,17 @@
-               * unconditional jump to this vector.
-               */
-               NESTED(except_vec_nmi, 0, sp)
-+              .set    push
-+              .set    noreorder
-               j       nmi_handler
-                nop
-+              .set    pop
-               END(except_vec_nmi)
-               __FINIT
-               NESTED(nmi_handler, PT_SIZE, sp)
-+              .set    push
-               .set    noat
-               .set    noreorder
-               .set    mips3
-@@ -147,8 +157,7 @@
-                move   a0, sp
-               RESTORE_ALL
-               eret
--              .set    at
--              .set    mips0
-+              .set    pop
-               END(nmi_handler)
-               __INIT
-@@ -157,7 +166,20 @@
-                * Kernel entry point
-                */
-               NESTED(kernel_entry, 16, sp)
-+              .set    push
-+              /*
-+               * For the moment disable interrupts and mark the kernel mode.
-+               * A full initialization of the CPU's status register is done
-+               * later in per_cpu_trap_init().
-+               */
-+              mfc0    t0, CP0_STATUS
-+              or      t0, ST0_CU0|0x1f
-+              xor     t0, 0x1f
-+              mtc0    t0, CP0_STATUS
-+
-               .set    noreorder
-+              sll     zero,3                          # ehb
-+              .set    reorder
-               /*
-                * The firmware/bootloader passes argc/argp/envp
-@@ -170,8 +192,8 @@
-               la      t1, (_end - 4)
- 1:
-               addiu   t0, 4
-+              sw      zero, (t0)
-               bne     t0, t1, 1b
--               sw     zero, (t0)
-               /*
-                * Stack for kernel and init, current variable
-@@ -182,7 +204,7 @@
-               sw      t0, kernelsp
-               jal     init_arch
--               nop
-+              .set    pop
-               END(kernel_entry)
-@@ -193,17 +215,26 @@
-  * function after setting up the stack and gp registers.
-  */
-               LEAF(smp_bootstrap)
--              .set push
--              .set noreorder
--              mtc0    zero, CP0_WIRED
--              CLI
-+              .set    push
-+              /*
-+               * For the moment disable interrupts and bootstrap exception
-+               * vectors and mark the kernel mode.  A full initialization of
-+               * the CPU's status register is done later in
-+               * per_cpu_trap_init().
-+               */
-               mfc0    t0, CP0_STATUS
--              li      t1, ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX|ST0_UX)
--              and     t0, t1
--              or      t0, (ST0_CU0);
-+              or      t0, ST0_CU0|ST0_BEV|0x1f
-+              xor     t0, ST0_BEV|0x1f
-+              mtc0    t0, CP0_STATUS
-+
-+              .set    noreorder
-+              sll     zero,3                          # ehb
-+              .set    reorder
-+
-+              mtc0    zero, CP0_WIRED
-+
-               jal     start_secondary
--               mtc0   t0, CP0_STATUS
--              .set pop
-+              .set    pop
-               END(smp_bootstrap)
- #endif
-diff -Nur linux-2.4.30/arch/mips/kernel/scall_o32.S linux-2.4.30-mips/arch/mips/kernel/scall_o32.S
---- linux-2.4.30/arch/mips/kernel/scall_o32.S  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/kernel/scall_o32.S     2005-02-07 22:21:53.000000000 +0100
-@@ -121,15 +121,14 @@
- trace_a_syscall:
-       SAVE_STATIC
--      sw      t2, PT_R1(sp)
-+      move    s0, t2
-       jal     syscall_trace
--      lw      t2, PT_R1(sp)
-       lw      a0, PT_R4(sp)           # Restore argument registers
-       lw      a1, PT_R5(sp)
-       lw      a2, PT_R6(sp)
-       lw      a3, PT_R7(sp)
--      jalr    t2
-+      jalr    s0
-       li      t0, -EMAXERRNO - 1      # error?
-       sltu    t0, t0, v0
-diff -Nur linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30-mips/arch/mips/kernel/setup.c
---- linux-2.4.30/arch/mips/kernel/setup.c      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/kernel/setup.c 2005-01-13 22:15:57.000000000 +0100
-@@ -5,7 +5,7 @@
-  *
-  * Copyright (C) 1995  Linus Torvalds
-  * Copyright (C) 1995  Waldorf Electronics
-- * Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001  Ralf Baechle
-+ * Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 01, 05  Ralf Baechle
-  * Copyright (C) 1996  Stoned Elipot
-  * Copyright (C) 2000, 2001, 2002  Maciej W. Rozycki
-  */
-@@ -71,6 +71,8 @@
- extern struct rtc_ops no_rtc_ops;
- struct rtc_ops *rtc_ops;
-+EXPORT_SYMBOL(rtc_ops);
-+
- #ifdef CONFIG_PC_KEYB
- struct kbd_ops *kbd_ops;
- #endif
-@@ -132,10 +134,6 @@
-        */
-       load_mmu();
--      /* Disable coprocessors and set FPU for 16/32 FPR register model */
--      clear_c0_status(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX|ST0_FR);
--      set_c0_status(ST0_CU0);
--
-       start_kernel();
- }
-diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-mips/arch/mips/kernel/traps.c
---- linux-2.4.30/arch/mips/kernel/traps.c      2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/kernel/traps.c 2005-04-12 22:25:34.000000000 +0200
-@@ -452,9 +452,10 @@
-       }
-       ll_task = current;
-+      compute_return_epc(regs);
-+
-       regs->regs[(opcode & RT) >> 16] = value;
--      compute_return_epc(regs);
-       return;
- sig:
-@@ -485,8 +486,8 @@
-               goto sig;
-       }
-       if (ll_bit == 0 || ll_task != current) {
--              regs->regs[reg] = 0;
-               compute_return_epc(regs);
-+              regs->regs[reg] = 0;
-               return;
-       }
-@@ -495,9 +496,9 @@
-               goto sig;
-       }
-+      compute_return_epc(regs);
-       regs->regs[reg] = 1;
--      compute_return_epc(regs);
-       return;
- sig:
-@@ -887,12 +888,18 @@
- void __init per_cpu_trap_init(void)
- {
-       unsigned int cpu = smp_processor_id();
-+      unsigned int status_set = ST0_CU0;
--      /* Some firmware leaves the BEV flag set, clear it.  */
--      clear_c0_status(ST0_CU3|ST0_CU2|ST0_CU1|ST0_BEV|ST0_KX|ST0_SX|ST0_UX);
--
-+      /*
-+       * Disable coprocessors and 64-bit addressing and set FPU for
-+       * the 16/32 FPR register model.  Reset the BEV flag that some
-+       * firmware may have left set and the TS bit (for IP27).  Set
-+       * XX for ISA IV code to work.
-+       */
-       if (current_cpu_data.isa_level == MIPS_CPU_ISA_IV)
--              set_c0_status(ST0_XX);
-+              status_set |= ST0_XX;
-+      change_c0_status(ST0_CU|ST0_FR|ST0_BEV|ST0_TS|ST0_KX|ST0_SX|ST0_UX,
-+                       status_set);
-       /*
-        * Some MIPS CPUs have a dedicated interrupt vector which reduces the
-@@ -902,7 +909,7 @@
-               set_c0_cause(CAUSEF_IV);
-       cpu_data[cpu].asid_cache = ASID_FIRST_VERSION;
--      write_c0_context(cpu << 23);
-+      TLBMISS_HANDLER_SETUP();
-       atomic_inc(&init_mm.mm_count);
-       current->active_mm = &init_mm;
-@@ -918,8 +925,6 @@
-       extern char except_vec4;
-       unsigned long i;
--      per_cpu_trap_init();
--
-       /* Copy the generic exception handler code to it's final destination. */
-       memcpy((void *)(KSEG0 + 0x80), &except_vec1_generic, 0x80);
-@@ -1020,10 +1025,5 @@
-       flush_icache_range(KSEG0, KSEG0 + 0x400);
--      atomic_inc(&init_mm.mm_count);  /* XXX UP?  */
--      current->active_mm = &init_mm;
--
--      /* XXX Must be done for all CPUs  */
--      current_cpu_data.asid_cache = ASID_FIRST_VERSION;
--      TLBMISS_HANDLER_SETUP();
-+      per_cpu_trap_init();
- }
-diff -Nur linux-2.4.30/arch/mips/lib/rtc-no.c linux-2.4.30-mips/arch/mips/lib/rtc-no.c
---- linux-2.4.30/arch/mips/lib/rtc-no.c        2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/lib/rtc-no.c   2005-01-13 22:15:57.000000000 +0100
-@@ -6,10 +6,9 @@
-  * Stub RTC routines to keep Linux from crashing on machine which don't
-  * have a RTC chip.
-  *
-- * Copyright (C) 1998, 2001 by Ralf Baechle
-+ * Copyright (C) 1998, 2001, 2005 by Ralf Baechle
-  */
- #include <linux/kernel.h>
--#include <linux/module.h>
- #include <linux/mc146818rtc.h>
- static unsigned int shouldnt_happen(void)
-@@ -29,5 +28,3 @@
-     .rtc_write_data = (void *) &shouldnt_happen,
-     .rtc_bcd_mode   = (void *) &shouldnt_happen
- };
--
--EXPORT_SYMBOL(rtc_ops);
-diff -Nur linux-2.4.30/arch/mips/lib/rtc-std.c linux-2.4.30-mips/arch/mips/lib/rtc-std.c
---- linux-2.4.30/arch/mips/lib/rtc-std.c       2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/lib/rtc-std.c  2005-01-13 22:15:57.000000000 +0100
-@@ -5,9 +5,8 @@
-  *
-  * RTC routines for PC style attached Dallas chip.
-  *
-- * Copyright (C) 1998, 2001 by Ralf Baechle
-+ * Copyright (C) 1998, 2001, 05 by Ralf Baechle
-  */
--#include <linux/module.h>
- #include <linux/mc146818rtc.h>
- #include <asm/io.h>
-@@ -33,5 +32,3 @@
-       &std_rtc_write_data,
-       &std_rtc_bcd_mode
- };
--
--EXPORT_SYMBOL(rtc_ops);
-diff -Nur linux-2.4.30/arch/mips/mm/c-r4k.c linux-2.4.30-mips/arch/mips/mm/c-r4k.c
---- linux-2.4.30/arch/mips/mm/c-r4k.c  2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/mm/c-r4k.c     2005-02-06 22:55:42.000000000 +0100
-@@ -867,9 +867,16 @@
-        * normally they'd suffer from aliases but magic in the hardware deals
-        * with that for us so we don't need to take care ourselves.
-        */
--      if (c->cputype != CPU_R10000 && c->cputype != CPU_R12000)
--              if (c->dcache.waysize > PAGE_SIZE)
--                      c->dcache.flags |= MIPS_CACHE_ALIASES;
-+      switch (c->cputype) {
-+      case CPU_R10000:
-+      case CPU_R12000:
-+              break;
-+      case CPU_24K:
-+              if (!(read_c0_config7() & (1 << 16)))
-+      default:
-+                      if (c->dcache.waysize > PAGE_SIZE)
-+                              c->dcache.flags |= MIPS_CACHE_ALIASES;
-+      }
-       switch (c->cputype) {
-       case CPU_20KC:
-@@ -1069,9 +1076,6 @@
-       probe_pcache();
-       setup_scache();
--      if (c->dcache.sets * c->dcache.ways > PAGE_SIZE)
--              c->dcache.flags |= MIPS_CACHE_ALIASES;
--
-       r4k_blast_dcache_page_setup();
-       r4k_blast_dcache_page_indexed_setup();
-       r4k_blast_dcache_setup();
-diff -Nur linux-2.4.30/arch/mips/mm/cerr-sb1.c linux-2.4.30-mips/arch/mips/mm/cerr-sb1.c
---- linux-2.4.30/arch/mips/mm/cerr-sb1.c       2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/mm/cerr-sb1.c  2004-12-13 18:37:23.000000000 +0100
-@@ -252,14 +252,14 @@
- /* Masks to select bits for Hamming parity, mask_72_64[i] for bit[i] */
- static const uint64_t mask_72_64[8] = {
--      0x0738C808099264FFL,
--      0x38C808099264FF07L,
--      0xC808099264FF0738L,
--      0x08099264FF0738C8L,
--      0x099264FF0738C808L,
--      0x9264FF0738C80809L,
--      0x64FF0738C8080992L,
--      0xFF0738C808099264L
-+      0x0738C808099264FFULL,
-+      0x38C808099264FF07ULL,
-+      0xC808099264FF0738ULL,
-+      0x08099264FF0738C8ULL,
-+      0x099264FF0738C808ULL,
-+      0x9264FF0738C80809ULL,
-+      0x64FF0738C8080992ULL,
-+      0xFF0738C808099264ULL
- };
- /* Calculate the parity on a range of bits */
-@@ -331,9 +331,9 @@
-                                   ((lru >> 4) & 0x3),
-                                   ((lru >> 6) & 0x3));
-               }
--              va = (taglo & 0xC0000FFFFFFFE000) | addr;
-+              va = (taglo & 0xC0000FFFFFFFE000ULL) | addr;
-               if ((taglo & (1 << 31)) && (((taglo >> 62) & 0x3) == 3))
--                      va |= 0x3FFFF00000000000;
-+                      va |= 0x3FFFF00000000000ULL;
-               valid = ((taghi >> 29) & 1);
-               if (valid) {
-                       tlo_tmp = taglo & 0xfff3ff;
-@@ -474,7 +474,7 @@
-               : "r" ((way << 13) | addr));
-               taglo = ((unsigned long long)taglohi << 32) | taglolo;
--              pa = (taglo & 0xFFFFFFE000) | addr;
-+              pa = (taglo & 0xFFFFFFE000ULL) | addr;
-               if (way == 0) {
-                       lru = (taghi >> 14) & 0xff;
-                       prom_printf("[Bank %d Set 0x%02x]  LRU > %d %d %d %d > MRU\n",
-diff -Nur linux-2.4.30/arch/mips/mm/tlb-r4k.c linux-2.4.30-mips/arch/mips/mm/tlb-r4k.c
---- linux-2.4.30/arch/mips/mm/tlb-r4k.c        2005-01-19 15:09:29.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/mm/tlb-r4k.c   2004-11-25 23:18:38.000000000 +0100
-@@ -3,17 +3,12 @@
-  * License.  See the file "COPYING" in the main directory of this archive
-  * for more details.
-  *
-- * r4xx0.c: R4000 processor variant specific MMU/Cache routines.
-- *
-  * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
-  * Copyright (C) 1997, 1998, 1999, 2000 Ralf Baechle ralf@gnu.org
-- *
-- * To do:
-- *
-- *  - this code is a overbloated pig
-- *  - many of the bug workarounds are not efficient at all, but at
-- *    least they are functional ...
-+ * Carsten Langgaard, carstenl@mips.com
-+ * Copyright (C) 2002 MIPS Technologies, Inc.  All rights reserved.
-  */
-+#include <linux/config.h>
- #include <linux/init.h>
- #include <linux/sched.h>
- #include <linux/mm.h>
-@@ -25,9 +20,6 @@
- #include <asm/pgtable.h>
- #include <asm/system.h>
--#undef DEBUG_TLB
--#undef DEBUG_TLBUPDATE
--
- extern char except_vec0_nevada, except_vec0_r4000, except_vec0_r4600;
- /* CP0 hazard avoidance. */
-@@ -41,33 +33,23 @@
-       unsigned long old_ctx;
-       int entry;
--#ifdef DEBUG_TLB
--      printk("[tlball]");
--#endif
--
-       local_irq_save(flags);
-       /* Save old context and create impossible VPN2 value */
-       old_ctx = read_c0_entryhi();
-       write_c0_entrylo0(0);
-       write_c0_entrylo1(0);
--      BARRIER;
-       entry = read_c0_wired();
-       /* Blast 'em all away. */
-       while (entry < current_cpu_data.tlbsize) {
--              /*
--               * Make sure all entries differ.  If they're not different
--               * MIPS32 will take revenge ...
--               */
-               write_c0_entryhi(KSEG0 + entry*0x2000);
-               write_c0_index(entry);
--              BARRIER;
-+              mtc0_tlbw_hazard();
-               tlb_write_indexed();
--              BARRIER;
-               entry++;
-       }
--      BARRIER;
-+      tlbw_use_hazard();
-       write_c0_entryhi(old_ctx);
-       local_irq_restore(flags);
- }
-@@ -76,12 +58,8 @@
- {
-       int cpu = smp_processor_id();
--      if (cpu_context(cpu, mm) != 0) {
--#ifdef DEBUG_TLB
--              printk("[tlbmm<%d>]", cpu_context(cpu, mm));
--#endif
-+      if (cpu_context(cpu, mm) != 0)
-               drop_mmu_context(mm,cpu);
--      }
- }
- void local_flush_tlb_range(struct mm_struct *mm, unsigned long start,
-@@ -93,10 +71,6 @@
-               unsigned long flags;
-               int size;
--#ifdef DEBUG_TLB
--              printk("[tlbrange<%02x,%08lx,%08lx>]",
--                     cpu_asid(cpu, mm), start, end);
--#endif
-               local_irq_save(flags);
-               size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
-               size = (size + 1) >> 1;
-@@ -112,7 +86,7 @@
-                               write_c0_entryhi(start | newpid);
-                               start += (PAGE_SIZE << 1);
--                              BARRIER;
-+                              mtc0_tlbw_hazard();
-                               tlb_probe();
-                               BARRIER;
-                               idx = read_c0_index();
-@@ -122,10 +96,10 @@
-                                       continue;
-                               /* Make sure all entries differ. */
-                               write_c0_entryhi(KSEG0 + idx*0x2000);
--                              BARRIER;
-+                              mtc0_tlbw_hazard();
-                               tlb_write_indexed();
--                              BARRIER;
-                       }
-+                      tlbw_use_hazard();
-                       write_c0_entryhi(oldpid);
-               } else {
-                       drop_mmu_context(mm, cpu);
-@@ -138,34 +112,30 @@
- {
-       int cpu = smp_processor_id();
--      if (!vma || cpu_context(cpu, vma->vm_mm) != 0) {
-+      if (cpu_context(cpu, vma->vm_mm) != 0) {
-               unsigned long flags;
--              int oldpid, newpid, idx;
-+              unsigned long oldpid, newpid, idx;
--#ifdef DEBUG_TLB
--              printk("[tlbpage<%d,%08lx>]", cpu_context(cpu, vma->vm_mm),
--                     page);
--#endif
-               newpid = cpu_asid(cpu, vma->vm_mm);
-               page &= (PAGE_MASK << 1);
-               local_irq_save(flags);
-               oldpid = read_c0_entryhi();
-               write_c0_entryhi(page | newpid);
--              BARRIER;
-+              mtc0_tlbw_hazard();
-               tlb_probe();
-               BARRIER;
-               idx = read_c0_index();
-               write_c0_entrylo0(0);
-               write_c0_entrylo1(0);
--              if(idx < 0)
-+              if (idx < 0)
-                       goto finish;
-               /* Make sure all entries differ. */
-               write_c0_entryhi(KSEG0+idx*0x2000);
--              BARRIER;
-+              mtc0_tlbw_hazard();
-               tlb_write_indexed();
-+              tlbw_use_hazard();
-       finish:
--              BARRIER;
-               write_c0_entryhi(oldpid);
-               local_irq_restore(flags);
-       }
-@@ -185,7 +155,7 @@
-       local_irq_save(flags);
-       write_c0_entryhi(page);
--      BARRIER;
-+      mtc0_tlbw_hazard();
-       tlb_probe();
-       BARRIER;
-       idx = read_c0_index();
-@@ -194,18 +164,19 @@
-       if (idx >= 0) {
-               /* Make sure all entries differ. */
-               write_c0_entryhi(KSEG0+idx*0x2000);
-+              mtc0_tlbw_hazard();
-               tlb_write_indexed();
-+              tlbw_use_hazard();
-       }
--      BARRIER;
-       write_c0_entryhi(oldpid);
-+
-       local_irq_restore(flags);
- }
- EXPORT_SYMBOL(local_flush_tlb_one);
--/* We will need multiple versions of update_mmu_cache(), one that just
-- * updates the TLB with the new pte(s), and another which also checks
-- * for the R4k "end of page" hardware bug and does the needy.
-+/*
-+ * Updates the TLB with the new pte(s).
-  */
- void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte)
- {
-@@ -223,25 +194,16 @@
-       pid = read_c0_entryhi() & ASID_MASK;
--#ifdef DEBUG_TLB
--      if ((pid != cpu_asid(cpu, vma->vm_mm)) ||
--          (cpu_context(vma->vm_mm) == 0)) {
--              printk("update_mmu_cache: Wheee, bogus tlbpid mmpid=%d "
--                     "tlbpid=%d\n", (int) (cpu_asid(cpu, vma->vm_mm)), pid);
--      }
--#endif
--
-       local_irq_save(flags);
-       address &= (PAGE_MASK << 1);
-       write_c0_entryhi(address | pid);
-       pgdp = pgd_offset(vma->vm_mm, address);
--      BARRIER;
-+      mtc0_tlbw_hazard();
-       tlb_probe();
-       BARRIER;
-       pmdp = pmd_offset(pgdp, address);
-       idx = read_c0_index();
-       ptep = pte_offset(pmdp, address);
--      BARRIER;
- #if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_CPU_MIPS32)
-       write_c0_entrylo0(ptep->pte_high);
-       ptep++;
-@@ -251,15 +213,13 @@
-       write_c0_entrylo1(pte_val(*ptep) >> 6);
- #endif
-       write_c0_entryhi(address | pid);
--      BARRIER;
--      if (idx < 0) {
-+      mtc0_tlbw_hazard();
-+      if (idx < 0)
-               tlb_write_random();
--      } else {
-+      else
-               tlb_write_indexed();
--      }
--      BARRIER;
-+      tlbw_use_hazard();
-       write_c0_entryhi(pid);
--      BARRIER;
-       local_irq_restore(flags);
- }
-@@ -279,24 +239,26 @@
-       asid = read_c0_entryhi() & ASID_MASK;
-       write_c0_entryhi(address | asid);
-       pgdp = pgd_offset(vma->vm_mm, address);
-+      mtc0_tlbw_hazard();
-       tlb_probe();
-+      BARRIER;
-       pmdp = pmd_offset(pgdp, address);
-       idx = read_c0_index();
-       ptep = pte_offset(pmdp, address);
-       write_c0_entrylo0(pte_val(*ptep++) >> 6);
-       write_c0_entrylo1(pte_val(*ptep) >> 6);
--      BARRIER;
-+      mtc0_tlbw_hazard();
-       if (idx < 0)
-               tlb_write_random();
-       else
-               tlb_write_indexed();
--      BARRIER;
-+      tlbw_use_hazard();
-       local_irq_restore(flags);
- }
- #endif
- void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
--                   unsigned long entryhi, unsigned long pagemask)
-+                          unsigned long entryhi, unsigned long pagemask)
- {
-       unsigned long flags;
-       unsigned long wired;
-@@ -315,9 +277,9 @@
-       write_c0_entryhi(entryhi);
-       write_c0_entrylo0(entrylo0);
-       write_c0_entrylo1(entrylo1);
--      BARRIER;
-+      mtc0_tlbw_hazard();
-       tlb_write_indexed();
--      BARRIER;
-+      tlbw_use_hazard();
-       write_c0_entryhi(old_ctx);
-       BARRIER;
-@@ -355,17 +317,15 @@
-       }
-       write_c0_index(temp_tlb_entry);
--      BARRIER;
-       write_c0_pagemask(pagemask);
-       write_c0_entryhi(entryhi);
-       write_c0_entrylo0(entrylo0);
-       write_c0_entrylo1(entrylo1);
--      BARRIER;
-+      mtc0_tlbw_hazard();
-       tlb_write_indexed();
--      BARRIER;
-+      tlbw_use_hazard();
-       write_c0_entryhi(old_ctx);
--      BARRIER;
-       write_c0_pagemask(old_pagemask);
- out:
-       local_irq_restore(flags);
-@@ -375,7 +335,7 @@
- static void __init probe_tlb(unsigned long config)
- {
-       struct cpuinfo_mips *c = &current_cpu_data;
--      unsigned int reg;
-+      unsigned int config1;
-       /*
-        * If this isn't a MIPS32 / MIPS64 compliant CPU.  Config 1 register
-@@ -385,16 +345,16 @@
-       if ((c->processor_id  & 0xff0000) == PRID_COMP_LEGACY)
-               return;
--      reg = read_c0_config1();
-+      config1 = read_c0_config1();
-       if (!((config >> 7) & 3))
-               panic("No TLB present");
--      c->tlbsize = ((reg >> 25) & 0x3f) + 1;
-+      c->tlbsize = ((config1 >> 25) & 0x3f) + 1;
- }
- void __init r4k_tlb_init(void)
- {
--      u32 config = read_c0_config();
-+      unsigned int config = read_c0_config();
-       /*
-        * You should never change this register:
-diff -Nur linux-2.4.30/arch/mips/mm/tlbex-mips32.S linux-2.4.30-mips/arch/mips/mm/tlbex-mips32.S
---- linux-2.4.30/arch/mips/mm/tlbex-mips32.S   2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/mm/tlbex-mips32.S      2004-11-29 00:33:15.000000000 +0100
-@@ -196,7 +196,7 @@
-       .set    noat; \
-       SAVE_ALL; \
-       mfc0    a2, CP0_BADVADDR; \
--      STI; \
-+      KMODE; \
-       .set    at; \
-       move    a0, sp; \
-       jal     do_page_fault; \
-diff -Nur linux-2.4.30/arch/mips/mm/tlbex-r4k.S linux-2.4.30-mips/arch/mips/mm/tlbex-r4k.S
---- linux-2.4.30/arch/mips/mm/tlbex-r4k.S      2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips/mm/tlbex-r4k.S 2004-11-25 23:18:38.000000000 +0100
-@@ -184,13 +184,10 @@
-       P_MTC0  k0, CP0_ENTRYLO0                # load it
-       PTE_SRL k1, k1, 6                       # convert to entrylo1
-       P_MTC0  k1, CP0_ENTRYLO1                # load it
--      b       1f
--      rm9000_tlb_hazard
-+      mtc0_tlbw_hazard
-       tlbwr                                   # write random tlb entry
--1:
--      nop
--      rm9000_tlb_hazard
--      eret                                    # return from trap
-+      tlbw_eret_hazard
-+      eret
-       END(except_vec0_r4000)
-       /* TLB refill, EXL == 0, R4600 version */
-@@ -468,13 +465,10 @@
-       PTE_PRESENT(k0, k1, nopage_tlbl)
-       PTE_MAKEVALID(k0, k1)
-       PTE_RELOAD(k1, k0)
--      rm9000_tlb_hazard
--      nop
--      b       1f
--       tlbwi
--1:
-+      mtc0_tlbw_hazard
-+      tlbwi
-       nop
--      rm9000_tlb_hazard
-+      tlbw_eret_hazard
-       .set    mips3
-       eret
-       .set    mips0
-@@ -496,13 +490,10 @@
-       PTE_WRITABLE(k0, k1, nopage_tlbs)
-       PTE_MAKEWRITE(k0, k1)
-       PTE_RELOAD(k1, k0)
--      rm9000_tlb_hazard
--      nop
--      b       1f
--       tlbwi
--1:
-+      mtc0_tlbw_hazard
-+      tlbwi
-       nop
--      rm9000_tlb_hazard
-+      tlbw_eret_hazard
-       .set    mips3
-       eret
-       .set    mips0
-@@ -529,13 +520,10 @@
-       /* Now reload the entry into the tlb. */
-       PTE_RELOAD(k1, k0)
--      rm9000_tlb_hazard
--      nop
--      b       1f
--       tlbwi
--1:
--      rm9000_tlb_hazard
-+      mtc0_tlbw_hazard
-+      tlbwi
-       nop
-+      tlbw_eret_hazard
-       .set    mips3
-       eret
-       .set    mips0
-diff -Nur linux-2.4.30/arch/mips64/defconfig linux-2.4.30-mips/arch/mips64/defconfig
---- linux-2.4.30/arch/mips64/defconfig 2005-01-19 15:09:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig    2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -470,9 +470,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -658,7 +660,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-atlas linux-2.4.30-mips/arch/mips64/defconfig-atlas
---- linux-2.4.30/arch/mips64/defconfig-atlas   2005-01-19 15:09:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-atlas      2005-03-18 13:13:23.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -232,11 +232,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -314,9 +309,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -474,7 +471,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-decstation linux-2.4.30-mips/arch/mips64/defconfig-decstation
---- linux-2.4.30/arch/mips64/defconfig-decstation      2005-01-19 15:09:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-decstation 2005-03-18 13:13:23.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -224,11 +224,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -307,9 +302,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -477,7 +474,6 @@
- CONFIG_SERIAL_DEC_CONSOLE=y
- # CONFIG_DZ is not set
- CONFIG_ZS=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-ip22 linux-2.4.30-mips/arch/mips64/defconfig-ip22
---- linux-2.4.30/arch/mips64/defconfig-ip22    2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-ip22       2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -235,11 +235,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -319,9 +314,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -488,7 +485,6 @@
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
- CONFIG_IP22_SERIAL=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-ip27 linux-2.4.30-mips/arch/mips64/defconfig-ip27
---- linux-2.4.30/arch/mips64/defconfig-ip27    2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-ip27       2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -470,9 +470,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -658,7 +660,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-jaguar linux-2.4.30-mips/arch/mips64/defconfig-jaguar
---- linux-2.4.30/arch/mips64/defconfig-jaguar  2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-jaguar     2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -227,11 +227,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -403,7 +398,6 @@
- # CONFIG_SERIAL_TXX9 is not set
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-malta linux-2.4.30-mips/arch/mips64/defconfig-malta
---- linux-2.4.30/arch/mips64/defconfig-malta   2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-malta      2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -235,11 +235,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -317,9 +312,11 @@
- # CONFIG_SCSI_MEGARAID is not set
- # CONFIG_SCSI_MEGARAID2 is not set
- # CONFIG_SCSI_SATA is not set
-+# CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- # CONFIG_SCSI_ATA_PIIX is not set
- # CONFIG_SCSI_SATA_NV is not set
-+# CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_SX4 is not set
- # CONFIG_SCSI_SATA_SIL is not set
-@@ -477,7 +474,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-ocelotc linux-2.4.30-mips/arch/mips64/defconfig-ocelotc
---- linux-2.4.30/arch/mips64/defconfig-ocelotc 2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-ocelotc    2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -231,11 +231,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -453,7 +448,6 @@
- # CONFIG_SERIAL_TXX9 is not set
- # CONFIG_SERIAL_TXX9_CONSOLE is not set
- # CONFIG_TXX927_SERIAL is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-sb1250-swarm linux-2.4.30-mips/arch/mips64/defconfig-sb1250-swarm
---- linux-2.4.30/arch/mips64/defconfig-sb1250-swarm    2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-sb1250-swarm       2005-03-18 13:13:23.000000000 +0100
-@@ -30,8 +30,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -90,6 +90,7 @@
- # CONFIG_SIBYTE_TBPROF is not set
- CONFIG_SIBYTE_GENBUS_IDE=y
- CONFIG_SMP_CAPABLE=y
-+CONFIG_MIPS_RTC=y
- # CONFIG_SNI_RM200_PCI is not set
- # CONFIG_TANBAC_TB0226 is not set
- # CONFIG_TANBAC_TB0229 is not set
-@@ -253,11 +254,6 @@
- #
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
--
--#
--# Appletalk devices
--#
--# CONFIG_DEV_APPLETALK is not set
- # CONFIG_DECNET is not set
- # CONFIG_BRIDGE is not set
- # CONFIG_X25 is not set
-@@ -432,7 +428,6 @@
- CONFIG_SIBYTE_SB1250_DUART=y
- CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y
- CONFIG_SERIAL_CONSOLE=y
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_UNIX98_PTY_COUNT=256
-diff -Nur linux-2.4.30/arch/mips64/defconfig-sead linux-2.4.30-mips/arch/mips64/defconfig-sead
---- linux-2.4.30/arch/mips64/defconfig-sead    2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/defconfig-sead       2005-03-18 13:13:23.000000000 +0100
-@@ -28,8 +28,8 @@
- # CONFIG_MIPS_PB1000 is not set
- # CONFIG_MIPS_PB1100 is not set
- # CONFIG_MIPS_PB1500 is not set
--# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_PB1550 is not set
-+# CONFIG_MIPS_HYDROGEN3 is not set
- # CONFIG_MIPS_XXS1500 is not set
- # CONFIG_MIPS_MTX1 is not set
- # CONFIG_COGENT_CSB250 is not set
-@@ -242,7 +242,6 @@
- CONFIG_SERIAL_CONSOLE=y
- # CONFIG_SERIAL_EXTENDED is not set
- # CONFIG_SERIAL_NONSTANDARD is not set
--# CONFIG_MIPS_HYDROGEN3_BUTTONS is not set
- # CONFIG_UNIX98_PTYS is not set
- #
-diff -Nur linux-2.4.30/arch/mips64/kernel/binfmt_elfn32.c linux-2.4.30-mips/arch/mips64/kernel/binfmt_elfn32.c
---- linux-2.4.30/arch/mips64/kernel/binfmt_elfn32.c    2003-08-25 13:44:40.000000000 +0200
-+++ linux-2.4.30-mips/arch/mips64/kernel/binfmt_elfn32.c       2005-01-26 03:40:47.000000000 +0100
-@@ -116,4 +116,7 @@
- #undef MODULE_DESCRIPTION
- #undef MODULE_AUTHOR
-+#undef TASK_SIZE
-+#define TASK_SIZE TASK_SIZE32
-+
- #include "../../../fs/binfmt_elf.c"
-diff -Nur linux-2.4.30/arch/mips64/kernel/binfmt_elfo32.c linux-2.4.30-mips/arch/mips64/kernel/binfmt_elfo32.c
---- linux-2.4.30/arch/mips64/kernel/binfmt_elfo32.c    2003-08-25 13:44:40.000000000 +0200
-+++ linux-2.4.30-mips/arch/mips64/kernel/binfmt_elfo32.c       2005-01-26 03:40:47.000000000 +0100
-@@ -137,4 +137,7 @@
- #undef MODULE_DESCRIPTION
- #undef MODULE_AUTHOR
-+#undef TASK_SIZE
-+#define TASK_SIZE TASK_SIZE32
-+
- #include "../../../fs/binfmt_elf.c"
-diff -Nur linux-2.4.30/arch/mips64/kernel/head.S linux-2.4.30-mips/arch/mips64/kernel/head.S
---- linux-2.4.30/arch/mips64/kernel/head.S     2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/head.S        2004-11-22 14:38:26.000000000 +0100
-@@ -91,6 +91,21 @@
-       __INIT
- NESTED(kernel_entry, 16, sp)                  # kernel entry point
-+      .set    push
-+      /*
-+       * For the moment disable interrupts, mark the kernel mode and
-+       * set ST0_KX so that the CPU does not spit fire when using
-+       * 64-bit addresses.  A full initialization of the CPU's status
-+       * register is done later in per_cpu_trap_init().
-+       */
-+      mfc0    t0, CP0_STATUS
-+      or      t0, ST0_CU0|ST0_KX|0x1f
-+      xor     t0, 0x1f
-+      mtc0    t0, CP0_STATUS
-+
-+      .set    noreorder
-+      sll     zero,3                          # ehb
-+      .set    reorder
-       ori     sp, 0xf                         # align stack on 16 byte.
-       xori    sp, 0xf
-@@ -103,8 +118,6 @@
-       ARC64_TWIDDLE_PC
--      CLI                                     # disable interrupts
--
-       /*
-        * The firmware/bootloader passes argc/argp/envp
-        * to us as arguments.  But clear bss first because
-@@ -125,6 +138,7 @@
-       dsubu   sp, 4*SZREG                     # init stack pointer
-       j       init_arch
-+      .set    pop
-       END(kernel_entry)
- #ifdef CONFIG_SMP
-@@ -133,6 +147,23 @@
-  * function after setting up the stack and gp registers.
-  */
- NESTED(smp_bootstrap, 16, sp)
-+      .set    push
-+      /*
-+       * For the moment disable interrupts and bootstrap exception
-+       * vectors, mark the kernel mode and set ST0_KX so that the CPU
-+       * does not spit fire when using 64-bit addresses.  A full
-+       * initialization of the CPU's status register is done later in
-+       * per_cpu_trap_init().
-+       */
-+      mfc0    t0, CP0_STATUS
-+      or      t0, ST0_CU0|ST0_BEV|ST0_KX|0x1f
-+      xor     t0, ST0_BEV|0x1f
-+      mtc0    t0, CP0_STATUS
-+
-+      .set    noreorder
-+      sll     zero,3                          # ehb
-+      .set    reorder
-+
- #ifdef CONFIG_SGI_IP27
-       GET_NASID_ASM   t1
-       dli     t0, KLDIR_OFFSET + (KLI_KERN_VARS * KLDIR_ENT_SIZE) + \
-@@ -146,19 +177,8 @@
-       ARC64_TWIDDLE_PC
- #endif /* CONFIG_SGI_IP27 */
--      CLI
--
--      /*
--       * For the moment set ST0_KU so the CPU will not spit fire when
--       * executing 64-bit instructions.  The full initialization of the
--       * CPU's status register is done later in per_cpu_trap_init().
--       */
--        mfc0  t0, CP0_STATUS
--        or    t0, ST0_KX
--      mtc0    t0, CP0_STATUS
--
-       jal     start_secondary                 # XXX: IP27: cboot
--
-+      .set    pop
-       END(smp_bootstrap)
- #endif /* CONFIG_SMP */
-diff -Nur linux-2.4.30/arch/mips64/kernel/ioctl32.c linux-2.4.30-mips/arch/mips64/kernel/ioctl32.c
---- linux-2.4.30/arch/mips64/kernel/ioctl32.c  2005-01-19 15:09:31.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/ioctl32.c     2005-01-26 03:36:17.000000000 +0100
-@@ -2352,7 +2352,7 @@
-       IOCTL32_HANDLER(AUTOFS_IOC_SETTIMEOUT32, ioc_settimeout),
-       IOCTL32_DEFAULT(AUTOFS_IOC_EXPIRE),
-       IOCTL32_DEFAULT(AUTOFS_IOC_EXPIRE_MULTI),
--      IOCTL32_DEFAULT(AUTOFS_IOC_PROTSUBVER),
-+      IOCTL32_DEFAULT(AUTOFS_IOC_PROTOSUBVER),
-       IOCTL32_DEFAULT(AUTOFS_IOC_ASKREGHOST),
-       IOCTL32_DEFAULT(AUTOFS_IOC_TOGGLEREGHOST),
-       IOCTL32_DEFAULT(AUTOFS_IOC_ASKUMOUNT),
-diff -Nur linux-2.4.30/arch/mips64/kernel/linux32.c linux-2.4.30-mips/arch/mips64/kernel/linux32.c
---- linux-2.4.30/arch/mips64/kernel/linux32.c  2005-04-04 03:42:19.000000000 +0200
-+++ linux-2.4.30-mips/arch/mips64/kernel/linux32.c     2005-03-18 13:13:23.000000000 +0100
-@@ -1187,72 +1187,19 @@
-    lseek back to original location.  They fail just like lseek does on
-    non-seekable files.  */
--asmlinkage ssize_t sys32_pread(unsigned int fd, char * buf,
--                             size_t count, u32 unused, u64 a4, u64 a5)
-+asmlinkage ssize_t sys32_pread(unsigned int fd, char *buf,
-+                                 size_t count, u32 unused, u64 a4, u64 a5)
- {
--      ssize_t ret;
--      struct file * file;
--      ssize_t (*read)(struct file *, char *, size_t, loff_t *);
--      loff_t pos;
--
--      ret = -EBADF;
--      file = fget(fd);
--      if (!file)
--              goto bad_file;
--      if (!(file->f_mode & FMODE_READ))
--              goto out;
--      pos = merge_64(a4, a5);
--      ret = locks_verify_area(FLOCK_VERIFY_READ, file->f_dentry->d_inode,
--                              file, pos, count);
--      if (ret)
--              goto out;
--      ret = -EINVAL;
--      if (!file->f_op || !(read = file->f_op->read))
--              goto out;
--      if (pos < 0)
--              goto out;
--      ret = read(file, buf, count, &pos);
--      if (ret > 0)
--              dnotify_parent(file->f_dentry, DN_ACCESS);
--out:
--      fput(file);
--bad_file:
--      return ret;
-+      return sys_pread(fd, buf, count, merge_64(a4, a5));
- }
- asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char * buf,
-                               size_t count, u32 unused, u64 a4, u64 a5)
- {
--      ssize_t ret;
--      struct file * file;
--      ssize_t (*write)(struct file *, const char *, size_t, loff_t *);
--      loff_t pos;
--
--      ret = -EBADF;
--      file = fget(fd);
--      if (!file)
--              goto bad_file;
--      if (!(file->f_mode & FMODE_WRITE))
--              goto out;
--      pos = merge_64(a4, a5);
--      ret = locks_verify_area(FLOCK_VERIFY_WRITE, file->f_dentry->d_inode,
--                              file, pos, count);
--      if (ret)
--              goto out;
--      ret = -EINVAL;
--      if (!file->f_op || !(write = file->f_op->write))
--              goto out;
--      if (pos < 0)
--              goto out;
--
--      ret = write(file, buf, count, &pos);
--      if (ret > 0)
--              dnotify_parent(file->f_dentry, DN_MODIFY);
--out:
--      fput(file);
--bad_file:
--      return ret;
-+      return sys_pwrite(fd, buf, count, merge_64(a4, a5));
- }
-+
-+
- /*
-  * Ooo, nasty.  We need here to frob 32-bit unsigned longs to
-  * 64-bit unsigned longs.
-diff -Nur linux-2.4.30/arch/mips64/kernel/scall_64.S linux-2.4.30-mips/arch/mips64/kernel/scall_64.S
---- linux-2.4.30/arch/mips64/kernel/scall_64.S 2005-01-19 15:09:32.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/scall_64.S    2005-02-07 22:21:54.000000000 +0100
-@@ -102,15 +102,14 @@
- trace_a_syscall:
-       SAVE_STATIC
--      sd      t2,PT_R1(sp)
-+      move    s0, t2
-       jal     syscall_trace
--      ld      t2,PT_R1(sp)
-       ld      a0, PT_R4(sp)           # Restore argument registers
-       ld      a1, PT_R5(sp)
-       ld      a2, PT_R6(sp)
-       ld      a3, PT_R7(sp)
--      jalr    t2
-+      jalr    s0
-       li      t0, -EMAXERRNO - 1      # error?
-       sltu    t0, t0, v0
-diff -Nur linux-2.4.30/arch/mips64/kernel/scall_n32.S linux-2.4.30-mips/arch/mips64/kernel/scall_n32.S
---- linux-2.4.30/arch/mips64/kernel/scall_n32.S        2005-01-19 15:09:32.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/scall_n32.S   2005-02-07 22:21:54.000000000 +0100
-@@ -106,15 +106,14 @@
- trace_a_syscall:
-       SAVE_STATIC
--      sd      t2,PT_R1(sp)
-+      move    s0, t2
-       jal     syscall_trace
--      ld      t2,PT_R1(sp)
-       ld      a0, PT_R4(sp)           # Restore argument registers
-       ld      a1, PT_R5(sp)
-       ld      a2, PT_R6(sp)
-       ld      a3, PT_R7(sp)
--      jalr    t2
-+      jalr    s0
-       li      t0, -EMAXERRNO - 1      # error?
-       sltu    t0, t0, v0
-diff -Nur linux-2.4.30/arch/mips64/kernel/scall_o32.S linux-2.4.30-mips/arch/mips64/kernel/scall_o32.S
---- linux-2.4.30/arch/mips64/kernel/scall_o32.S        2005-01-19 15:09:32.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/scall_o32.S   2005-02-14 04:52:57.000000000 +0100
-@@ -118,9 +118,8 @@
-       sd      a6, PT_R10(sp)
-       sd      a7, PT_R11(sp)
--      sd      t2,PT_R1(sp)
-+      move    s0, t2
-       jal     syscall_trace
--      ld      t2,PT_R1(sp)
-       ld      a0, PT_R4(sp)           # Restore argument registers
-       ld      a1, PT_R5(sp)
-@@ -129,7 +128,7 @@
-       ld      a4, PT_R8(sp)
-       ld      a5, PT_R9(sp)
--      jalr    t2
-+      jalr    s0
-       li      t0, -EMAXERRNO - 1      # error?
-       sltu    t0, t0, v0
-@@ -576,6 +575,8 @@
- sys_call_table:
-       syscalltable
-+      .purgem sys
-+
-       .macro  sys function, nargs
-       .byte   \nargs
-       .endm
-diff -Nur linux-2.4.30/arch/mips64/kernel/setup.c linux-2.4.30-mips/arch/mips64/kernel/setup.c
---- linux-2.4.30/arch/mips64/kernel/setup.c    2005-01-19 15:09:32.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/setup.c       2004-11-22 14:38:26.000000000 +0100
-@@ -129,14 +129,6 @@
-        */
-       load_mmu();
--      /*
--       * On IP27, I am seeing the TS bit set when the kernel is loaded.
--       * Maybe because the kernel is in ckseg0 and not xkphys? Clear it
--       * anyway ...
--       */
--      clear_c0_status(ST0_BEV|ST0_TS|ST0_CU1|ST0_CU2|ST0_CU3);
--      set_c0_status(ST0_CU0|ST0_KX|ST0_SX|ST0_FR);
--
-       start_kernel();
- }
-diff -Nur linux-2.4.30/arch/mips64/kernel/signal_n32.c linux-2.4.30-mips/arch/mips64/kernel/signal_n32.c
---- linux-2.4.30/arch/mips64/kernel/signal_n32.c       2005-01-19 15:09:33.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/signal_n32.c  2005-02-07 22:10:53.000000000 +0100
-@@ -68,7 +68,7 @@
- };
- extern asmlinkage int restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc);
--extern int inline setup_sigcontext(struct pt_regs *regs, struct sigcontext *sc);
-+extern int setup_sigcontext(struct pt_regs *regs, struct sigcontext *sc);
- asmlinkage void sysn32_rt_sigreturn(abi64_no_regargs, struct pt_regs regs)
- {
-diff -Nur linux-2.4.30/arch/mips64/kernel/traps.c linux-2.4.30-mips/arch/mips64/kernel/traps.c
---- linux-2.4.30/arch/mips64/kernel/traps.c    2005-01-19 15:09:33.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/kernel/traps.c       2005-04-12 22:25:34.000000000 +0200
-@@ -462,9 +462,10 @@
-       }
-       ll_task = current;
-+      compute_return_epc(regs);
-+
-       regs->regs[(opcode & RT) >> 16] = value;
--      compute_return_epc(regs);
-       return;
- sig:
-@@ -495,8 +496,8 @@
-               goto sig;
-       }
-       if (ll_bit == 0 || ll_task != current) {
--              regs->regs[reg] = 0;
-               compute_return_epc(regs);
-+              regs->regs[reg] = 0;
-               return;
-       }
-@@ -505,9 +506,9 @@
-               goto sig;
-       }
-+      compute_return_epc(regs);
-       regs->regs[reg] = 1;
--      compute_return_epc(regs);
-       return;
- sig:
-@@ -809,13 +810,18 @@
- void __init per_cpu_trap_init(void)
- {
-       unsigned int cpu = smp_processor_id();
-+      unsigned int status_set = ST0_CU0|ST0_FR|ST0_KX|ST0_SX|ST0_UX;
--      /* Some firmware leaves the BEV flag set, clear it.  */
--      clear_c0_status(ST0_CU1|ST0_CU2|ST0_CU3|ST0_BEV);
--      set_c0_status(ST0_CU0|ST0_FR|ST0_KX|ST0_SX|ST0_UX);
--
-+      /*
-+       * Disable coprocessors, enable 64-bit addressing and set FPU
-+       * for the 32/32 FPR register model.  Reset the BEV flag that
-+       * some firmware may have left set and the TS bit (for IP27).
-+       * Set XX for ISA IV code to work.
-+       */
-       if (current_cpu_data.isa_level == MIPS_CPU_ISA_IV)
--              set_c0_status(ST0_XX);
-+              status_set |= ST0_XX;
-+      change_c0_status(ST0_CU|ST0_FR|ST0_BEV|ST0_TS|ST0_KX|ST0_SX|ST0_UX,
-+                       status_set);
-       /*
-        * Some MIPS CPUs have a dedicated interrupt vector which reduces the
-@@ -825,13 +831,11 @@
-               set_c0_cause(CAUSEF_IV);
-       cpu_data[cpu].asid_cache = ASID_FIRST_VERSION;
--      write_c0_context(((long)(&pgd_current[cpu])) << 23);
--      write_c0_wired(0);
-+      TLBMISS_HANDLER_SETUP();
-       atomic_inc(&init_mm.mm_count);
-       current->active_mm = &init_mm;
--      if (current->mm)
--              BUG();
-+      BUG_ON(current->mm);
-       enter_lazy_tlb(&init_mm, current, cpu);
- }
-@@ -842,8 +846,6 @@
-       extern char except_vec4;
-       unsigned long i;
--      per_cpu_trap_init();
--
-       /* Copy the generic exception handlers to their final destination. */
-       memcpy((void *) KSEG0         , &except_vec0_generic, 0x80);
-       memcpy((void *)(KSEG0 + 0x180), &except_vec3_generic, 0x80);
-@@ -933,6 +935,5 @@
-       flush_icache_range(KSEG0, KSEG0 + 0x400);
--      atomic_inc(&init_mm.mm_count);  /* XXX UP?  */
--      current->active_mm = &init_mm;
-+      per_cpu_trap_init();
- }
-diff -Nur linux-2.4.30/arch/mips64/mm/c-r4k.c linux-2.4.30-mips/arch/mips64/mm/c-r4k.c
---- linux-2.4.30/arch/mips64/mm/c-r4k.c        2005-01-19 15:09:33.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/mm/c-r4k.c   2005-02-06 22:55:42.000000000 +0100
-@@ -867,9 +867,16 @@
-        * normally they'd suffer from aliases but magic in the hardware deals
-        * with that for us so we don't need to take care ourselves.
-        */
--      if (c->cputype != CPU_R10000 && c->cputype != CPU_R12000)
--              if (c->dcache.waysize > PAGE_SIZE)
--                      c->dcache.flags |= MIPS_CACHE_ALIASES;
-+      switch (c->cputype) {
-+      case CPU_R10000:
-+      case CPU_R12000:
-+              break;
-+      case CPU_24K:
-+              if (!(read_c0_config7() & (1 << 16)))
-+      default:
-+                      if (c->dcache.waysize > PAGE_SIZE)
-+                              c->dcache.flags |= MIPS_CACHE_ALIASES;
-+      }
-       switch (c->cputype) {
-       case CPU_20KC:
-@@ -1070,9 +1077,6 @@
-       setup_scache();
-       coherency_setup();
--      if (c->dcache.sets * c->dcache.ways > PAGE_SIZE)
--              c->dcache.flags |= MIPS_CACHE_ALIASES;
--
-       r4k_blast_dcache_page_setup();
-       r4k_blast_dcache_page_indexed_setup();
-       r4k_blast_dcache_setup();
-diff -Nur linux-2.4.30/arch/mips64/mm/cerr-sb1.c linux-2.4.30-mips/arch/mips64/mm/cerr-sb1.c
---- linux-2.4.30/arch/mips64/mm/cerr-sb1.c     2004-02-18 14:36:30.000000000 +0100
-+++ linux-2.4.30-mips/arch/mips64/mm/cerr-sb1.c        2004-12-13 18:37:26.000000000 +0100
-@@ -252,14 +252,14 @@
- /* Masks to select bits for Hamming parity, mask_72_64[i] for bit[i] */
- static const uint64_t mask_72_64[8] = {
--      0x0738C808099264FFL,
--      0x38C808099264FF07L,
--      0xC808099264FF0738L,
--      0x08099264FF0738C8L,
--      0x099264FF0738C808L,
--      0x9264FF0738C80809L,
--      0x64FF0738C8080992L,
--      0xFF0738C808099264L
-+      0x0738C808099264FFULL,
-+      0x38C808099264FF07ULL,
-+      0xC808099264FF0738ULL,
-+      0x08099264FF0738C8ULL,
-+      0x099264FF0738C808ULL,
-+      0x9264FF0738C80809ULL,
-+      0x64FF0738C8080992ULL,
-+      0xFF0738C808099264ULL
- };
- /* Calculate the parity on a range of bits */
-@@ -331,9 +331,9 @@
-                                   ((lru >> 4) & 0x3),
-                                   ((lru >> 6) & 0x3));
-               }
--              va = (taglo & 0xC0000FFFFFFFE000) | addr;
-+              va = (taglo & 0xC0000FFFFFFFE000ULL) | addr;
-               if ((taglo & (1 << 31)) && (((taglo >> 62) & 0x3) == 3))
--                      va |= 0x3FFFF00000000000;
-+                      va |= 0x3FFFF00000000000ULL;
-               valid = ((taghi >> 29) & 1);
-               if (valid) {
-                       tlo_tmp = taglo & 0xfff3ff;
-@@ -474,7 +474,7 @@
-               : "r" ((way << 13) | addr));
-               taglo =