diff options
Diffstat (limited to 'openwrt/target/linux/linux-2.4')
7 files changed, 2579 insertions, 2556 deletions
diff --git a/openwrt/target/linux/linux-2.4/Makefile b/openwrt/target/linux/linux-2.4/Makefile index 39828963e..0e3424569 100644 --- a/openwrt/target/linux/linux-2.4/Makefile +++ b/openwrt/target/linux/linux-2.4/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk include ../rules.mk KERNEL:=2.4 -LINUX_VERSION:=2.4.30 +LINUX_VERSION:=2.4.32 MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION) LINUX_KCONFIG:=./config/$(BOARD) LINUX_BUILD_DIR:=$(BUILD_DIR)/linux-2.4-$(BOARD) diff --git a/openwrt/target/linux/linux-2.4/README b/openwrt/target/linux/linux-2.4/README index 8dff7fccc..15d95232d 100644 --- a/openwrt/target/linux/linux-2.4/README +++ b/openwrt/target/linux/linux-2.4/README @@ -5,9 +5,9 @@ generic/ Generic patches for vanilla Linux kernel 000-linux_mips.patch - This is the diff between vanilla linux-2.4.30 and linux-mips.org kernel - (CVS tag 2_4_30 used). The kernel source from linux-mips.org CVS repository has - newer drivers and code then vanilla linux-2.4.30 especially for the mips architecture. + This is the diff between vanilla linux-2.4.32 and linux-mips.org kernel + (CVS tag 2_4_32-rc1 used). The kernel source from linux-mips.org CVS repository has + newer drivers and code then vanilla linux-2.4.32 especially for the mips architecture. 001-squashfs.patch Support for the squashfs filesystem. It has better compression ratio then cramfs. @@ -77,7 +77,7 @@ brcm/ 001-bcm47xx.patch This is the broadcom specific code from asus (1941) GPL source tarball. - There are many small patches included, so it works with linux 2.4.30 kernel. + There are many small patches included, so it works with linux 2.4.32 kernel. The original code is based on Linux 2.4.20. 002-wl_fix.patch diff --git a/openwrt/target/linux/linux-2.4/broadcom.mk b/openwrt/target/linux/linux-2.4/broadcom.mk index 4d9441918..c8c4ecee8 100644 --- a/openwrt/target/linux/linux-2.4/broadcom.mk +++ b/openwrt/target/linux/linux-2.4/broadcom.mk @@ -57,8 +57,8 @@ $(LINUX_DIR)/.drivers-unpacked: $(LINUX_DIR)/.unpacked touch $@ $(LINUX_DIR)/.drivers-installed: $(LINUX_DIR)/.modules_done - mkdir -p $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.30/kernel/drivers/net/wl - @-[ -f $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.30/kernel/drivers/net/wl/wl.o ] || cp $(LINUX_DIR)/drivers/net/wl/wl.o $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.30/kernel/drivers/net/wl/ + mkdir -p $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl + @-[ -f $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/wl.o ] || cp $(LINUX_DIR)/drivers/net/wl/wl.o $(LINUX_BUILD_DIR)/modules/lib/modules/2.4.32/kernel/drivers/net/wl/ touch $@ linux-dirclean: drivers-clean diff --git a/openwrt/target/linux/linux-2.4/patches/generic/000-linux_mips.patch b/openwrt/target/linux/linux-2.4/patches/generic/000-linux_mips.patch index e2ebfce28..7fae1eefc 100644 --- a/openwrt/target/linux/linux-2.4/patches/generic/000-linux_mips.patch +++ b/openwrt/target/linux/linux-2.4/patches/generic/000-linux_mips.patch @@ -1,128 +1,6 @@ -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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/au1xxx_irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/au1xxx_irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/au1xxx_irqmap.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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}, @@ -169,9 +47,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/au1xxx_irqmap.c linux-2.4.30-mips { 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/cputable.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/cputable.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/cputable.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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 }, @@ -182,9 +60,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/cputable.c linux-2.4.30-mips/arch { 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/dbdma.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/dbdma.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/dbdma.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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> @@ -763,9 +641,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/dbdma.c linux-2.4.30-mips/arch/mi + #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/gpio.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/gpio.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/gpio.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -885,9 +763,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/gpio.c linux-2.4.30-mips/arch/mip +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/irq.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/irq.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/irq.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/common/irq.c 2005-03-13 08:56:57.000000000 +0100 @@ -303,8 +303,30 @@ }; @@ -955,9 +833,24 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/irq.c linux-2.4.30-mips/arch/mips } -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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/common/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/common/Makefile 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/au1000/common/pci_fixup.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/pci_fixup.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/pci_fixup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/common/pci_fixup.c 2004-12-03 09:00:32.000000000 +0100 @@ -75,9 +75,13 @@ #ifdef CONFIG_NONCOHERENT_IO @@ -974,9 +867,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/pci_fixup.c linux-2.4.30-mips/arc 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/pci_ops.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/pci_ops.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/pci_ops.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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) @@ -1018,9 +911,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/pci_ops.c linux-2.4.30-mips/arch/ } #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/power.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/power.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/power.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/common/power.c 2005-04-07 02:37:19.000000000 +0200 @@ -50,7 +50,6 @@ static void calibrate_delay(void); @@ -1247,9 +1140,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/power.c linux-2.4.30-mips/arch/mi {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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/reset.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/reset.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/reset.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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> @@ -1330,9 +1223,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/reset.c linux-2.4.30-mips/arch/mi + /* 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -1427,9 +1320,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/setup.c linux-2.4.30-mips/arch/mi 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/sleeper.S linux-2.4.32-rc1.mips/arch/mips/au1000/common/sleeper.S +--- linux-2.4.32-rc1/arch/mips/au1000/common/sleeper.S 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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> @@ -1698,9 +1591,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/sleeper.S linux-2.4.30-mips/arch/ + .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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/common/time.c linux-2.4.32-rc1.mips/arch/mips/au1000/common/time.c +--- linux-2.4.32-rc1/arch/mips/au1000/common/time.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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> @@ -1760,24 +1653,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/common/time.c linux-2.4.30-mips/arch/mip } #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/db1x00/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/db1x00/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/db1x00/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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> @@ -1861,9 +1739,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/board_setup.c linux-2.4.30-mips/a #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/db1x00/irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/db1x00/irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/db1x00/irqmap.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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# @@ -1872,9 +1750,24 @@ diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/irqmap.c linux-2.4.30-mips/arch/m #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/db1x00/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/db1x00/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/db1x00/Makefile 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/au1000/db1x00/mmc_support.c linux-2.4.32-rc1.mips/arch/mips/au1000/db1x00/mmc_support.c +--- linux-2.4.32-rc1/arch/mips/au1000/db1x00/mmc_support.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/db1x00/mmc_support.c 2005-01-30 09:07:01.000000000 +0100 @@ -0,0 +1,126 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -2002,38 +1895,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/db1x00/mmc_support.c linux-2.4.30-mips/a +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/au1200_ibutton.c linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/au1200_ibutton.c +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/au1200_ibutton.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/au1200_ibutton.c 2005-02-03 07:35:29.000000000 +0100 @@ -0,0 +1,270 @@ +/* ---------------------------------------------------------------------- + * mtwilson_keys.c @@ -2305,9 +2169,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/au1200_ibutton.c linux-2.4.30-mip +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/au1xxx_dock.c linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/au1xxx_dock.c +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/au1xxx_dock.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.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. @@ -2570,9 +2434,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/au1xxx_dock.c linux-2.4.30-mips/a + +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/board_setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -0,0 +1,226 @@ +/* + * @@ -2800,9 +2664,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/board_setup.c linux-2.4.30-mips/a + 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/init.c linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/init.c +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/init.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/init.c 2005-01-30 09:01:27.000000000 +0100 @@ -0,0 +1,76 @@ +/* + * @@ -2880,9 +2744,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/init.c linux-2.4.30-mips/arch/mip + 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/irqmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/irqmap.c 2005-01-30 09:01:27.000000000 +0100 @@ -0,0 +1,61 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -2945,25 +2809,38 @@ diff -Nur linux-2.4.30/arch/mips/au1000/ficmmp/irqmap.c linux-2.4.30-mips/arch/m + +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/ficmmp/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/ficmmp/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/ficmmp/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.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/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 ++ ++ ++include $(TOPDIR)/Rules.make +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -51,12 +51,19 @@ { } @@ -2984,9 +2861,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/board_setup.c linux-2.4.30-mip #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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/buttons.c linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/buttons.c +--- linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/buttons.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.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. @@ -3296,9 +3173,25 @@ diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/buttons.c linux-2.4.30-mips/ar + +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/Makefile 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/au1000/hydrogen3/mmc_support.c linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/mmc_support.c +--- linux-2.4.32-rc1/arch/mips/au1000/hydrogen3/mmc_support.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/hydrogen3/mmc_support.c 2005-02-02 05:27:06.000000000 +0100 @@ -0,0 +1,89 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -3389,9 +3282,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/hydrogen3/mmc_support.c linux-2.4.30-mip +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/mtx-1/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/mtx-1/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/mtx-1/board_setup.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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; @@ -3405,9 +3298,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/mtx-1/board_setup.c linux-2.4.30-mips/ar 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/mtx-1/irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/mtx-1/irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/mtx-1/irqmap.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/mtx-1/irqmap.c 2004-11-26 09:37:16.000000000 +0100 @@ -72,10 +72,10 @@ * A B C D */ @@ -3423,9 +3316,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/mtx-1/irqmap.c linux-2.4.30-mips/arch/mi }; 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1000/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1000/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1000/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1000/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -58,6 +58,10 @@ { } @@ -3437,23 +3330,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1000/board_setup.c linux-2.4.30-mips/a 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1100/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1100/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1100/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1100/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -62,6 +62,10 @@ au_writel(0x00000000, 0xAE00001C); } @@ -3465,9 +3344,23 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1100/board_setup.c linux-2.4.30-mips/a 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1100/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/pb1100/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/pb1100/Makefile 2003-08-25 13:44:39.000000000 +0200 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/au1000/pb1100/mmc_support.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1100/mmc_support.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1100/mmc_support.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1100/mmc_support.c 2005-01-30 09:10:29.000000000 +0100 @@ -0,0 +1,126 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -3595,38 +3488,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1100/mmc_support.c linux-2.4.30-mips/a +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1200/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1200/board_setup.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -0,0 +1,221 @@ +/* + * @@ -3849,9 +3713,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/board_setup.c linux-2.4.30-mips/a + 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1200/init.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/init.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1200/init.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/init.c 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,72 @@ +/* + * @@ -3925,9 +3789,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/init.c linux-2.4.30-mips/arch/mip + 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1200/irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1200/irqmap.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/irqmap.c 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,180 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -4109,9 +3973,38 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/irqmap.c linux-2.4.30-mips/arch/m + 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1200/Makefile linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/Makefile +--- linux-2.4.32-rc1/arch/mips/au1000/pb1200/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/au1000/pb1200/mmc_support.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/mmc_support.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1200/mmc_support.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1200/mmc_support.c 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,141 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -4254,9 +4147,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1200/mmc_support.c linux-2.4.30-mips/a +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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1500/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1500/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1500/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/au1000/pb1500/board_setup.c 2005-03-19 08:17:51.000000000 +0100 @@ -62,6 +62,10 @@ au_writel(0x00000000, 0xAE00001C); } @@ -4268,9 +4161,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1500/board_setup.c linux-2.4.30-mips/a 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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1550/board_setup.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1550/board_setup.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1550/board_setup.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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; @@ -4340,9 +4233,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1550/board_setup.c linux-2.4.30-mips/a +#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 +diff -Nur linux-2.4.32-rc1/arch/mips/au1000/pb1550/irqmap.c linux-2.4.32-rc1.mips/arch/mips/au1000/pb1550/irqmap.c +--- linux-2.4.32-rc1/arch/mips/au1000/pb1550/irqmap.c 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.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 }, @@ -4353,9 +4246,9 @@ diff -Nur linux-2.4.30/arch/mips/au1000/pb1550/irqmap.c linux-2.4.30-mips/arch/m }; 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 +diff -Nur linux-2.4.32-rc1/arch/mips/config-shared.in linux-2.4.32-rc1.mips/arch/mips/config-shared.in +--- linux-2.4.32-rc1/arch/mips/config-shared.in 2005-01-19 15:09:27.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4476,9 +4369,9 @@ diff -Nur linux-2.4.30/arch/mips/config-shared.in linux-2.4.30-mips/arch/mips/co "$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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig linux-2.4.32-rc1.mips/arch/mips/defconfig +--- linux-2.4.32-rc1/arch/mips/defconfig 2005-01-19 15:09:27.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4521,9 +4414,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig linux-2.4.30-mips/arch/mips/defconfig 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-atlas linux-2.4.32-rc1.mips/arch/mips/defconfig-atlas +--- linux-2.4.32-rc1/arch/mips/defconfig-atlas 2005-01-19 15:09:27.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4566,9 +4459,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-atlas linux-2.4.30-mips/arch/mips/def 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-bosporus linux-2.4.32-rc1.mips/arch/mips/defconfig-bosporus +--- linux-2.4.32-rc1/arch/mips/defconfig-bosporus 2005-01-19 15:09:27.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4629,9 +4522,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-bosporus linux-2.4.30-mips/arch/mips/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-capcella linux-2.4.32-rc1.mips/arch/mips/defconfig-capcella +--- linux-2.4.32-rc1/arch/mips/defconfig-capcella 2005-01-19 15:09:27.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4662,9 +4555,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-capcella linux-2.4.30-mips/arch/mips/ # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-cobalt linux-2.4.32-rc1.mips/arch/mips/defconfig-cobalt +--- linux-2.4.32-rc1/arch/mips/defconfig-cobalt 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4695,9 +4588,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-cobalt linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-csb250 linux-2.4.32-rc1.mips/arch/mips/defconfig-csb250 +--- linux-2.4.32-rc1/arch/mips/defconfig-csb250 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4728,9 +4621,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-csb250 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-db1000 linux-2.4.32-rc1.mips/arch/mips/defconfig-db1000 +--- linux-2.4.32-rc1/arch/mips/defconfig-db1000 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4781,9 +4674,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-db1000 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-db1100 linux-2.4.32-rc1.mips/arch/mips/defconfig-db1100 +--- linux-2.4.32-rc1/arch/mips/defconfig-db1100 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -4850,9 +4743,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-db1100 linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-db1200 linux-2.4.32-rc1.mips/arch/mips/defconfig-db1200 +--- linux-2.4.32-rc1/arch/mips/defconfig-db1200 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/defconfig-db1200 2005-03-18 13:13:21.000000000 +0100 @@ -0,0 +1,1032 @@ +# +# Automatically generated make config: don't edit @@ -5886,9 +5779,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-db1200 linux-2.4.30-mips/arch/mips/de +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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-db1500 linux-2.4.32-rc1.mips/arch/mips/defconfig-db1500 +--- linux-2.4.32-rc1/arch/mips/defconfig-db1500 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -5919,9 +5812,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-db1500 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-db1550 linux-2.4.32-rc1.mips/arch/mips/defconfig-db1550 +--- linux-2.4.32-rc1/arch/mips/defconfig-db1550 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -5972,9 +5865,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-db1550 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ddb5476 linux-2.4.32-rc1.mips/arch/mips/defconfig-ddb5476 +--- linux-2.4.32-rc1/arch/mips/defconfig-ddb5476 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6005,9 +5898,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ddb5476 linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ddb5477 linux-2.4.32-rc1.mips/arch/mips/defconfig-ddb5477 +--- linux-2.4.32-rc1/arch/mips/defconfig-ddb5477 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6038,9 +5931,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ddb5477 linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-decstation linux-2.4.32-rc1.mips/arch/mips/defconfig-decstation +--- linux-2.4.32-rc1/arch/mips/defconfig-decstation 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6083,9 +5976,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-decstation linux-2.4.30-mips/arch/mip 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-e55 linux-2.4.32-rc1.mips/arch/mips/defconfig-e55 +--- linux-2.4.32-rc1/arch/mips/defconfig-e55 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6116,9 +6009,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-e55 linux-2.4.30-mips/arch/mips/defco # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-eagle linux-2.4.32-rc1.mips/arch/mips/defconfig-eagle +--- linux-2.4.32-rc1/arch/mips/defconfig-eagle 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6178,9 +6071,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-eagle linux-2.4.30-mips/arch/mips/def # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ev64120 linux-2.4.32-rc1.mips/arch/mips/defconfig-ev64120 +--- linux-2.4.32-rc1/arch/mips/defconfig-ev64120 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6211,9 +6104,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ev64120 linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ev96100 linux-2.4.32-rc1.mips/arch/mips/defconfig-ev96100 +--- linux-2.4.32-rc1/arch/mips/defconfig-ev96100 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -6244,9 +6137,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ev96100 linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ficmmp linux-2.4.32-rc1.mips/arch/mips/defconfig-ficmmp +--- linux-2.4.32-rc1/arch/mips/defconfig-ficmmp 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/defconfig-ficmmp 2005-03-18 13:13:21.000000000 +0100 @@ -0,0 +1,862 @@ +# +# Automatically generated make config: don't edit @@ -7110,9 +7003,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ficmmp linux-2.4.30-mips/arch/mips/de +# 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-hp-lj linux-2.4.32-rc1.mips/arch/mips/defconfig-hp-lj +--- linux-2.4.32-rc1/arch/mips/defconfig-hp-lj 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7172,9 +7065,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-hp-lj linux-2.4.30-mips/arch/mips/def # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-hydrogen3 linux-2.4.32-rc1.mips/arch/mips/defconfig-hydrogen3 +--- linux-2.4.32-rc1/arch/mips/defconfig-hydrogen3 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7239,9 +7132,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-hydrogen3 linux-2.4.30-mips/arch/mips # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ip22 linux-2.4.32-rc1.mips/arch/mips/defconfig-ip22 +--- linux-2.4.32-rc1/arch/mips/defconfig-ip22 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7284,9 +7177,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ip22 linux-2.4.30-mips/arch/mips/defc 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-it8172 linux-2.4.32-rc1.mips/arch/mips/defconfig-it8172 +--- linux-2.4.32-rc1/arch/mips/defconfig-it8172 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7346,9 +7239,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-it8172 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ivr linux-2.4.32-rc1.mips/arch/mips/defconfig-ivr +--- linux-2.4.32-rc1/arch/mips/defconfig-ivr 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7379,9 +7272,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ivr linux-2.4.30-mips/arch/mips/defco 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-jmr3927 linux-2.4.32-rc1.mips/arch/mips/defconfig-jmr3927 +--- linux-2.4.32-rc1/arch/mips/defconfig-jmr3927 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7412,9 +7305,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-jmr3927 linux-2.4.30-mips/arch/mips/d # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-lasat linux-2.4.32-rc1.mips/arch/mips/defconfig-lasat +--- linux-2.4.32-rc1/arch/mips/defconfig-lasat 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7463,20 +7356,31 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-lasat linux-2.4.30-mips/arch/mips/def 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 @@ +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-malta linux-2.4.32-rc1.mips/arch/mips/defconfig-malta +--- linux-2.4.32-rc1/arch/mips/defconfig-malta 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/defconfig-malta 2005-04-19 14:19:34.000000000 +0200 +@@ -22,16 +22,19 @@ + # + # CONFIG_ACER_PICA_61 is not set + # CONFIG_MIPS_BOSPORUS is not set ++# CONFIG_MIPS_FICMMP 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_DB1200 is not set # 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_PB1200 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 @@ +@@ -237,11 +240,6 @@ # # CONFIG_IPX is not set # CONFIG_ATALK is not set @@ -7488,7 +7392,92 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-malta linux-2.4.30-mips/arch/mips/def # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set -@@ -319,9 +314,11 @@ +@@ -273,8 +271,83 @@ + # + # ATA/IDE/MFM/RLL support + # +-# CONFIG_IDE is not set ++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 is not set ++# CONFIG_IDEDISK_STROKE is not set ++# CONFIG_BLK_DEV_IDECS is not set ++# CONFIG_BLK_DEV_DELKIN is not set ++CONFIG_BLK_DEV_IDECD=y ++CONFIG_BLK_DEV_IDETAPE=y ++CONFIG_BLK_DEV_IDEFLOPPY=y ++CONFIG_BLK_DEV_IDESCSI=y ++# 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=y ++CONFIG_BLK_DEV_GENERIC=y ++CONFIG_IDEPCI_SHARE_IRQ=y ++CONFIG_BLK_DEV_IDEDMA_PCI=y ++# CONFIG_BLK_DEV_OFFBOARD is not set ++CONFIG_BLK_DEV_IDEDMA_FORCED=y ++CONFIG_IDEDMA_PCI_AUTO=y ++# CONFIG_IDEDMA_ONLYDISK is not set ++CONFIG_BLK_DEV_IDEDMA=y ++# CONFIG_IDEDMA_PCI_WIP is not set ++# CONFIG_BLK_DEV_ADMA100 is not set ++# CONFIG_BLK_DEV_AEC62XX is not set ++# CONFIG_BLK_DEV_ALI15X3 is not set ++# CONFIG_WDC_ALI15X3 is not set ++# CONFIG_BLK_DEV_AMD74XX is not set ++# CONFIG_AMD74XX_OVERRIDE is not set ++# CONFIG_BLK_DEV_ATIIXP is not set ++# CONFIG_BLK_DEV_CMD64X is not set ++# CONFIG_BLK_DEV_TRIFLEX is not set ++# CONFIG_BLK_DEV_CY82C693 is not set ++# CONFIG_BLK_DEV_CS5530 is not set ++# CONFIG_BLK_DEV_HPT34X is not set ++# CONFIG_HPT34X_AUTODMA is not set ++# CONFIG_BLK_DEV_HPT366 is not set ++CONFIG_BLK_DEV_PIIX=y ++# CONFIG_BLK_DEV_NS87415 is not set ++# CONFIG_BLK_DEV_OPTI621 is not set ++# CONFIG_BLK_DEV_PDC202XX_OLD is not set ++# CONFIG_PDC202XX_BURST is not set ++# CONFIG_BLK_DEV_PDC202XX_NEW is not set ++# CONFIG_BLK_DEV_RZ1000 is not set ++# CONFIG_BLK_DEV_SC1200 is not set ++# CONFIG_BLK_DEV_SVWKS is not set ++# CONFIG_BLK_DEV_SIIMAGE is not set ++# CONFIG_BLK_DEV_SIS5513 is not set ++# CONFIG_BLK_DEV_SLC90E66 is not set ++# CONFIG_BLK_DEV_TRM290 is not set ++# CONFIG_BLK_DEV_VIA82CXXX is not set ++# CONFIG_IDE_CHIPSETS is not set ++CONFIG_IDEDMA_AUTO=y ++# CONFIG_IDEDMA_IVB 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 +@@ -319,9 +392,11 @@ # CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID2 is not set # CONFIG_SCSI_SATA is not set @@ -7500,7 +7489,7 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-malta linux-2.4.30-mips/arch/mips/def # 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 @@ +@@ -524,7 +599,6 @@ CONFIG_SERIAL_CONSOLE=y # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set @@ -7508,9 +7497,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-malta linux-2.4.30-mips/arch/mips/def 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-mirage linux-2.4.32-rc1.mips/arch/mips/defconfig-mirage +--- linux-2.4.32-rc1/arch/mips/defconfig-mirage 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7559,9 +7548,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-mirage linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-mpc30x linux-2.4.32-rc1.mips/arch/mips/defconfig-mpc30x +--- linux-2.4.32-rc1/arch/mips/defconfig-mpc30x 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7592,9 +7581,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-mpc30x linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-mtx-1 linux-2.4.32-rc1.mips/arch/mips/defconfig-mtx-1 +--- linux-2.4.32-rc1/arch/mips/defconfig-mtx-1 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7655,9 +7644,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-mtx-1 linux-2.4.30-mips/arch/mips/def 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-nino linux-2.4.32-rc1.mips/arch/mips/defconfig-nino +--- linux-2.4.32-rc1/arch/mips/defconfig-nino 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7688,9 +7677,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-nino linux-2.4.30-mips/arch/mips/defc # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ocelot linux-2.4.32-rc1.mips/arch/mips/defconfig-ocelot +--- linux-2.4.32-rc1/arch/mips/defconfig-ocelot 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7739,9 +7728,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ocelot linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-osprey linux-2.4.32-rc1.mips/arch/mips/defconfig-osprey +--- linux-2.4.32-rc1/arch/mips/defconfig-osprey 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7772,9 +7761,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-osprey linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-pb1000 linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1000 +--- linux-2.4.32-rc1/arch/mips/defconfig-pb1000 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7832,9 +7821,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-pb1000 linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-pb1100 linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1100 +--- linux-2.4.32-rc1/arch/mips/defconfig-pb1100 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -7899,9 +7888,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-pb1100 linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-pb1200 linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1200 +--- linux-2.4.32-rc1/arch/mips/defconfig-pb1200 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1200 2005-03-18 13:13:21.000000000 +0100 @@ -0,0 +1,1060 @@ +# +# Automatically generated make config: don't edit @@ -8963,9 +8952,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-pb1200 linux-2.4.30-mips/arch/mips/de +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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-pb1500 linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1500 +--- linux-2.4.32-rc1/arch/mips/defconfig-pb1500 2005-01-19 15:09:28.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9014,9 +9003,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-pb1500 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-pb1550 linux-2.4.32-rc1.mips/arch/mips/defconfig-pb1550 +--- linux-2.4.32-rc1/arch/mips/defconfig-pb1550 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9067,9 +9056,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-pb1550 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-rbtx4927 linux-2.4.32-rc1.mips/arch/mips/defconfig-rbtx4927 +--- linux-2.4.32-rc1/arch/mips/defconfig-rbtx4927 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9100,9 +9089,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-rbtx4927 linux-2.4.30-mips/arch/mips/ # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-rm200 linux-2.4.32-rc1.mips/arch/mips/defconfig-rm200 +--- linux-2.4.32-rc1/arch/mips/defconfig-rm200 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9133,9 +9122,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-rm200 linux-2.4.30-mips/arch/mips/def 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-sb1250-swarm linux-2.4.32-rc1.mips/arch/mips/defconfig-sb1250-swarm +--- linux-2.4.32-rc1/arch/mips/defconfig-sb1250-swarm 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9174,9 +9163,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-sb1250-swarm linux-2.4.30-mips/arch/m 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-sead linux-2.4.32-rc1.mips/arch/mips/defconfig-sead +--- linux-2.4.32-rc1/arch/mips/defconfig-sead 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9195,9 +9184,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-sead linux-2.4.30-mips/arch/mips/defc # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-stretch linux-2.4.32-rc1.mips/arch/mips/defconfig-stretch +--- linux-2.4.32-rc1/arch/mips/defconfig-stretch 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9240,9 +9229,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-stretch linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-tb0226 linux-2.4.32-rc1.mips/arch/mips/defconfig-tb0226 +--- linux-2.4.32-rc1/arch/mips/defconfig-tb0226 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9285,9 +9274,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-tb0226 linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-tb0229 linux-2.4.32-rc1.mips/arch/mips/defconfig-tb0229 +--- linux-2.4.32-rc1/arch/mips/defconfig-tb0229 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9318,9 +9307,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-tb0229 linux-2.4.30-mips/arch/mips/de # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-ti1500 linux-2.4.32-rc1.mips/arch/mips/defconfig-ti1500 +--- linux-2.4.32-rc1/arch/mips/defconfig-ti1500 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9369,9 +9358,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-ti1500 linux-2.4.30-mips/arch/mips/de 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-workpad linux-2.4.32-rc1.mips/arch/mips/defconfig-workpad +--- linux-2.4.32-rc1/arch/mips/defconfig-workpad 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9402,9 +9391,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-workpad linux-2.4.30-mips/arch/mips/d # 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-xxs1500 linux-2.4.32-rc1.mips/arch/mips/defconfig-xxs1500 +--- linux-2.4.32-rc1/arch/mips/defconfig-xxs1500 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9453,9 +9442,9 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-xxs1500 linux-2.4.30-mips/arch/mips/d 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 +diff -Nur linux-2.4.32-rc1/arch/mips/defconfig-yosemite linux-2.4.32-rc1.mips/arch/mips/defconfig-yosemite +--- linux-2.4.32-rc1/arch/mips/defconfig-yosemite 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -9498,10 +9487,10 @@ diff -Nur linux-2.4.30/arch/mips/defconfig-yosemite linux-2.4.30-mips/arch/mips/ 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 @@ +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/cpu-probe.c linux-2.4.32-rc1.mips/arch/mips/kernel/cpu-probe.c +--- linux-2.4.32-rc1/arch/mips/kernel/cpu-probe.c 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/cpu-probe.c 2005-05-25 15:33:22.000000000 +0200 +@@ -34,21 +34,16 @@ ".set\tmips0"); } @@ -9515,26 +9504,36 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-mips/arch/mips/ +/* 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 @@ +- __asm__("la %0,au1k_wait\n\t" +- ".set mips3\n\t" +- "cache 0x14,0(%0)\n\t" +- "cache 0x14,32(%0)\n\t" ++ __asm__(".set mips3\n\t" ++ "cache 0x14, 0(%0)\n\t" ++ "cache 0x14, 32(%0)\n\t" + "sync\n\t" + "nop\n\t" + "wait\n\t" +@@ -57,11 +52,7 @@ + "nop\n\t" "nop\n\t" ".set mips0\n\t" - : : "r" (addr)); +- : : "r" (addr)); -#else - __asm__("nop\n\t" - "nop"); -#endif ++ : : "r" (au1k_wait)); } static inline void check_wait(void) -@@ -100,20 +92,17 @@ +@@ -100,20 +91,17 @@ cpu_wait = r4k_wait; printk(" available.\n"); break; @@ -9559,9 +9558,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/cpu-probe.c linux-2.4.30-mips/arch/mips/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/head.S linux-2.4.32-rc1.mips/arch/mips/kernel/head.S +--- linux-2.4.32-rc1/arch/mips/kernel/head.S 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/head.S 2004-11-22 14:38:23.000000000 +0100 @@ -43,9 +43,9 @@ /* Cache Error */ @@ -9730,9 +9729,39 @@ diff -Nur linux-2.4.30/arch/mips/kernel/head.S linux-2.4.30-mips/arch/mips/kerne 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 +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/process.c linux-2.4.32-rc1.mips/arch/mips/kernel/process.c +--- linux-2.4.32-rc1/arch/mips/kernel/process.c 2003-08-25 13:44:40.000000000 +0200 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/process.c 2005-04-14 12:41:44.000000000 +0200 +@@ -128,6 +128,26 @@ + return 1; + } + ++void dump_regs(elf_greg_t *gp, struct pt_regs *regs) ++{ ++ int i; ++ ++ for (i = 0; i < EF_REG0; i++) ++ gp[i] = 0; ++ gp[EF_REG0] = 0; ++ for (i = 1; i <= 31; i++) ++ gp[EF_REG0 + i] = regs->regs[i]; ++ gp[EF_REG26] = 0; ++ gp[EF_REG27] = 0; ++ gp[EF_LO] = regs->lo; ++ gp[EF_HI] = regs->hi; ++ gp[EF_CP0_EPC] = regs->cp0_epc; ++ gp[EF_CP0_BADVADDR] = regs->cp0_badvaddr; ++ gp[EF_CP0_STATUS] = regs->cp0_status; ++ gp[EF_CP0_CAUSE] = regs->cp0_cause; ++ gp[EF_UNUSED0] = 0; ++} ++ + /* + * Create a kernel thread + */ +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/scall_o32.S linux-2.4.32-rc1.mips/arch/mips/kernel/scall_o32.S +--- linux-2.4.32-rc1/arch/mips/kernel/scall_o32.S 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/scall_o32.S 2005-02-07 22:21:53.000000000 +0100 @@ -121,15 +121,14 @@ trace_a_syscall: @@ -9751,9 +9780,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/scall_o32.S linux-2.4.30-mips/arch/mips/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/setup.c linux-2.4.32-rc1.mips/arch/mips/kernel/setup.c +--- linux-2.4.32-rc1/arch/mips/kernel/setup.c 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/setup.c 2005-01-13 22:15:57.000000000 +0100 @@ -5,7 +5,7 @@ * * Copyright (C) 1995 Linus Torvalds @@ -9783,9 +9812,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/setup.c linux-2.4.30-mips/arch/mips/kern 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 +diff -Nur linux-2.4.32-rc1/arch/mips/kernel/traps.c linux-2.4.32-rc1.mips/arch/mips/kernel/traps.c +--- linux-2.4.32-rc1/arch/mips/kernel/traps.c 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/kernel/traps.c 2005-04-12 22:25:34.000000000 +0200 @@ -452,9 +452,10 @@ } ll_task = current; @@ -9872,9 +9901,9 @@ diff -Nur linux-2.4.30/arch/mips/kernel/traps.c linux-2.4.30-mips/arch/mips/kern - 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 +diff -Nur linux-2.4.32-rc1/arch/mips/lib/rtc-no.c linux-2.4.32-rc1.mips/arch/mips/lib/rtc-no.c +--- linux-2.4.32-rc1/arch/mips/lib/rtc-no.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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. @@ -9893,9 +9922,9 @@ diff -Nur linux-2.4.30/arch/mips/lib/rtc-no.c linux-2.4.30-mips/arch/mips/lib/rt }; - -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 +diff -Nur linux-2.4.32-rc1/arch/mips/lib/rtc-std.c linux-2.4.32-rc1.mips/arch/mips/lib/rtc-std.c +--- linux-2.4.32-rc1/arch/mips/lib/rtc-std.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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. @@ -9913,42 +9942,79 @@ diff -Nur linux-2.4.30/arch/mips/lib/rtc-std.c linux-2.4.30-mips/arch/mips/lib/r }; - -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; -+ } +diff -Nur linux-2.4.32-rc1/arch/mips/Makefile linux-2.4.32-rc1.mips/arch/mips/Makefile +--- linux-2.4.32-rc1/arch/mips/Makefile 2005-01-19 15:09:26.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/Makefile 2005-01-30 09:01:26.000000000 +0100 +@@ -211,7 +211,7 @@ + endif - switch (c->cputype) { - case CPU_20KC: -@@ -1069,9 +1076,6 @@ - probe_pcache(); - setup_scache(); + # +-# 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 -- 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 +-# +-# 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.32-rc1/arch/mips/mm/cerr-sb1.c linux-2.4.32-rc1.mips/arch/mips/mm/cerr-sb1.c +--- linux-2.4.32-rc1/arch/mips/mm/cerr-sb1.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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] */ @@ -9993,9 +10059,125 @@ diff -Nur linux-2.4.30/arch/mips/mm/cerr-sb1.c linux-2.4.30-mips/arch/mips/mm/ce 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 +diff -Nur linux-2.4.32-rc1/arch/mips/mm/c-r4k.c linux-2.4.32-rc1.mips/arch/mips/mm/c-r4k.c +--- linux-2.4.32-rc1/arch/mips/mm/c-r4k.c 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/mm/tlbex-mips32.S linux-2.4.32-rc1.mips/arch/mips/mm/tlbex-mips32.S +--- linux-2.4.32-rc1/arch/mips/mm/tlbex-mips32.S 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips/mm/tlbex-r4k.S linux-2.4.32-rc1.mips/arch/mips/mm/tlbex-r4k.S +--- linux-2.4.32-rc1/arch/mips/mm/tlbex-r4k.S 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips/mm/tlbex-r4k.S 2005-06-06 16:46:22.000000000 +0200 +@@ -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,9 @@ + PTE_PRESENT(k0, k1, nopage_tlbl) + PTE_MAKEVALID(k0, k1) + PTE_RELOAD(k1, k0) +- rm9000_tlb_hazard +- nop +- b 1f +- tlbwi +-1: +- nop +- rm9000_tlb_hazard ++ mtc0_tlbw_hazard ++ tlbwi ++ tlbw_eret_hazard + .set mips3 + eret + .set mips0 +@@ -496,13 +489,9 @@ + PTE_WRITABLE(k0, k1, nopage_tlbs) + PTE_MAKEWRITE(k0, k1) + PTE_RELOAD(k1, k0) +- rm9000_tlb_hazard +- nop +- b 1f +- tlbwi +-1: +- nop +- rm9000_tlb_hazard ++ mtc0_tlbw_hazard ++ tlbwi ++ tlbw_eret_hazard + .set mips3 + eret + .set mips0 +@@ -529,13 +518,9 @@ + + /* Now reload the entry into the tlb. */ + PTE_RELOAD(k1, k0) +- rm9000_tlb_hazard +- nop +- b 1f +- tlbwi +-1: +- rm9000_tlb_hazard +- nop ++ mtc0_tlbw_hazard ++ tlbwi ++ tlbw_eret_hazard + .set mips3 + eret + .set mips0 +diff -Nur linux-2.4.32-rc1/arch/mips/mm/tlb-r4k.c linux-2.4.32-rc1.mips/arch/mips/mm/tlb-r4k.c +--- linux-2.4.32-rc1/arch/mips/mm/tlb-r4k.c 2005-01-19 15:09:29.000000000 +0100 ++++ linux-2.4.32-rc1.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. @@ -10322,92 +10504,9 @@ diff -Nur linux-2.4.30/arch/mips/mm/tlb-r4k.c linux-2.4.30-mips/arch/mips/mm/tlb /* * 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig linux-2.4.32-rc1.mips/arch/mips64/defconfig +--- linux-2.4.32-rc1/arch/mips64/defconfig 2005-01-19 15:09:30.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10438,9 +10537,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig linux-2.4.30-mips/arch/mips64/defco 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-atlas linux-2.4.32-rc1.mips/arch/mips64/defconfig-atlas +--- linux-2.4.32-rc1/arch/mips64/defconfig-atlas 2005-01-19 15:09:30.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10483,9 +10582,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-atlas linux-2.4.30-mips/arch/mips64 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-decstation linux-2.4.32-rc1.mips/arch/mips64/defconfig-decstation +--- linux-2.4.32-rc1/arch/mips64/defconfig-decstation 2005-01-19 15:09:30.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10528,9 +10627,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-decstation linux-2.4.30-mips/arch/m 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-ip22 linux-2.4.32-rc1.mips/arch/mips64/defconfig-ip22 +--- linux-2.4.32-rc1/arch/mips64/defconfig-ip22 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10573,9 +10672,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-ip22 linux-2.4.30-mips/arch/mips64/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-ip27 linux-2.4.32-rc1.mips/arch/mips64/defconfig-ip27 +--- linux-2.4.32-rc1/arch/mips64/defconfig-ip27 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10606,9 +10705,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-ip27 linux-2.4.30-mips/arch/mips64/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-jaguar linux-2.4.32-rc1.mips/arch/mips64/defconfig-jaguar +--- linux-2.4.32-rc1/arch/mips64/defconfig-jaguar 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10639,20 +10738,43 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-jaguar linux-2.4.30-mips/arch/mips6 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 @@ +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-malta linux-2.4.32-rc1.mips/arch/mips64/defconfig-malta +--- linux-2.4.32-rc1/arch/mips64/defconfig-malta 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/defconfig-malta 2005-04-19 14:19:34.000000000 +0200 +@@ -22,16 +22,19 @@ + # + # CONFIG_ACER_PICA_61 is not set + # CONFIG_MIPS_BOSPORUS is not set ++# CONFIG_MIPS_FICMMP 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_DB1200 is not set # 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_PB1200 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 @@ +@@ -146,9 +149,9 @@ + CONFIG_BINFMT_ELF=y + CONFIG_MIPS32_COMPAT=y + CONFIG_MIPS32_O32=y +-# CONFIG_MIPS32_N32 is not set ++CONFIG_MIPS32_N32=y + CONFIG_BINFMT_ELF32=y +-# CONFIG_BINFMT_MISC is not set ++CONFIG_BINFMT_MISC=y + # CONFIG_OOM_KILLER is not set + # CONFIG_CMDLINE_BOOL is not set + +@@ -235,11 +238,6 @@ # # CONFIG_IPX is not set # CONFIG_ATALK is not set @@ -10664,7 +10786,92 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-malta linux-2.4.30-mips/arch/mips64 # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set -@@ -317,9 +312,11 @@ +@@ -271,8 +269,83 @@ + # + # ATA/IDE/MFM/RLL support + # +-# CONFIG_IDE is not set ++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 is not set ++# CONFIG_IDEDISK_STROKE is not set ++# CONFIG_BLK_DEV_IDECS is not set ++# CONFIG_BLK_DEV_DELKIN is not set ++CONFIG_BLK_DEV_IDECD=y ++CONFIG_BLK_DEV_IDETAPE=y ++CONFIG_BLK_DEV_IDEFLOPPY=y ++# 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=y ++CONFIG_BLK_DEV_GENERIC=y ++CONFIG_IDEPCI_SHARE_IRQ=y ++CONFIG_BLK_DEV_IDEDMA_PCI=y ++# CONFIG_BLK_DEV_OFFBOARD is not set ++CONFIG_BLK_DEV_IDEDMA_FORCED=y ++CONFIG_IDEDMA_PCI_AUTO=y ++# CONFIG_IDEDMA_ONLYDISK is not set ++CONFIG_BLK_DEV_IDEDMA=y ++# CONFIG_IDEDMA_PCI_WIP is not set ++# CONFIG_BLK_DEV_ADMA100 is not set ++# CONFIG_BLK_DEV_AEC62XX is not set ++# CONFIG_BLK_DEV_ALI15X3 is not set ++# CONFIG_WDC_ALI15X3 is not set ++# CONFIG_BLK_DEV_AMD74XX is not set ++# CONFIG_AMD74XX_OVERRIDE is not set ++# CONFIG_BLK_DEV_ATIIXP is not set ++# CONFIG_BLK_DEV_CMD64X is not set ++# CONFIG_BLK_DEV_TRIFLEX is not set ++# CONFIG_BLK_DEV_CY82C693 is not set ++# CONFIG_BLK_DEV_CS5530 is not set ++# CONFIG_BLK_DEV_HPT34X is not set ++# CONFIG_HPT34X_AUTODMA is not set ++# CONFIG_BLK_DEV_HPT366 is not set ++CONFIG_BLK_DEV_PIIX=y ++# CONFIG_BLK_DEV_NS87415 is not set ++# CONFIG_BLK_DEV_OPTI621 is not set ++# CONFIG_BLK_DEV_PDC202XX_OLD is not set ++# CONFIG_PDC202XX_BURST is not set ++# CONFIG_BLK_DEV_PDC202XX_NEW is not set ++# CONFIG_BLK_DEV_RZ1000 is not set ++# CONFIG_BLK_DEV_SC1200 is not set ++# CONFIG_BLK_DEV_SVWKS is not set ++# CONFIG_BLK_DEV_SIIMAGE is not set ++# CONFIG_BLK_DEV_SIS5513 is not set ++# CONFIG_BLK_DEV_SLC90E66 is not set ++# CONFIG_BLK_DEV_TRM290 is not set ++# CONFIG_BLK_DEV_VIA82CXXX is not set ++# CONFIG_IDE_CHIPSETS is not set ++CONFIG_IDEDMA_AUTO=y ++# CONFIG_IDEDMA_IVB 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 +@@ -317,9 +390,11 @@ # CONFIG_SCSI_MEGARAID is not set # CONFIG_SCSI_MEGARAID2 is not set # CONFIG_SCSI_SATA is not set @@ -10676,7 +10883,7 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-malta linux-2.4.30-mips/arch/mips64 # 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 @@ +@@ -477,7 +552,6 @@ CONFIG_SERIAL_CONSOLE=y # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set @@ -10684,9 +10891,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-malta linux-2.4.30-mips/arch/mips64 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-ocelotc linux-2.4.32-rc1.mips/arch/mips64/defconfig-ocelotc +--- linux-2.4.32-rc1/arch/mips64/defconfig-ocelotc 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10717,9 +10924,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-ocelotc linux-2.4.30-mips/arch/mips 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-sb1250-swarm linux-2.4.32-rc1.mips/arch/mips64/defconfig-sb1250-swarm +--- linux-2.4.32-rc1/arch/mips64/defconfig-sb1250-swarm 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10758,9 +10965,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-sb1250-swarm linux-2.4.30-mips/arch 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/defconfig-sead linux-2.4.32-rc1.mips/arch/mips64/defconfig-sead +--- linux-2.4.32-rc1/arch/mips64/defconfig-sead 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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 @@ -10779,9 +10986,9 @@ diff -Nur linux-2.4.30/arch/mips64/defconfig-sead linux-2.4.30-mips/arch/mips64/ # 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/binfmt_elfn32.c linux-2.4.32-rc1.mips/arch/mips64/kernel/binfmt_elfn32.c +--- linux-2.4.32-rc1/arch/mips64/kernel/binfmt_elfn32.c 2003-08-25 13:44:40.000000000 +0200 ++++ linux-2.4.32-rc1.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 @@ -10790,9 +10997,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/binfmt_elfn32.c linux-2.4.30-mips/arch +#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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/binfmt_elfo32.c linux-2.4.32-rc1.mips/arch/mips64/kernel/binfmt_elfo32.c +--- linux-2.4.32-rc1/arch/mips64/kernel/binfmt_elfo32.c 2003-08-25 13:44:40.000000000 +0200 ++++ linux-2.4.32-rc1.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 @@ -10801,9 +11008,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/binfmt_elfo32.c linux-2.4.30-mips/arch +#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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/head.S linux-2.4.32-rc1.mips/arch/mips64/kernel/head.S +--- linux-2.4.32-rc1/arch/mips64/kernel/head.S 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/head.S 2004-11-22 14:38:26.000000000 +0100 @@ -91,6 +91,21 @@ __INIT @@ -10888,9 +11095,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/head.S linux-2.4.30-mips/arch/mips64/k 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/ioctl32.c linux-2.4.32-rc1.mips/arch/mips64/kernel/ioctl32.c +--- linux-2.4.32-rc1/arch/mips64/kernel/ioctl32.c 2005-01-19 15:09:31.000000000 +0100 ++++ linux-2.4.32-rc1.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), @@ -10900,10 +11107,18 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/ioctl32.c linux-2.4.30-mips/arch/mips6 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 @@ +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/linux32.c linux-2.4.32-rc1.mips/arch/mips64/kernel/linux32.c +--- linux-2.4.32-rc1/arch/mips64/kernel/linux32.c 2005-04-04 03:42:19.000000000 +0200 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/linux32.c 2005-04-22 15:01:00.000000000 +0200 +@@ -1101,6 +1101,7 @@ + * specially as they have atomicity guarantees and can handle + * iovec's natively + */ ++ inode = file->f_dentry->d_inode; + if (inode->i_sock) { + int err; + err = sock_readv_writev(type, inode, file, iov, count, tot_len); +@@ -1187,72 +1188,19 @@ lseek back to original location. They fail just like lseek does on non-seekable files. */ @@ -10950,7 +11165,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/linux32.c linux-2.4.30-mips/arch/mips6 - struct file * file; - ssize_t (*write)(struct file *, const char *, size_t, loff_t *); - loff_t pos; -- ++ return sys_pwrite(fd, buf, count, merge_64(a4, a5)); ++} + - ret = -EBADF; - file = fget(fd); - if (!file) @@ -10967,7 +11184,7 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/linux32.c linux-2.4.30-mips/arch/mips6 - goto out; - if (pos < 0) - goto out; -- + - ret = write(file, buf, count, &pos); - if (ret > 0) - dnotify_parent(file->f_dentry, DN_MODIFY); @@ -10975,16 +11192,42 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/linux32.c linux-2.4.30-mips/arch/mips6 - 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.32-rc1/arch/mips64/kernel/process.c linux-2.4.32-rc1.mips/arch/mips64/kernel/process.c +--- linux-2.4.32-rc1/arch/mips64/kernel/process.c 2003-08-25 13:44:40.000000000 +0200 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/process.c 2005-04-14 12:41:44.000000000 +0200 +@@ -125,6 +125,25 @@ + return 1; } + ++void dump_regs(elf_greg_t *gp, struct pt_regs *regs) ++{ ++ int i; + ++ for (i = 0; i < EF_REG0; i++) ++ gp[i] = 0; ++ gp[EF_REG0] = 0; ++ for (i = 1; i <= 31; i++) ++ gp[EF_REG0 + i] = regs->regs[i]; ++ gp[EF_REG26] = 0; ++ gp[EF_REG27] = 0; ++ gp[EF_LO] = regs->lo; ++ gp[EF_HI] = regs->hi; ++ gp[EF_CP0_EPC] = regs->cp0_epc; ++ gp[EF_CP0_BADVADDR] = regs->cp0_badvaddr; ++ gp[EF_CP0_STATUS] = regs->cp0_status; ++ gp[EF_CP0_CAUSE] = regs->cp0_cause; ++} + /* - * 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 + * Create a kernel thread + */ +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/scall_64.S linux-2.4.32-rc1.mips/arch/mips64/kernel/scall_64.S +--- linux-2.4.32-rc1/arch/mips64/kernel/scall_64.S 2005-01-19 15:09:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/scall_64.S 2005-02-07 22:21:54.000000000 +0100 @@ -102,15 +102,14 @@ trace_a_syscall: @@ -11003,9 +11246,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/scall_64.S linux-2.4.30-mips/arch/mips 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/scall_n32.S linux-2.4.32-rc1.mips/arch/mips64/kernel/scall_n32.S +--- linux-2.4.32-rc1/arch/mips64/kernel/scall_n32.S 2005-01-19 15:09:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/scall_n32.S 2005-02-07 22:21:54.000000000 +0100 @@ -106,15 +106,14 @@ trace_a_syscall: @@ -11024,9 +11267,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/scall_n32.S linux-2.4.30-mips/arch/mip 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/scall_o32.S linux-2.4.32-rc1.mips/arch/mips64/kernel/scall_o32.S +--- linux-2.4.32-rc1/arch/mips64/kernel/scall_o32.S 2005-01-19 15:09:32.000000000 +0100 ++++ linux-2.4.32-rc1.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) @@ -11056,9 +11299,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/scall_o32.S linux-2.4.30-mips/arch/mip .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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/setup.c linux-2.4.32-rc1.mips/arch/mips64/kernel/setup.c +--- linux-2.4.32-rc1/arch/mips64/kernel/setup.c 2005-01-19 15:09:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/setup.c 2004-11-22 14:38:26.000000000 +0100 @@ -129,14 +129,6 @@ */ load_mmu(); @@ -11074,9 +11317,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/setup.c linux-2.4.30-mips/arch/mips64/ 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/signal_n32.c linux-2.4.32-rc1.mips/arch/mips64/kernel/signal_n32.c +--- linux-2.4.32-rc1/arch/mips64/kernel/signal_n32.c 2005-01-19 15:09:33.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/signal_n32.c 2005-02-07 22:10:53.000000000 +0100 @@ -68,7 +68,7 @@ }; @@ -11086,9 +11329,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/signal_n32.c linux-2.4.30-mips/arch/mi 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/kernel/traps.c linux-2.4.32-rc1.mips/arch/mips64/kernel/traps.c +--- linux-2.4.32-rc1/arch/mips64/kernel/traps.c 2005-01-19 15:09:33.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/kernel/traps.c 2005-04-12 22:25:34.000000000 +0200 @@ -462,9 +462,10 @@ } ll_task = current; @@ -11179,42 +11422,9 @@ diff -Nur linux-2.4.30/arch/mips64/kernel/traps.c linux-2.4.30-mips/arch/mips64/ - 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 +diff -Nur linux-2.4.32-rc1/arch/mips64/mm/cerr-sb1.c linux-2.4.32-rc1.mips/arch/mips64/mm/cerr-sb1.c +--- linux-2.4.32-rc1/arch/mips64/mm/cerr-sb1.c 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.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] */ @@ -11259,9 +11469,153 @@ diff -Nur linux-2.4.30/arch/mips64/mm/cerr-sb1.c linux-2.4.30-mips/arch/mips64/m 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/mips64/mm/tlb-r4k.c linux-2.4.30-mips/arch/mips64/mm/tlb-r4k.c ---- linux-2.4.30/arch/mips64/mm/tlb-r4k.c 2005-01-19 15:09:33.000000000 +0100 -+++ linux-2.4.30-mips/arch/mips64/mm/tlb-r4k.c 2004-11-25 23:18:38.000000000 +0100 +diff -Nur linux-2.4.32-rc1/arch/mips64/mm/c-r4k.c linux-2.4.32-rc1.mips/arch/mips64/mm/c-r4k.c +--- linux-2.4.32-rc1/arch/mips64/mm/c-r4k.c 2005-01-19 15:09:33.000000000 +0100 ++++ linux-2.4.32-rc1.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.32-rc1/arch/mips64/mm/tlbex-r4k.S linux-2.4.32-rc1.mips/arch/mips64/mm/tlbex-r4k.S +--- linux-2.4.32-rc1/arch/mips64/mm/tlbex-r4k.S 2004-02-18 14:36:30.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/mm/tlbex-r4k.S 2005-06-06 16:46:22.000000000 +0200 +@@ -125,6 +125,33 @@ + nop + END(except_vec1_r4k) + ++ __FINIT ++ ++ .align 5 ++LEAF(handle_vec1_r4k) ++ .set noat ++ LOAD_PTE2 k1 k0 9f ++ ld k0, 0(k1) # get even pte ++ ld k1, 8(k1) # get odd pte ++ PTE_RELOAD k0 k1 ++ mtc0_tlbw_hazard ++ tlbwr ++ tlbw_eret_hazard ++ eret ++ ++9: # handle the vmalloc range ++ LOAD_KPTE2 k1 k0 invalid_vmalloc_address ++ ld k0, 0(k1) # get even pte ++ ld k1, 8(k1) # get odd pte ++ PTE_RELOAD k0 k1 ++ mtc0_tlbw_hazard ++ tlbwr ++ tlbw_eret_hazard ++ eret ++END(handle_vec1_r4k) ++ ++ __INIT ++ + LEAF(except_vec1_sb1) + #if BCM1250_M3_WAR + dmfc0 k0, CP0_BADVADDR +@@ -134,28 +161,24 @@ + bnez k0, 1f + #endif + .set noat +- dla k0, handle_vec1_r4k ++ dla k0, handle_vec1_sb1 + jr k0 + nop + + 1: eret +- nop + END(except_vec1_sb1) + + __FINIT + + .align 5 +-LEAF(handle_vec1_r4k) ++LEAF(handle_vec1_sb1) + .set noat + LOAD_PTE2 k1 k0 9f + ld k0, 0(k1) # get even pte + ld k1, 8(k1) # get odd pte + PTE_RELOAD k0 k1 +- rm9000_tlb_hazard +- b 1f +- tlbwr +-1: nop +- rm9000_tlb_hazard ++ mtc0_tlbw_hazard ++ tlbwr + eret + + 9: # handle the vmalloc range +@@ -163,13 +186,10 @@ + ld k0, 0(k1) # get even pte + ld k1, 8(k1) # get odd pte + PTE_RELOAD k0 k1 +- rm9000_tlb_hazard +- b 1f +- tlbwr +-1: nop +- rm9000_tlb_hazard ++ mtc0_tlbw_hazard ++ tlbwr + eret +-END(handle_vec1_r4k) ++END(handle_vec1_sb1) + + + __INIT +@@ -195,10 +215,8 @@ + ld k0, 0(k1) # get even pte + ld k1, 8(k1) # get odd pte + PTE_RELOAD k0 k1 +- rm9000_tlb_hazard +- nop ++ mtc0_tlbw_hazard + tlbwr +- rm9000_tlb_hazard + eret + + 9: # handle the vmalloc range +@@ -206,10 +224,8 @@ + ld k0, 0(k1) # get even pte + ld k1, 8(k1) # get odd pte + PTE_RELOAD k0 k1 +- rm9000_tlb_hazard +- nop ++ mtc0_tlbw_hazard + tlbwr +- rm9000_tlb_hazard + eret + END(handle_vec1_r10k) + +diff -Nur linux-2.4.32-rc1/arch/mips64/mm/tlb-r4k.c linux-2.4.32-rc1.mips/arch/mips64/mm/tlb-r4k.c +--- linux-2.4.32-rc1/arch/mips64/mm/tlb-r4k.c 2005-01-19 15:09:33.000000000 +0100 ++++ linux-2.4.32-rc1.mips/arch/mips64/mm/tlb-r4k.c 2004-11-25 23:18:38.000000000 +0100 @@ -1,24 +1,12 @@ /* - * Carsten Langgaard, carstenl@mips.com @@ -11613,159 +11967,9 @@ diff -Nur linux-2.4.30/arch/mips64/mm/tlb-r4k.c linux-2.4.30-mips/arch/mips64/mm probe_tlb(config); write_c0_pagemask(PM_DEFAULT_MASK); write_c0_wired(0); -diff -Nur linux-2.4.30/arch/mips64/mm/tlbex-r4k.S linux-2.4.30-mips/arch/mips64/mm/tlbex-r4k.S ---- linux-2.4.30/arch/mips64/mm/tlbex-r4k.S 2004-02-18 14:36:30.000000000 +0100 -+++ linux-2.4.30-mips/arch/mips64/mm/tlbex-r4k.S 2004-11-25 23:18:38.000000000 +0100 -@@ -151,11 +151,9 @@ - ld k0, 0(k1) # get even pte - ld k1, 8(k1) # get odd pte - PTE_RELOAD k0 k1 -- rm9000_tlb_hazard -- b 1f -- tlbwr --1: nop -- rm9000_tlb_hazard -+ mtc0_tlbw_hazard -+ tlbwr -+1: tlbw_eret_hazard - eret - - 9: # handle the vmalloc range -@@ -163,11 +161,9 @@ - ld k0, 0(k1) # get even pte - ld k1, 8(k1) # get odd pte - PTE_RELOAD k0 k1 -- rm9000_tlb_hazard -- b 1f -- tlbwr --1: nop -- rm9000_tlb_hazard -+ mtc0_tlbw_hazard -+ tlbwr -+1: tlbw_eret_hazard - eret - END(handle_vec1_r4k) - -@@ -195,10 +191,9 @@ - ld k0, 0(k1) # get even pte - ld k1, 8(k1) # get odd pte - PTE_RELOAD k0 k1 -- rm9000_tlb_hazard -- nop -+ mtc0_tlbw_hazard - tlbwr -- rm9000_tlb_hazard -+ tlbw_eret_hazard - eret - - 9: # handle the vmalloc range -@@ -206,10 +201,9 @@ - ld k0, 0(k1) # get even pte - ld k1, 8(k1) # get odd pte - PTE_RELOAD k0 k1 -- rm9000_tlb_hazard -- nop -+ mtc0_tlbw_hazard - tlbwr -- rm9000_tlb_hazard -+ tlbw_eret_hazard - eret - END(handle_vec1_r10k) - -diff -Nur linux-2.4.30/drivers/char/Config.in linux-2.4.30-mips/drivers/char/Config.in ---- linux-2.4.30/drivers/char/Config.in 2004-08-08 01:26:04.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/Config.in 2005-02-11 22:09:56.000000000 +0100 -@@ -313,14 +313,11 @@ - if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then - bool 'Tadpole ANA H8 Support (OBSOLETE)' CONFIG_H8 - fi --if [ "$CONFIG_MIPS" = "y" -a "$CONFIG_NEW_TIME_C" = "y" ]; then -- tristate 'Generic MIPS RTC Support' CONFIG_MIPS_RTC --fi - if [ "$CONFIG_SGI_IP22" = "y" ]; then -- bool 'SGI DS1286 RTC support' CONFIG_SGI_DS1286 -+ tristate 'Dallas DS1286 RTC support' CONFIG_DS1286 - fi - if [ "$CONFIG_SGI_IP27" = "y" ]; then -- bool 'SGI M48T35 RTC support' CONFIG_SGI_IP27_RTC -+ tristate 'SGI M48T35 RTC support' CONFIG_SGI_IP27_RTC - fi - if [ "$CONFIG_TOSHIBA_RBTX4927" = "y" -o "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then - tristate 'Dallas DS1742 RTC support' CONFIG_DS1742 -@@ -383,6 +380,11 @@ - source drivers/char/drm/Config.in - fi - fi -+ -+if [ "$CONFIG_X86" = "y" ]; then -+ tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE -+fi -+ - endmenu - - if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then -@@ -391,6 +393,7 @@ - if [ "$CONFIG_SOC_AU1X00" = "y" ]; then - tristate ' Alchemy Au1x00 GPIO device support' CONFIG_AU1X00_GPIO - tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1X00_ADS7846 -+ #tristate ' Alchemy Au1550 PSC SPI support' CONFIG_AU1550_PSC_SPI - fi - if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then - tristate ' ITE GPIO' CONFIG_ITE_GPIO -diff -Nur linux-2.4.30/drivers/char/Makefile linux-2.4.30-mips/drivers/char/Makefile ---- linux-2.4.30/drivers/char/Makefile 2004-08-08 01:26:04.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/Makefile 2005-02-11 22:09:56.000000000 +0100 -@@ -48,7 +48,12 @@ - KEYBD = - endif - ifeq ($(CONFIG_VR41XX_KIU),y) -- KEYMAP = -+ ifeq ($(CONFIG_IBM_WORKPAD),y) -+ KEYMAP = ibm_workpad_keymap.o -+ endif -+ ifeq ($(CONFIG_VICTOR_MPC30X),y) -+ KEYMAP = victor_mpc30x_keymap.o -+ endif - KEYBD = vr41xx_keyb.o - endif - endif -@@ -251,7 +256,6 @@ - obj-$(CONFIG_RTC) += rtc.o - obj-$(CONFIG_GEN_RTC) += genrtc.o - obj-$(CONFIG_EFI_RTC) += efirtc.o --obj-$(CONFIG_SGI_DS1286) += ds1286.o - obj-$(CONFIG_MIPS_RTC) += mips_rtc.o - obj-$(CONFIG_SGI_IP27_RTC) += ip27-rtc.o - ifeq ($(CONFIG_PPC),) -@@ -259,6 +263,7 @@ - endif - obj-$(CONFIG_TOSHIBA) += toshiba.o - obj-$(CONFIG_I8K) += i8k.o -+obj-$(CONFIG_DS1286) += ds1286.o - obj-$(CONFIG_DS1620) += ds1620.o - obj-$(CONFIG_DS1742) += ds1742.o - obj-$(CONFIG_INTEL_RNG) += i810_rng.o -@@ -269,6 +274,7 @@ - - obj-$(CONFIG_ITE_GPIO) += ite_gpio.o - obj-$(CONFIG_AU1X00_GPIO) += au1000_gpio.o -+obj-$(CONFIG_AU1550_PSC_SPI) += au1550_psc_spi.o - obj-$(CONFIG_AU1X00_USB_TTY) += au1000_usbtty.o - obj-$(CONFIG_AU1X00_USB_RAW) += au1000_usbraw.o - obj-$(CONFIG_COBALT_LCD) += lcd.o -@@ -353,3 +359,9 @@ - - qtronixmap.c: qtronixmap.map - set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ -+ -+ibm_workpad_keymap.c: ibm_workpad_keymap.map -+ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ -+ -+victor_mpc30x_keymap.c: victor_mpc30x_keymap.map -+ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ -diff -Nur linux-2.4.30/drivers/char/au1000_gpio.c linux-2.4.30-mips/drivers/char/au1000_gpio.c ---- linux-2.4.30/drivers/char/au1000_gpio.c 2003-08-25 13:44:41.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/au1000_gpio.c 2003-12-20 14:18:51.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/au1000_gpio.c linux-2.4.32-rc1.mips/drivers/char/au1000_gpio.c +--- linux-2.4.32-rc1/drivers/char/au1000_gpio.c 2003-08-25 13:44:41.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/au1000_gpio.c 2003-12-20 14:18:51.000000000 +0100 @@ -246,7 +246,7 @@ static struct miscdevice au1000gpio_miscdev = @@ -11775,9 +11979,9 @@ diff -Nur linux-2.4.30/drivers/char/au1000_gpio.c linux-2.4.30-mips/drivers/char "au1000_gpio", &au1000gpio_fops }; -diff -Nur linux-2.4.30/drivers/char/au1550_psc_spi.c linux-2.4.30-mips/drivers/char/au1550_psc_spi.c ---- linux-2.4.30/drivers/char/au1550_psc_spi.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/au1550_psc_spi.c 2005-02-11 21:37:24.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/au1550_psc_spi.c linux-2.4.32-rc1.mips/drivers/char/au1550_psc_spi.c +--- linux-2.4.32-rc1/drivers/char/au1550_psc_spi.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/au1550_psc_spi.c 2005-02-11 21:37:24.000000000 +0100 @@ -0,0 +1,466 @@ +/* + * Driver for Alchemy Au1550 SPI on the PSC. @@ -12245,9 +12449,49 @@ diff -Nur linux-2.4.30/drivers/char/au1550_psc_spi.c linux-2.4.30-mips/drivers/c + +module_init(au1550spi_init); +module_exit(au1550spi_exit); -diff -Nur linux-2.4.30/drivers/char/decserial.c linux-2.4.30-mips/drivers/char/decserial.c ---- linux-2.4.30/drivers/char/decserial.c 2003-08-25 13:44:41.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/decserial.c 2004-09-28 02:53:01.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/Config.in linux-2.4.32-rc1.mips/drivers/char/Config.in +--- linux-2.4.32-rc1/drivers/char/Config.in 2004-08-08 01:26:04.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/Config.in 2005-02-11 22:09:56.000000000 +0100 +@@ -313,14 +313,11 @@ + if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then + bool 'Tadpole ANA H8 Support (OBSOLETE)' CONFIG_H8 + fi +-if [ "$CONFIG_MIPS" = "y" -a "$CONFIG_NEW_TIME_C" = "y" ]; then +- tristate 'Generic MIPS RTC Support' CONFIG_MIPS_RTC +-fi + if [ "$CONFIG_SGI_IP22" = "y" ]; then +- bool 'SGI DS1286 RTC support' CONFIG_SGI_DS1286 ++ tristate 'Dallas DS1286 RTC support' CONFIG_DS1286 + fi + if [ "$CONFIG_SGI_IP27" = "y" ]; then +- bool 'SGI M48T35 RTC support' CONFIG_SGI_IP27_RTC ++ tristate 'SGI M48T35 RTC support' CONFIG_SGI_IP27_RTC + fi + if [ "$CONFIG_TOSHIBA_RBTX4927" = "y" -o "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then + tristate 'Dallas DS1742 RTC support' CONFIG_DS1742 +@@ -383,6 +380,11 @@ + source drivers/char/drm/Config.in + fi + fi ++ ++if [ "$CONFIG_X86" = "y" ]; then ++ tristate 'ACP Modem (Mwave) support' CONFIG_MWAVE ++fi ++ + endmenu + + if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then +@@ -391,6 +393,7 @@ + if [ "$CONFIG_SOC_AU1X00" = "y" ]; then + tristate ' Alchemy Au1x00 GPIO device support' CONFIG_AU1X00_GPIO + tristate ' Au1000/ADS7846 touchscreen support' CONFIG_TS_AU1X00_ADS7846 ++ #tristate ' Alchemy Au1550 PSC SPI support' CONFIG_AU1550_PSC_SPI + fi + if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then + tristate ' ITE GPIO' CONFIG_ITE_GPIO +diff -Nur linux-2.4.32-rc1/drivers/char/decserial.c linux-2.4.32-rc1.mips/drivers/char/decserial.c +--- linux-2.4.32-rc1/drivers/char/decserial.c 2003-08-25 13:44:41.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/decserial.c 2004-09-28 02:53:01.000000000 +0200 @@ -3,95 +3,105 @@ * choose the right serial device at boot time * @@ -12398,9 +12642,9 @@ diff -Nur linux-2.4.30/drivers/char/decserial.c linux-2.4.30-mips/drivers/char/d #endif } -diff -Nur linux-2.4.30/drivers/char/ds1286.c linux-2.4.30-mips/drivers/char/ds1286.c ---- linux-2.4.30/drivers/char/ds1286.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/ds1286.c 2004-01-10 06:21:39.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/ds1286.c linux-2.4.32-rc1.mips/drivers/char/ds1286.c +--- linux-2.4.32-rc1/drivers/char/ds1286.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/ds1286.c 2004-01-10 06:21:39.000000000 +0100 @@ -1,6 +1,10 @@ /* * DS1286 Real Time Clock interface for Linux @@ -12536,9 +12780,9 @@ diff -Nur linux-2.4.30/drivers/char/ds1286.c linux-2.4.30-mips/drivers/char/ds12 + +MODULE_AUTHOR("Ralf Baechle"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/char/ds1742.c linux-2.4.30-mips/drivers/char/ds1742.c ---- linux-2.4.30/drivers/char/ds1742.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/ds1742.c 2004-01-09 20:27:16.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/ds1742.c linux-2.4.32-rc1.mips/drivers/char/ds1742.c +--- linux-2.4.32-rc1/drivers/char/ds1742.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/ds1742.c 2004-01-09 20:27:16.000000000 +0100 @@ -142,6 +142,7 @@ CMOS_WRITE(RTC_WRITE, RTC_CONTROL); @@ -12574,9 +12818,9 @@ diff -Nur linux-2.4.30/drivers/char/ds1742.c linux-2.4.30-mips/drivers/char/ds17 to_tm(curr_time, &rtc_tm); rtc_tm.tm_year -= 1900; return copy_to_user((void *) arg, &rtc_tm, sizeof(rtc_tm)) ? -diff -Nur linux-2.4.30/drivers/char/dummy_keyb.c linux-2.4.30-mips/drivers/char/dummy_keyb.c ---- linux-2.4.30/drivers/char/dummy_keyb.c 2003-08-25 13:44:41.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/dummy_keyb.c 2004-01-09 09:53:08.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/dummy_keyb.c linux-2.4.32-rc1.mips/drivers/char/dummy_keyb.c +--- linux-2.4.32-rc1/drivers/char/dummy_keyb.c 2003-08-25 13:44:41.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/dummy_keyb.c 2004-01-09 09:53:08.000000000 +0100 @@ -140,3 +140,7 @@ { printk("Dummy keyboard driver installed.\n"); @@ -12585,9 +12829,9 @@ diff -Nur linux-2.4.30/drivers/char/dummy_keyb.c linux-2.4.30-mips/drivers/char/ +unsigned char kbd_sysrq_key; +unsigned char kbd_sysrq_xlate[128]; +#endif -diff -Nur linux-2.4.30/drivers/char/dz.c linux-2.4.30-mips/drivers/char/dz.c ---- linux-2.4.30/drivers/char/dz.c 2005-01-19 15:09:44.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/dz.c 2004-12-27 05:13:42.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/dz.c linux-2.4.32-rc1.mips/drivers/char/dz.c +--- linux-2.4.32-rc1/drivers/char/dz.c 2005-01-19 15:09:44.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/dz.c 2004-12-27 05:13:42.000000000 +0100 @@ -1,11 +1,13 @@ /* - * dz.c: Serial port driver for DECStations equiped @@ -13457,9 +13701,9 @@ diff -Nur linux-2.4.30/drivers/char/dz.c linux-2.4.30-mips/drivers/char/dz.c }; void __init dz_serial_console_init(void) -diff -Nur linux-2.4.30/drivers/char/dz.h linux-2.4.30-mips/drivers/char/dz.h ---- linux-2.4.30/drivers/char/dz.h 2002-08-03 02:39:43.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/dz.h 2004-09-28 02:53:01.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/dz.h linux-2.4.32-rc1.mips/drivers/char/dz.h +--- linux-2.4.32-rc1/drivers/char/dz.h 2002-08-03 02:39:43.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/dz.h 2004-09-28 02:53:01.000000000 +0200 @@ -10,6 +10,8 @@ #ifndef DZ_SERIAL_H #define DZ_SERIAL_H @@ -13608,9 +13852,9 @@ diff -Nur linux-2.4.30/drivers/char/dz.h linux-2.4.30-mips/drivers/char/dz.h -#endif - #endif /* DZ_SERIAL_H */ -diff -Nur linux-2.4.30/drivers/char/ibm_workpad_keymap.map linux-2.4.30-mips/drivers/char/ibm_workpad_keymap.map ---- linux-2.4.30/drivers/char/ibm_workpad_keymap.map 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/ibm_workpad_keymap.map 2003-12-20 15:20:44.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/ibm_workpad_keymap.map linux-2.4.32-rc1.mips/drivers/char/ibm_workpad_keymap.map +--- linux-2.4.32-rc1/drivers/char/ibm_workpad_keymap.map 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/ibm_workpad_keymap.map 2003-12-20 15:20:44.000000000 +0100 @@ -0,0 +1,343 @@ +# Keymap for IBM Workpad z50 +# US Mapping @@ -13955,9 +14199,9 @@ diff -Nur linux-2.4.30/drivers/char/ibm_workpad_keymap.map linux-2.4.30-mips/dri +keycode 93 = AltGr +keycode 94 = ShiftR + shift keycode 94 = Caps_Lock -diff -Nur linux-2.4.30/drivers/char/indydog.c linux-2.4.30-mips/drivers/char/indydog.c ---- linux-2.4.30/drivers/char/indydog.c 2003-08-25 13:44:41.000000000 +0200 -+++ linux-2.4.30-mips/drivers/char/indydog.c 2004-06-22 17:32:07.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/indydog.c linux-2.4.32-rc1.mips/drivers/char/indydog.c +--- linux-2.4.32-rc1/drivers/char/indydog.c 2003-08-25 13:44:41.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/indydog.c 2004-06-22 17:32:07.000000000 +0200 @@ -1,5 +1,5 @@ /* - * IndyDog 0.2 A Hardware Watchdog Device for SGI IP22 @@ -14201,9 +14445,9 @@ diff -Nur linux-2.4.30/drivers/char/indydog.c linux-2.4.30-mips/drivers/char/ind +MODULE_AUTHOR("Guido Guenther <agx@sigxcpu.org>"); +MODULE_DESCRIPTION("Hardware Watchdog Device for SGI IP22"); MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/char/ip27-rtc.c linux-2.4.30-mips/drivers/char/ip27-rtc.c ---- linux-2.4.30/drivers/char/ip27-rtc.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/ip27-rtc.c 2004-04-06 03:35:30.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/ip27-rtc.c linux-2.4.32-rc1.mips/drivers/char/ip27-rtc.c +--- linux-2.4.32-rc1/drivers/char/ip27-rtc.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/ip27-rtc.c 2004-04-06 03:35:30.000000000 +0200 @@ -44,6 +44,7 @@ #include <asm/sn/klconfig.h> #include <asm/sn/sn0/ip27.h> @@ -14233,9 +14477,60 @@ diff -Nur linux-2.4.30/drivers/char/ip27-rtc.c linux-2.4.30-mips/drivers/char/ip +MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>"); +MODULE_DESCRIPTION("SGI IP27 M48T35 RTC driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/char/mips_rtc.c linux-2.4.30-mips/drivers/char/mips_rtc.c ---- linux-2.4.30/drivers/char/mips_rtc.c 2004-01-05 14:53:56.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/mips_rtc.c 2004-06-28 14:54:53.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/Makefile linux-2.4.32-rc1.mips/drivers/char/Makefile +--- linux-2.4.32-rc1/drivers/char/Makefile 2004-08-08 01:26:04.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/Makefile 2005-02-11 22:09:56.000000000 +0100 +@@ -48,7 +48,12 @@ + KEYBD = + endif + ifeq ($(CONFIG_VR41XX_KIU),y) +- KEYMAP = ++ ifeq ($(CONFIG_IBM_WORKPAD),y) ++ KEYMAP = ibm_workpad_keymap.o ++ endif ++ ifeq ($(CONFIG_VICTOR_MPC30X),y) ++ KEYMAP = victor_mpc30x_keymap.o ++ endif + KEYBD = vr41xx_keyb.o + endif + endif +@@ -251,7 +256,6 @@ + obj-$(CONFIG_RTC) += rtc.o + obj-$(CONFIG_GEN_RTC) += genrtc.o + obj-$(CONFIG_EFI_RTC) += efirtc.o +-obj-$(CONFIG_SGI_DS1286) += ds1286.o + obj-$(CONFIG_MIPS_RTC) += mips_rtc.o + obj-$(CONFIG_SGI_IP27_RTC) += ip27-rtc.o + ifeq ($(CONFIG_PPC),) +@@ -259,6 +263,7 @@ + endif + obj-$(CONFIG_TOSHIBA) += toshiba.o + obj-$(CONFIG_I8K) += i8k.o ++obj-$(CONFIG_DS1286) += ds1286.o + obj-$(CONFIG_DS1620) += ds1620.o + obj-$(CONFIG_DS1742) += ds1742.o + obj-$(CONFIG_INTEL_RNG) += i810_rng.o +@@ -269,6 +274,7 @@ + + obj-$(CONFIG_ITE_GPIO) += ite_gpio.o + obj-$(CONFIG_AU1X00_GPIO) += au1000_gpio.o ++obj-$(CONFIG_AU1550_PSC_SPI) += au1550_psc_spi.o + obj-$(CONFIG_AU1X00_USB_TTY) += au1000_usbtty.o + obj-$(CONFIG_AU1X00_USB_RAW) += au1000_usbraw.o + obj-$(CONFIG_COBALT_LCD) += lcd.o +@@ -353,3 +359,9 @@ + + qtronixmap.c: qtronixmap.map + set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ ++ ++ibm_workpad_keymap.c: ibm_workpad_keymap.map ++ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ ++ ++victor_mpc30x_keymap.c: victor_mpc30x_keymap.map ++ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@ +diff -Nur linux-2.4.32-rc1/drivers/char/mips_rtc.c linux-2.4.32-rc1.mips/drivers/char/mips_rtc.c +--- linux-2.4.32-rc1/drivers/char/mips_rtc.c 2004-01-05 14:53:56.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/mips_rtc.c 2004-06-28 14:54:53.000000000 +0200 @@ -53,14 +53,6 @@ #include <asm/io.h> #include <asm/uaccess.h> @@ -14251,9 +14546,9 @@ diff -Nur linux-2.4.30/drivers/char/mips_rtc.c linux-2.4.30-mips/drivers/char/mi #include <asm/time.h> static unsigned long rtc_status = 0; /* bitmapped status byte. */ -diff -Nur linux-2.4.30/drivers/char/sb1250_duart.c linux-2.4.30-mips/drivers/char/sb1250_duart.c ---- linux-2.4.30/drivers/char/sb1250_duart.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/sb1250_duart.c 2004-09-17 01:25:44.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/char/sb1250_duart.c linux-2.4.32-rc1.mips/drivers/char/sb1250_duart.c +--- linux-2.4.32-rc1/drivers/char/sb1250_duart.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/sb1250_duart.c 2004-09-17 01:25:44.000000000 +0200 @@ -328,10 +328,11 @@ if (c <= 0) break; @@ -14308,9 +14603,9 @@ diff -Nur linux-2.4.30/drivers/char/sb1250_duart.c linux-2.4.30-mips/drivers/cha break; case TIOCSSERIAL: printk("Ignoring TIOCSSERIAL\n"); -diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-mips/drivers/char/serial.c ---- linux-2.4.30/drivers/char/serial.c 2005-01-19 15:09:50.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/serial.c 2004-12-27 05:13:43.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/serial.c linux-2.4.32-rc1.mips/drivers/char/serial.c +--- linux-2.4.32-rc1/drivers/char/serial.c 2005-10-24 11:33:29.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/char/serial.c 2005-09-23 22:41:22.000000000 +0200 @@ -62,6 +62,12 @@ * Robert Schwebel <robert@schwebel.de>, * Juergen Beisert <jbeisert@eurodsn.de>, @@ -14356,9 +14651,9 @@ diff -Nur linux-2.4.30/drivers/char/serial.c linux-2.4.30-mips/drivers/char/seri /* * We used to support using pause I/O for certain machines. We -diff -Nur linux-2.4.30/drivers/char/victor_mpc30x_keymap.map linux-2.4.30-mips/drivers/char/victor_mpc30x_keymap.map ---- linux-2.4.30/drivers/char/victor_mpc30x_keymap.map 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/victor_mpc30x_keymap.map 2004-02-05 18:04:42.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/victor_mpc30x_keymap.map linux-2.4.32-rc1.mips/drivers/char/victor_mpc30x_keymap.map +--- linux-2.4.32-rc1/drivers/char/victor_mpc30x_keymap.map 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/victor_mpc30x_keymap.map 2004-02-05 18:04:42.000000000 +0100 @@ -0,0 +1,102 @@ +# Victor Interlink MP-C303/304 keyboard keymap +# @@ -14462,9 +14757,9 @@ diff -Nur linux-2.4.30/drivers/char/victor_mpc30x_keymap.map linux-2.4.30-mips/d + alt keycode 31 = PageDown +keycode 47 = Right + alt keycode 47 = End -diff -Nur linux-2.4.30/drivers/char/vr41xx_keyb.c linux-2.4.30-mips/drivers/char/vr41xx_keyb.c ---- linux-2.4.30/drivers/char/vr41xx_keyb.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/char/vr41xx_keyb.c 2004-02-17 13:08:55.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/char/vr41xx_keyb.c linux-2.4.32-rc1.mips/drivers/char/vr41xx_keyb.c +--- linux-2.4.32-rc1/drivers/char/vr41xx_keyb.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/char/vr41xx_keyb.c 2004-02-17 13:08:55.000000000 +0100 @@ -308,7 +308,7 @@ if (found != 0) { kiu_base = VRC4173_KIU_OFFSET; @@ -14483,9 +14778,9 @@ diff -Nur linux-2.4.30/drivers/char/vr41xx_keyb.c linux-2.4.30-mips/drivers/char kiu_writew(KIURST_KIURST, KIURST); -diff -Nur linux-2.4.30/drivers/i2c/Config.in linux-2.4.30-mips/drivers/i2c/Config.in ---- linux-2.4.30/drivers/i2c/Config.in 2004-04-14 15:05:29.000000000 +0200 -+++ linux-2.4.30-mips/drivers/i2c/Config.in 2005-02-11 20:49:04.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/i2c/Config.in linux-2.4.32-rc1.mips/drivers/i2c/Config.in +--- linux-2.4.32-rc1/drivers/i2c/Config.in 2004-04-14 15:05:29.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/i2c/Config.in 2005-02-11 20:49:04.000000000 +0100 @@ -57,6 +57,10 @@ if [ "$CONFIG_SGI_IP22" = "y" ]; then dep_tristate 'I2C SGI interfaces' CONFIG_I2C_ALGO_SGI $CONFIG_I2C @@ -14497,29 +14792,9 @@ diff -Nur linux-2.4.30/drivers/i2c/Config.in linux-2.4.30-mips/drivers/i2c/Confi # This is needed for automatic patch generation: sensors code starts here # This is needed for automatic patch generation: sensors code ends here -diff -Nur linux-2.4.30/drivers/i2c/Makefile linux-2.4.30-mips/drivers/i2c/Makefile ---- linux-2.4.30/drivers/i2c/Makefile 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/i2c/Makefile 2005-02-11 20:49:04.000000000 +0100 -@@ -6,7 +6,7 @@ - - export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o \ - i2c-algo-ite.o i2c-algo-sibyte.o i2c-algo-sgi.o \ -- i2c-proc.o -+ i2c-algo-au1550.o i2c-proc.o i2c-au1550.o - - obj-$(CONFIG_I2C) += i2c-core.o - obj-$(CONFIG_I2C_CHARDEV) += i2c-dev.o -@@ -25,6 +25,7 @@ - obj-$(CONFIG_I2C_ALGO_SIBYTE) += i2c-algo-sibyte.o i2c-sibyte.o - obj-$(CONFIG_I2C_MAX1617) += i2c-max1617.o - obj-$(CONFIG_I2C_ALGO_SGI) += i2c-algo-sgi.o -+obj-$(CONFIG_I2C_ALGO_AU1550) += i2c-algo-au1550.o i2c-au1550.o - - # This is needed for automatic patch generation: sensors code starts here - # This is needed for automatic patch generation: sensors code ends here -diff -Nur linux-2.4.30/drivers/i2c/i2c-algo-au1550.c linux-2.4.30-mips/drivers/i2c/i2c-algo-au1550.c ---- linux-2.4.30/drivers/i2c/i2c-algo-au1550.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/i2c/i2c-algo-au1550.c 2005-02-11 20:49:04.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/i2c/i2c-algo-au1550.c linux-2.4.32-rc1.mips/drivers/i2c/i2c-algo-au1550.c +--- linux-2.4.32-rc1/drivers/i2c/i2c-algo-au1550.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/i2c/i2c-algo-au1550.c 2005-02-11 20:49:04.000000000 +0100 @@ -0,0 +1,340 @@ +/* + * i2c-algo-au1550.c: SMBus (i2c) driver algorithms for Alchemy PSC interface @@ -14861,9 +15136,9 @@ diff -Nur linux-2.4.30/drivers/i2c/i2c-algo-au1550.c linux-2.4.30-mips/drivers/i +MODULE_AUTHOR("Dan Malek <dan@embeddededge.com>"); +MODULE_DESCRIPTION("SMBus Au1550 algorithm"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/i2c/i2c-au1550.c linux-2.4.30-mips/drivers/i2c/i2c-au1550.c ---- linux-2.4.30/drivers/i2c/i2c-au1550.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/i2c/i2c-au1550.c 2005-02-11 20:49:04.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/i2c/i2c-au1550.c linux-2.4.32-rc1.mips/drivers/i2c/i2c-au1550.c +--- linux-2.4.32-rc1/drivers/i2c/i2c-au1550.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/i2c/i2c-au1550.c 2005-02-11 20:49:04.000000000 +0100 @@ -0,0 +1,154 @@ +/* + * i2c-au1550.c: SMBus (i2c) adapter for Alchemy PSC interface @@ -15019,9 +15294,9 @@ diff -Nur linux-2.4.30/drivers/i2c/i2c-au1550.c linux-2.4.30-mips/drivers/i2c/i2 +{ + i2c_au1550_del_bus(&pb1550_board_adapter); +} -diff -Nur linux-2.4.30/drivers/i2c/i2c-core.c linux-2.4.30-mips/drivers/i2c/i2c-core.c ---- linux-2.4.30/drivers/i2c/i2c-core.c 2005-01-19 15:09:54.000000000 +0100 -+++ linux-2.4.30-mips/drivers/i2c/i2c-core.c 2004-11-29 18:47:16.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/i2c/i2c-core.c linux-2.4.32-rc1.mips/drivers/i2c/i2c-core.c +--- linux-2.4.32-rc1/drivers/i2c/i2c-core.c 2005-06-01 02:56:56.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/i2c/i2c-core.c 2005-05-23 14:12:30.000000000 +0200 @@ -1280,6 +1280,9 @@ #ifdef CONFIG_I2C_MAX1617 extern int i2c_max1617_init(void); @@ -15043,9 +15318,29 @@ diff -Nur linux-2.4.30/drivers/i2c/i2c-core.c linux-2.4.30-mips/drivers/i2c/i2c- /* -------------- proc interface ---- */ #ifdef CONFIG_I2C_PROC sensors_init(); -diff -Nur linux-2.4.30/drivers/media/video/indycam.c linux-2.4.30-mips/drivers/media/video/indycam.c ---- linux-2.4.30/drivers/media/video/indycam.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/media/video/indycam.c 2004-12-09 21:32:05.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/i2c/Makefile linux-2.4.32-rc1.mips/drivers/i2c/Makefile +--- linux-2.4.32-rc1/drivers/i2c/Makefile 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/i2c/Makefile 2005-02-11 20:49:04.000000000 +0100 +@@ -6,7 +6,7 @@ + + export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o \ + i2c-algo-ite.o i2c-algo-sibyte.o i2c-algo-sgi.o \ +- i2c-proc.o ++ i2c-algo-au1550.o i2c-proc.o i2c-au1550.o + + obj-$(CONFIG_I2C) += i2c-core.o + obj-$(CONFIG_I2C_CHARDEV) += i2c-dev.o +@@ -25,6 +25,7 @@ + obj-$(CONFIG_I2C_ALGO_SIBYTE) += i2c-algo-sibyte.o i2c-sibyte.o + obj-$(CONFIG_I2C_MAX1617) += i2c-max1617.o + obj-$(CONFIG_I2C_ALGO_SGI) += i2c-algo-sgi.o ++obj-$(CONFIG_I2C_ALGO_AU1550) += i2c-algo-au1550.o i2c-au1550.o + + # This is needed for automatic patch generation: sensors code starts here + # This is needed for automatic patch generation: sensors code ends here +diff -Nur linux-2.4.32-rc1/drivers/media/video/indycam.c linux-2.4.32-rc1.mips/drivers/media/video/indycam.c +--- linux-2.4.32-rc1/drivers/media/video/indycam.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/media/video/indycam.c 2004-12-09 21:32:05.000000000 +0100 @@ -50,13 +50,14 @@ 0x80, /* INDYCAM_GAMMA */ }; @@ -15095,9 +15390,9 @@ diff -Nur linux-2.4.30/drivers/media/video/indycam.c linux-2.4.30-mips/drivers/m MOD_INC_USE_COUNT; return 0; -diff -Nur linux-2.4.30/drivers/media/video/vino.c linux-2.4.30-mips/drivers/media/video/vino.c ---- linux-2.4.30/drivers/media/video/vino.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/media/video/vino.c 2004-12-10 05:02:54.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/media/video/vino.c linux-2.4.32-rc1.mips/drivers/media/video/vino.c +--- linux-2.4.32-rc1/drivers/media/video/vino.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/media/video/vino.c 2004-12-10 05:02:54.000000000 +0100 @@ -5,6 +5,8 @@ * License version 2 as published by the Free Software Foundation. * @@ -15218,9 +15513,9 @@ diff -Nur linux-2.4.30/drivers/media/video/vino.c linux-2.4.30-mips/drivers/medi } static int vino_grab(struct vino_device *v, int frame) -diff -Nur linux-2.4.30/drivers/mtd/devices/docprobe.c linux-2.4.30-mips/drivers/mtd/devices/docprobe.c ---- linux-2.4.30/drivers/mtd/devices/docprobe.c 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/devices/docprobe.c 2003-06-16 01:42:21.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/devices/docprobe.c linux-2.4.32-rc1.mips/drivers/mtd/devices/docprobe.c +--- linux-2.4.32-rc1/drivers/mtd/devices/docprobe.c 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/devices/docprobe.c 2003-06-16 01:42:21.000000000 +0200 @@ -89,10 +89,10 @@ 0xe4000000, #elif defined(CONFIG_MOMENCO_OCELOT) @@ -15235,9 +15530,9 @@ diff -Nur linux-2.4.30/drivers/mtd/devices/docprobe.c linux-2.4.30-mips/drivers/ #warning Unknown architecture for DiskOnChip. No default probe locations defined #endif 0 }; -diff -Nur linux-2.4.30/drivers/mtd/devices/ms02-nv.c linux-2.4.30-mips/drivers/mtd/devices/ms02-nv.c ---- linux-2.4.30/drivers/mtd/devices/ms02-nv.c 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/devices/ms02-nv.c 2004-07-30 12:22:40.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/devices/ms02-nv.c linux-2.4.32-rc1.mips/drivers/mtd/devices/ms02-nv.c +--- linux-2.4.32-rc1/drivers/mtd/devices/ms02-nv.c 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/devices/ms02-nv.c 2004-07-30 12:22:40.000000000 +0200 @@ -1,10 +1,10 @@ /* - * Copyright (c) 2001 Maciej W. Rozycki @@ -15311,9 +15606,9 @@ diff -Nur linux-2.4.30/drivers/mtd/devices/ms02-nv.c linux-2.4.30-mips/drivers/m csr = (volatile u32 *)KN03_MCR_BASE; if (*csr & KN03_MCR_BNK32M) stride = 2; -diff -Nur linux-2.4.30/drivers/mtd/devices/ms02-nv.h linux-2.4.30-mips/drivers/mtd/devices/ms02-nv.h ---- linux-2.4.30/drivers/mtd/devices/ms02-nv.h 2002-11-29 00:53:13.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/devices/ms02-nv.h 2004-07-30 12:22:40.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/devices/ms02-nv.h linux-2.4.32-rc1.mips/drivers/mtd/devices/ms02-nv.h +--- linux-2.4.32-rc1/drivers/mtd/devices/ms02-nv.h 2002-11-29 00:53:13.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/devices/ms02-nv.h 2004-07-30 12:22:40.000000000 +0200 @@ -1,32 +1,96 @@ /* - * Copyright (c) 2001 Maciej W. Rozycki @@ -15420,9 +15715,9 @@ diff -Nur linux-2.4.30/drivers/mtd/devices/ms02-nv.h linux-2.4.30-mips/drivers/m typedef volatile u32 ms02nv_uint; struct ms02nv_private { -diff -Nur linux-2.4.30/drivers/mtd/maps/Config.in linux-2.4.30-mips/drivers/mtd/maps/Config.in ---- linux-2.4.30/drivers/mtd/maps/Config.in 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/maps/Config.in 2004-02-26 01:46:35.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/Config.in linux-2.4.32-rc1.mips/drivers/mtd/maps/Config.in +--- linux-2.4.32-rc1/drivers/mtd/maps/Config.in 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/Config.in 2004-02-26 01:46:35.000000000 +0100 @@ -51,11 +51,26 @@ dep_tristate ' Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000 dep_tristate ' Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500 @@ -15450,33 +15745,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/Config.in linux-2.4.30-mips/drivers/mtd/ dep_tristate ' Flash chip mapping on ITE QED-4N-S01B, Globespan IVR or custom board' CONFIG_MTD_CSTM_MIPS_IXX $CONFIG_MTD_CFI $CONFIG_MTD_JEDEC $CONFIG_MTD_PARTITIONS if [ "$CONFIG_MTD_CSTM_MIPS_IXX" = "y" -o "$CONFIG_MTD_CSTM_MIPS_IXX" = "m" ]; then hex ' Physical start address of flash mapping' CONFIG_MTD_CSTM_MIPS_IXX_START 0x8000000 -diff -Nur linux-2.4.30/drivers/mtd/maps/Makefile linux-2.4.30-mips/drivers/mtd/maps/Makefile ---- linux-2.4.30/drivers/mtd/maps/Makefile 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/maps/Makefile 2004-02-26 01:46:35.000000000 +0100 -@@ -52,7 +52,13 @@ - obj-$(CONFIG_MTD_PB1000) += pb1xxx-flash.o - obj-$(CONFIG_MTD_PB1100) += pb1xxx-flash.o - obj-$(CONFIG_MTD_PB1500) += pb1xxx-flash.o -+obj-$(CONFIG_MTD_XXS1500) += xxs1500.o -+obj-$(CONFIG_MTD_MTX1) += mtx-1.o - obj-$(CONFIG_MTD_LASAT) += lasat.o -+obj-$(CONFIG_MTD_DB1X00) += db1x00-flash.o -+obj-$(CONFIG_MTD_PB1550) += pb1550-flash.o -+obj-$(CONFIG_MTD_HYDROGEN3) += hydrogen3-flash.o -+obj-$(CONFIG_MTD_BOSPORUS) += pb1xxx-flash.o - obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o - obj-$(CONFIG_MTD_EDB7312) += edb7312.o - obj-$(CONFIG_MTD_IMPA7) += impa7.o -@@ -61,5 +67,6 @@ - obj-$(CONFIG_MTD_UCLINUX) += uclinux.o - obj-$(CONFIG_MTD_NETtel) += nettel.o - obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o -+obj-$(CONFIG_MTD_MIRAGE) += mirage-flash.o - - include $(TOPDIR)/Rules.make -diff -Nur linux-2.4.30/drivers/mtd/maps/db1x00-flash.c linux-2.4.30-mips/drivers/mtd/maps/db1x00-flash.c ---- linux-2.4.30/drivers/mtd/maps/db1x00-flash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/db1x00-flash.c 2005-02-03 07:35:29.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/db1x00-flash.c linux-2.4.32-rc1.mips/drivers/mtd/maps/db1x00-flash.c +--- linux-2.4.32-rc1/drivers/mtd/maps/db1x00-flash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/db1x00-flash.c 2005-02-03 07:35:29.000000000 +0100 @@ -0,0 +1,283 @@ +/* + * Flash memory access on Alchemy Db1xxx boards @@ -15761,9 +16032,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/db1x00-flash.c linux-2.4.30-mips/drivers +MODULE_AUTHOR("Pete Popov"); +MODULE_DESCRIPTION("Db1x00 mtd map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/mtd/maps/hydrogen3-flash.c linux-2.4.30-mips/drivers/mtd/maps/hydrogen3-flash.c ---- linux-2.4.30/drivers/mtd/maps/hydrogen3-flash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/hydrogen3-flash.c 2004-01-10 23:40:18.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/hydrogen3-flash.c linux-2.4.32-rc1.mips/drivers/mtd/maps/hydrogen3-flash.c +--- linux-2.4.32-rc1/drivers/mtd/maps/hydrogen3-flash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/hydrogen3-flash.c 2004-01-10 23:40:18.000000000 +0100 @@ -0,0 +1,189 @@ +/* + * Flash memory access on Alchemy HydrogenIII boards @@ -15954,9 +16225,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/hydrogen3-flash.c linux-2.4.30-mips/driv +MODULE_AUTHOR("Pete Popov"); +MODULE_DESCRIPTION("HydrogenIII mtd map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/mtd/maps/lasat.c linux-2.4.30-mips/drivers/mtd/maps/lasat.c ---- linux-2.4.30/drivers/mtd/maps/lasat.c 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/maps/lasat.c 2003-08-18 04:59:02.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/lasat.c linux-2.4.32-rc1.mips/drivers/mtd/maps/lasat.c +--- linux-2.4.32-rc1/drivers/mtd/maps/lasat.c 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/lasat.c 2003-08-18 04:59:02.000000000 +0200 @@ -1,15 +1,6 @@ /* * Flash device on lasat 100 and 200 boards @@ -16062,9 +16333,33 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/lasat.c linux-2.4.30-mips/drivers/mtd/ma } } -diff -Nur linux-2.4.30/drivers/mtd/maps/mirage-flash.c linux-2.4.30-mips/drivers/mtd/maps/mirage-flash.c ---- linux-2.4.30/drivers/mtd/maps/mirage-flash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/mirage-flash.c 2003-12-22 04:37:22.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/Makefile linux-2.4.32-rc1.mips/drivers/mtd/maps/Makefile +--- linux-2.4.32-rc1/drivers/mtd/maps/Makefile 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/Makefile 2004-02-26 01:46:35.000000000 +0100 +@@ -52,7 +52,13 @@ + obj-$(CONFIG_MTD_PB1000) += pb1xxx-flash.o + obj-$(CONFIG_MTD_PB1100) += pb1xxx-flash.o + obj-$(CONFIG_MTD_PB1500) += pb1xxx-flash.o ++obj-$(CONFIG_MTD_XXS1500) += xxs1500.o ++obj-$(CONFIG_MTD_MTX1) += mtx-1.o + obj-$(CONFIG_MTD_LASAT) += lasat.o ++obj-$(CONFIG_MTD_DB1X00) += db1x00-flash.o ++obj-$(CONFIG_MTD_PB1550) += pb1550-flash.o ++obj-$(CONFIG_MTD_HYDROGEN3) += hydrogen3-flash.o ++obj-$(CONFIG_MTD_BOSPORUS) += pb1xxx-flash.o + obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o + obj-$(CONFIG_MTD_EDB7312) += edb7312.o + obj-$(CONFIG_MTD_IMPA7) += impa7.o +@@ -61,5 +67,6 @@ + obj-$(CONFIG_MTD_UCLINUX) += uclinux.o + obj-$(CONFIG_MTD_NETtel) += nettel.o + obj-$(CONFIG_MTD_SCB2_FLASH) += scb2_flash.o ++obj-$(CONFIG_MTD_MIRAGE) += mirage-flash.o + + include $(TOPDIR)/Rules.make +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/mirage-flash.c linux-2.4.32-rc1.mips/drivers/mtd/maps/mirage-flash.c +--- linux-2.4.32-rc1/drivers/mtd/maps/mirage-flash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/mirage-flash.c 2003-12-22 04:37:22.000000000 +0100 @@ -0,0 +1,194 @@ +/* + * Flash memory access on AMD Mirage board. @@ -16260,9 +16555,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/mirage-flash.c linux-2.4.30-mips/drivers +MODULE_AUTHOR("Embedded Edge"); +MODULE_DESCRIPTION("Mirage mtd map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/mtd/maps/mtx-1.c linux-2.4.30-mips/drivers/mtd/maps/mtx-1.c ---- linux-2.4.30/drivers/mtd/maps/mtx-1.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/mtx-1.c 2003-06-27 02:04:35.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/mtx-1.c linux-2.4.32-rc1.mips/drivers/mtd/maps/mtx-1.c +--- linux-2.4.32-rc1/drivers/mtd/maps/mtx-1.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/mtx-1.c 2003-06-27 02:04:35.000000000 +0200 @@ -0,0 +1,181 @@ +/* + * Flash memory access on 4G Systems MTX-1 board @@ -16445,9 +16740,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/mtx-1.c linux-2.4.30-mips/drivers/mtd/ma +MODULE_AUTHOR("Pete Popov"); +MODULE_DESCRIPTION("MTX-1 CFI map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/mtd/maps/pb1550-flash.c linux-2.4.30-mips/drivers/mtd/maps/pb1550-flash.c ---- linux-2.4.30/drivers/mtd/maps/pb1550-flash.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/pb1550-flash.c 2004-02-26 01:48:48.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/pb1550-flash.c linux-2.4.32-rc1.mips/drivers/mtd/maps/pb1550-flash.c +--- linux-2.4.32-rc1/drivers/mtd/maps/pb1550-flash.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/pb1550-flash.c 2004-02-26 01:48:48.000000000 +0100 @@ -0,0 +1,270 @@ +/* + * Flash memory access on Alchemy Pb1550 board @@ -16719,9 +17014,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/pb1550-flash.c linux-2.4.30-mips/drivers +MODULE_AUTHOR("Embedded Edge, LLC"); +MODULE_DESCRIPTION("Pb1550 mtd map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/mtd/maps/pb1xxx-flash.c linux-2.4.30-mips/drivers/mtd/maps/pb1xxx-flash.c ---- linux-2.4.30/drivers/mtd/maps/pb1xxx-flash.c 2003-06-13 16:51:34.000000000 +0200 -+++ linux-2.4.30-mips/drivers/mtd/maps/pb1xxx-flash.c 2003-05-19 08:27:22.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/pb1xxx-flash.c linux-2.4.32-rc1.mips/drivers/mtd/maps/pb1xxx-flash.c +--- linux-2.4.32-rc1/drivers/mtd/maps/pb1xxx-flash.c 2003-06-13 16:51:34.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/pb1xxx-flash.c 2003-05-19 08:27:22.000000000 +0200 @@ -192,6 +192,34 @@ #else #error MTD_PB1500 define combo error /* should never happen */ @@ -16757,16 +17052,16 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/pb1xxx-flash.c linux-2.4.30-mips/drivers #else #error Unsupported board #endif -diff -Nur linux-2.4.30/drivers/mtd/maps/xxs1500.c linux-2.4.30-mips/drivers/mtd/maps/xxs1500.c ---- linux-2.4.30/drivers/mtd/maps/xxs1500.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/mtd/maps/xxs1500.c 2003-08-02 04:06:01.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/mtd/maps/xxs1500.c linux-2.4.32-rc1.mips/drivers/mtd/maps/xxs1500.c +--- linux-2.4.32-rc1/drivers/mtd/maps/xxs1500.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/mtd/maps/xxs1500.c 2003-08-02 04:06:01.000000000 +0200 @@ -0,0 +1,186 @@ +/* + * Flash memory access on MyCable XXS1500 board + * + * (C) 2003 Pete Popov <ppopov@mvista.com> + * -+ * $Id: xxs1500.c,v 1.1.2.2 2003/08/02 02:06:01 ppopov Exp $ ++ * $Id: xxs1500.c,v 1.1.2.1 2003/06/13 21:15:46 ppopov Exp $ + */ + +#include <linux/config.h> @@ -16947,9 +17242,9 @@ diff -Nur linux-2.4.30/drivers/mtd/maps/xxs1500.c linux-2.4.30-mips/drivers/mtd/ +MODULE_AUTHOR("Pete Popov"); +MODULE_DESCRIPTION("XXS1500 CFI map driver"); +MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/net/defxx.c linux-2.4.30-mips/drivers/net/defxx.c ---- linux-2.4.30/drivers/net/defxx.c 2004-11-17 12:54:21.000000000 +0100 -+++ linux-2.4.30-mips/drivers/net/defxx.c 2004-11-19 01:28:39.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/net/defxx.c linux-2.4.32-rc1.mips/drivers/net/defxx.c +--- linux-2.4.32-rc1/drivers/net/defxx.c 2004-11-17 12:54:21.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/net/defxx.c 2004-11-19 01:28:39.000000000 +0100 @@ -10,24 +10,18 @@ * * Abstract: @@ -17790,9 +18085,9 @@ diff -Nur linux-2.4.30/drivers/net/defxx.c linux-2.4.30-mips/drivers/net/defxx.c MODULE_LICENSE("GPL"); -diff -Nur linux-2.4.30/drivers/net/defxx.h linux-2.4.30-mips/drivers/net/defxx.h ---- linux-2.4.30/drivers/net/defxx.h 2001-02-13 22:15:05.000000000 +0100 -+++ linux-2.4.30-mips/drivers/net/defxx.h 2004-10-03 20:06:48.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/net/defxx.h linux-2.4.32-rc1.mips/drivers/net/defxx.h +--- linux-2.4.32-rc1/drivers/net/defxx.h 2001-02-13 22:15:05.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/net/defxx.h 2004-10-03 20:06:48.000000000 +0200 @@ -12,17 +12,11 @@ * Contains all definitions specified by port specification and required * by the defxx.c driver. @@ -17881,9 +18176,9 @@ diff -Nur linux-2.4.30/drivers/net/defxx.h linux-2.4.30-mips/drivers/net/defxx.h struct pci_dev * pci_dev; u32 full_duplex_enb; /* FDDI Full Duplex enable (1 == on, 2 == off) */ u32 req_ttrt; /* requested TTRT value (in 80ns units) */ -diff -Nur linux-2.4.30/drivers/net/hamradio/hdlcdrv.c linux-2.4.30-mips/drivers/net/hamradio/hdlcdrv.c ---- linux-2.4.30/drivers/net/hamradio/hdlcdrv.c 2002-02-25 20:37:59.000000000 +0100 -+++ linux-2.4.30-mips/drivers/net/hamradio/hdlcdrv.c 2004-05-04 14:04:27.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/net/hamradio/hdlcdrv.c linux-2.4.32-rc1.mips/drivers/net/hamradio/hdlcdrv.c +--- linux-2.4.32-rc1/drivers/net/hamradio/hdlcdrv.c 2002-02-25 20:37:59.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/net/hamradio/hdlcdrv.c 2004-05-04 14:04:27.000000000 +0200 @@ -587,6 +587,8 @@ return -EINVAL; s = (struct hdlcdrv_state *)dev->priv; @@ -17893,9 +18188,9 @@ diff -Nur linux-2.4.30/drivers/net/hamradio/hdlcdrv.c linux-2.4.30-mips/drivers/ if (s->ops && s->ops->close) i = s->ops->close(dev); if (s->skb) -diff -Nur linux-2.4.30/drivers/net/irda/au1k_ir.c linux-2.4.30-mips/drivers/net/irda/au1k_ir.c ---- linux-2.4.30/drivers/net/irda/au1k_ir.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/net/irda/au1k_ir.c 2005-02-03 07:35:29.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/net/irda/au1k_ir.c linux-2.4.32-rc1.mips/drivers/net/irda/au1k_ir.c +--- linux-2.4.32-rc1/drivers/net/irda/au1k_ir.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/net/irda/au1k_ir.c 2005-02-03 07:35:29.000000000 +0100 @@ -81,10 +81,6 @@ #define RUN_AT(x) (jiffies + (x)) @@ -17907,9 +18202,162 @@ diff -Nur linux-2.4.30/drivers/net/irda/au1k_ir.c linux-2.4.30-mips/drivers/net/ static spinlock_t ir_lock = SPIN_LOCK_UNLOCKED; /* -diff -Nur linux-2.4.30/drivers/pci/pci.c linux-2.4.30-mips/drivers/pci/pci.c ---- linux-2.4.30/drivers/pci/pci.c 2004-11-17 12:54:21.000000000 +0100 -+++ linux-2.4.30-mips/drivers/pci/pci.c 2004-11-19 01:28:41.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/net/sgiseeq.c linux-2.4.32-rc1.mips/drivers/net/sgiseeq.c +--- linux-2.4.32-rc1/drivers/net/sgiseeq.c 2005-01-19 15:09:56.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/net/sgiseeq.c 2005-09-23 16:35:27.000000000 +0200 +@@ -24,16 +24,16 @@ + #include <asm/io.h> + #include <asm/system.h> + #include <asm/bitops.h> ++#include <asm/paccess.h> + #include <asm/page.h> + #include <asm/pgtable.h> ++#include <asm/sgi/mc.h> + #include <asm/sgi/hpc3.h> + #include <asm/sgi/ip22.h> + #include <asm/sgialib.h> + + #include "sgiseeq.h" + +-static char *version = "sgiseeq.c: David S. Miller (dm@engr.sgi.com)\n"; +- + static char *sgiseeqstr = "SGI Seeq8003"; + + /* +@@ -113,9 +113,9 @@ + + static inline void hpc3_eth_reset(struct hpc3_ethregs *hregs) + { +- hregs->rx_reset = HPC3_ERXRST_CRESET | HPC3_ERXRST_CLRIRQ; ++ hregs->reset = HPC3_ERST_CRESET | HPC3_ERST_CLRIRQ; + udelay(20); +- hregs->rx_reset = 0; ++ hregs->reset = 0; + } + + static inline void reset_hpc3_and_seeq(struct hpc3_ethregs *hregs, +@@ -238,7 +238,6 @@ + + #define TSTAT_INIT_SEEQ (SEEQ_TCMD_IPT|SEEQ_TCMD_I16|SEEQ_TCMD_IC|SEEQ_TCMD_IUF) + #define TSTAT_INIT_EDLC ((TSTAT_INIT_SEEQ) | SEEQ_TCMD_RB2) +-#define RDMACFG_INIT (HPC3_ERXDCFG_FRXDC | HPC3_ERXDCFG_FEOP | HPC3_ERXDCFG_FIRQ) + + static int init_seeq(struct net_device *dev, struct sgiseeq_private *sp, + struct sgiseeq_regs *sregs) +@@ -260,8 +259,6 @@ + sregs->tstat = TSTAT_INIT_SEEQ; + } + +- hregs->rx_dconfig |= RDMACFG_INIT; +- + hregs->rx_ndptr = PHYSADDR(&sp->srings.rx_desc[0]); + hregs->tx_ndptr = PHYSADDR(&sp->srings.tx_desc[0]); + +@@ -432,7 +429,7 @@ + spin_lock(&sp->tx_lock); + + /* Ack the IRQ and set software state. */ +- hregs->rx_reset = HPC3_ERXRST_CLRIRQ; ++ hregs->reset = HPC3_ERST_CLRIRQ; + + /* Always check for received packets. */ + sgiseeq_rx(dev, sp, hregs, sregs); +@@ -616,7 +613,7 @@ + + #define ALIGNED(x) ((((unsigned long)(x)) + 0xf) & ~(0xf)) + +-int sgiseeq_init(struct hpc3_regs* regs, int irq) ++int sgiseeq_init(struct hpc3_regs* hpcregs, int irq, int has_eeprom) + { + struct net_device *dev; + struct sgiseeq_private *sp; +@@ -629,7 +626,7 @@ + goto err_out; + } + /* Make private data page aligned */ +- sp = (struct sgiseeq_private *) get_zeroed_page(GFP_KERNEL); ++ sp = (struct sgiseeq_private *) get_zeroed_page(GFP_KERNEL); + if (!sp) { + printk(KERN_ERR "Sgiseeq: Page alloc failed, aborting.\n"); + err = -ENOMEM; +@@ -644,7 +641,9 @@ + + #define EADDR_NVOFS 250 + for (i = 0; i < 3; i++) { +- unsigned short tmp = ip22_nvram_read(EADDR_NVOFS / 2 + i); ++ unsigned short tmp = has_eeprom ? ++ ip22_eeprom_read(&hpcregs->eeprom, EADDR_NVOFS / 2+i) : ++ ip22_nvram_read(EADDR_NVOFS / 2+i); + + dev->dev_addr[2 * i] = tmp >> 8; + dev->dev_addr[2 * i + 1] = tmp & 0xff; +@@ -654,8 +653,8 @@ + gpriv = sp; + gdev = dev; + #endif +- sp->sregs = (struct sgiseeq_regs *) &hpc3c0->eth_ext[0]; +- sp->hregs = &hpc3c0->ethregs; ++ sp->sregs = (struct sgiseeq_regs *) &hpcregs->eth_ext[0]; ++ sp->hregs = &hpcregs->ethregs; + sp->name = sgiseeqstr; + sp->mode = SEEQ_RCMD_RBCAST; + +@@ -672,6 +671,11 @@ + setup_rx_ring(sp->srings.rx_desc, SEEQ_RX_BUFFERS); + setup_tx_ring(sp->srings.tx_desc, SEEQ_TX_BUFFERS); + ++ /* Setup PIO and DMA transfer timing */ ++ sp->hregs->pconfig = 0x161; ++ sp->hregs->dconfig = HPC3_EDCFG_FIRQ | HPC3_EDCFG_FEOP | ++ HPC3_EDCFG_FRXDC | HPC3_EDCFG_PTO | 0x026; ++ + /* Reset the chip. */ + hpc3_eth_reset(sp->hregs); + +@@ -699,7 +703,7 @@ + goto err_out_free_irq; + } + +- printk(KERN_INFO "%s: SGI Seeq8003 ", dev->name); ++ printk(KERN_INFO "%s: %s ", dev->name, sgiseeqstr); + for (i = 0; i < 6; i++) + printk("%2.2x%c", dev->dev_addr[i], i == 5 ? '\n' : ':'); + +@@ -721,10 +725,22 @@ + + static int __init sgiseeq_probe(void) + { +- printk(version); ++ unsigned int tmp, ret1, ret2 = 0; + + /* On board adapter on 1st HPC is always present */ +- return sgiseeq_init(hpc3c0, SGI_ENET_IRQ); ++ ret1 = sgiseeq_init(hpc3c0, SGI_ENET_IRQ, 0); ++ /* Let's see if second HPC is there */ ++ if (!(ip22_is_fullhouse()) && ++ get_dbe(tmp, (unsigned int *)&hpc3c1->pbdma[1]) == 0) { ++ sgimc->giopar |= SGIMC_GIOPAR_MASTEREXP1 | ++ SGIMC_GIOPAR_EXP164 | ++ SGIMC_GIOPAR_HPC264; ++ hpc3c1->pbus_piocfg[0][0] = 0x3ffff; ++ /* interrupt/config register on Challenge S Mezz board */ ++ hpc3c1->pbus_extregs[0][0] = 0x30; ++ ret2 = sgiseeq_init(hpc3c1, SGI_GIO_0_IRQ, 1); ++ } ++ return (ret1 & ret2) ? ret1 : 0; + } + + static void __exit sgiseeq_exit(void) +@@ -747,4 +763,6 @@ + module_init(sgiseeq_probe); + module_exit(sgiseeq_exit); + ++MODULE_DESCRIPTION("SGI Seeq 8003 driver"); ++MODULE_AUTHOR("David S. Miller"); + MODULE_LICENSE("GPL"); +diff -Nur linux-2.4.32-rc1/drivers/pci/pci.c linux-2.4.32-rc1.mips/drivers/pci/pci.c +--- linux-2.4.32-rc1/drivers/pci/pci.c 2004-11-17 12:54:21.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/pci/pci.c 2004-11-19 01:28:41.000000000 +0100 @@ -1281,11 +1281,17 @@ { unsigned int buses; @@ -17936,66 +18384,9 @@ diff -Nur linux-2.4.30/drivers/pci/pci.c linux-2.4.30-mips/drivers/pci/pci.c sprintf(child->name, (is_cardbus ? "PCI CardBus #%02x" : "PCI Bus #%02x"), child->number); return max; } -diff -Nur linux-2.4.30/drivers/pcmcia/Config.in linux-2.4.30-mips/drivers/pcmcia/Config.in ---- linux-2.4.30/drivers/pcmcia/Config.in 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/pcmcia/Config.in 2004-02-22 06:21:34.000000000 +0100 -@@ -30,16 +30,14 @@ - dep_tristate ' M8xx support' CONFIG_PCMCIA_M8XX $CONFIG_PCMCIA - fi - if [ "$CONFIG_SOC_AU1X00" = "y" ]; then -- dep_tristate ' Au1x00 PCMCIA support' CONFIG_PCMCIA_AU1X00 $CONFIG_PCMCIA -- if [ "$CONFIG_PCMCIA_AU1X00" != "n" ]; then -- bool ' Pb1x00 board support' CONFIG_PCMCIA_PB1X00 -- bool ' Db1x00 board support' CONFIG_PCMCIA_DB1X00 -- bool ' XXS1500 board support' CONFIG_PCMCIA_XXS1500 -- fi -+ dep_tristate ' Au1x00 PCMCIA support' CONFIG_PCMCIA_AU1X00 $CONFIG_PCMCIA - fi - if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]; then - dep_bool ' SiByte PCMCIA support' CONFIG_PCMCIA_SIBYTE $CONFIG_PCMCIA $CONFIG_BLK_DEV_IDE_SIBYTE - fi -+ if [ "$CONFIG_VRC4171" = "y" -o "$CONFIG_VRC4171" = "m" ]; then -+ dep_tristate ' NEC VRC4171 Card Controllers support' CONFIG_PCMCIA_VRC4171 $CONFIG_PCMCIA -+ fi - if [ "$CONFIG_VRC4173" = "y" -o "$CONFIG_VRC4173" = "m" ]; then - dep_tristate ' NEC VRC4173 CARDU support' CONFIG_PCMCIA_VRC4173 $CONFIG_PCMCIA - fi -diff -Nur linux-2.4.30/drivers/pcmcia/Makefile linux-2.4.30-mips/drivers/pcmcia/Makefile ---- linux-2.4.30/drivers/pcmcia/Makefile 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/pcmcia/Makefile 2005-02-03 07:35:30.000000000 +0100 -@@ -61,9 +61,18 @@ - - obj-$(CONFIG_PCMCIA_AU1X00) += au1x00_ss.o - au1000_ss-objs-y := au1000_generic.o --au1000_ss-objs-$(CONFIG_PCMCIA_PB1X00) += au1000_pb1x00.o --au1000_ss-objs-$(CONFIG_PCMCIA_DB1X00) += au1000_db1x00.o --au1000_ss-objs-$(CONFIG_PCMCIA_XXS1500) += au1000_xxs1500.o -+au1000_ss-objs-$(CONFIG_MIPS_PB1000) += au1000_pb1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_PB1100) += au1000_pb1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_PB1500) += au1000_pb1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_PB1550) += au1000_pb1550.o -+au1000_ss-objs-$(CONFIG_MIPS_PB1200) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_DB1000) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_DB1100) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_DB1500) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_DB1550) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_DB1200) += au1000_db1x00.o -+au1000_ss-objs-$(CONFIG_MIPS_HYDROGEN3) += au1000_hydrogen3.o -+au1000_ss-objs-$(CONFIG_MIPS_XXS1500) += au1000_xxs1500.o - - obj-$(CONFIG_PCMCIA_SA1100) += sa1100_cs.o - obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o -@@ -89,6 +98,7 @@ - sa1100_cs-objs-$(CONFIG_SA1100_XP860) += sa1100_xp860.o sa1111_generic.o - sa1100_cs-objs-$(CONFIG_SA1100_YOPY) += sa1100_yopy.o - -+obj-$(CONFIG_PCMCIA_VRC4171) += vrc4171_card.o - obj-$(CONFIG_PCMCIA_VRC4173) += vrc4173_cardu.o - - include $(TOPDIR)/Rules.make -diff -Nur linux-2.4.30/drivers/pcmcia/au1000_db1x00.c linux-2.4.30-mips/drivers/pcmcia/au1000_db1x00.c ---- linux-2.4.30/drivers/pcmcia/au1000_db1x00.c 2005-01-19 15:09:57.000000000 +0100 -+++ linux-2.4.30-mips/drivers/pcmcia/au1000_db1x00.c 2005-02-03 07:35:30.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/pcmcia/au1000_db1x00.c linux-2.4.32-rc1.mips/drivers/pcmcia/au1000_db1x00.c +--- linux-2.4.32-rc1/drivers/pcmcia/au1000_db1x00.c 2005-01-19 15:09:57.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/pcmcia/au1000_db1x00.c 2005-02-03 07:35:30.000000000 +0100 @@ -1,6 +1,6 @@ /* * @@ -18068,9 +18459,66 @@ diff -Nur linux-2.4.30/drivers/pcmcia/au1000_db1x00.c linux-2.4.30-mips/drivers/ return 0; } -diff -Nur linux-2.4.30/drivers/pcmcia/vrc4171_card.c linux-2.4.30-mips/drivers/pcmcia/vrc4171_card.c ---- linux-2.4.30/drivers/pcmcia/vrc4171_card.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/pcmcia/vrc4171_card.c 2004-01-19 16:54:58.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/pcmcia/Config.in linux-2.4.32-rc1.mips/drivers/pcmcia/Config.in +--- linux-2.4.32-rc1/drivers/pcmcia/Config.in 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/pcmcia/Config.in 2004-02-22 06:21:34.000000000 +0100 +@@ -30,16 +30,14 @@ + dep_tristate ' M8xx support' CONFIG_PCMCIA_M8XX $CONFIG_PCMCIA + fi + if [ "$CONFIG_SOC_AU1X00" = "y" ]; then +- dep_tristate ' Au1x00 PCMCIA support' CONFIG_PCMCIA_AU1X00 $CONFIG_PCMCIA +- if [ "$CONFIG_PCMCIA_AU1X00" != "n" ]; then +- bool ' Pb1x00 board support' CONFIG_PCMCIA_PB1X00 +- bool ' Db1x00 board support' CONFIG_PCMCIA_DB1X00 +- bool ' XXS1500 board support' CONFIG_PCMCIA_XXS1500 +- fi ++ dep_tristate ' Au1x00 PCMCIA support' CONFIG_PCMCIA_AU1X00 $CONFIG_PCMCIA + fi + if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]; then + dep_bool ' SiByte PCMCIA support' CONFIG_PCMCIA_SIBYTE $CONFIG_PCMCIA $CONFIG_BLK_DEV_IDE_SIBYTE + fi ++ if [ "$CONFIG_VRC4171" = "y" -o "$CONFIG_VRC4171" = "m" ]; then ++ dep_tristate ' NEC VRC4171 Card Controllers support' CONFIG_PCMCIA_VRC4171 $CONFIG_PCMCIA ++ fi + if [ "$CONFIG_VRC4173" = "y" -o "$CONFIG_VRC4173" = "m" ]; then + dep_tristate ' NEC VRC4173 CARDU support' CONFIG_PCMCIA_VRC4173 $CONFIG_PCMCIA + fi +diff -Nur linux-2.4.32-rc1/drivers/pcmcia/Makefile linux-2.4.32-rc1.mips/drivers/pcmcia/Makefile +--- linux-2.4.32-rc1/drivers/pcmcia/Makefile 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/pcmcia/Makefile 2005-02-03 07:35:30.000000000 +0100 +@@ -61,9 +61,18 @@ + + obj-$(CONFIG_PCMCIA_AU1X00) += au1x00_ss.o + au1000_ss-objs-y := au1000_generic.o +-au1000_ss-objs-$(CONFIG_PCMCIA_PB1X00) += au1000_pb1x00.o +-au1000_ss-objs-$(CONFIG_PCMCIA_DB1X00) += au1000_db1x00.o +-au1000_ss-objs-$(CONFIG_PCMCIA_XXS1500) += au1000_xxs1500.o ++au1000_ss-objs-$(CONFIG_MIPS_PB1000) += au1000_pb1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_PB1100) += au1000_pb1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_PB1500) += au1000_pb1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_PB1550) += au1000_pb1550.o ++au1000_ss-objs-$(CONFIG_MIPS_PB1200) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_DB1000) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_DB1100) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_DB1500) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_DB1550) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_DB1200) += au1000_db1x00.o ++au1000_ss-objs-$(CONFIG_MIPS_HYDROGEN3) += au1000_hydrogen3.o ++au1000_ss-objs-$(CONFIG_MIPS_XXS1500) += au1000_xxs1500.o + + obj-$(CONFIG_PCMCIA_SA1100) += sa1100_cs.o + obj-$(CONFIG_PCMCIA_M8XX) += m8xx_pcmcia.o +@@ -89,6 +98,7 @@ + sa1100_cs-objs-$(CONFIG_SA1100_XP860) += sa1100_xp860.o sa1111_generic.o + sa1100_cs-objs-$(CONFIG_SA1100_YOPY) += sa1100_yopy.o + ++obj-$(CONFIG_PCMCIA_VRC4171) += vrc4171_card.o + obj-$(CONFIG_PCMCIA_VRC4173) += vrc4173_cardu.o + + include $(TOPDIR)/Rules.make +diff -Nur linux-2.4.32-rc1/drivers/pcmcia/vrc4171_card.c linux-2.4.32-rc1.mips/drivers/pcmcia/vrc4171_card.c +--- linux-2.4.32-rc1/drivers/pcmcia/vrc4171_card.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/pcmcia/vrc4171_card.c 2004-01-19 16:54:58.000000000 +0100 @@ -0,0 +1,886 @@ +/* + * vrc4171_card.c, NEC VRC4171 Card Controller driver for Socket Services. @@ -18958,9 +19406,9 @@ diff -Nur linux-2.4.30/drivers/pcmcia/vrc4171_card.c linux-2.4.30-mips/drivers/p + +module_init(vrc4171_card_init); +module_exit(vrc4171_card_exit); -diff -Nur linux-2.4.30/drivers/scsi/NCR53C9x.h linux-2.4.30-mips/drivers/scsi/NCR53C9x.h ---- linux-2.4.30/drivers/scsi/NCR53C9x.h 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/scsi/NCR53C9x.h 2003-12-15 19:19:51.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/scsi/NCR53C9x.h linux-2.4.32-rc1.mips/drivers/scsi/NCR53C9x.h +--- linux-2.4.32-rc1/drivers/scsi/NCR53C9x.h 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/scsi/NCR53C9x.h 2003-12-15 19:19:51.000000000 +0100 @@ -144,12 +144,7 @@ #ifndef MULTIPLE_PAD_SIZES @@ -18975,9 +19423,9 @@ diff -Nur linux-2.4.30/drivers/scsi/NCR53C9x.h linux-2.4.30-mips/drivers/scsi/NC #define esp_read(__reg) (__reg) struct ESP_regs { -diff -Nur linux-2.4.30/drivers/sound/au1550_i2s.c linux-2.4.30-mips/drivers/sound/au1550_i2s.c ---- linux-2.4.30/drivers/sound/au1550_i2s.c 2005-01-19 15:10:04.000000000 +0100 -+++ linux-2.4.30-mips/drivers/sound/au1550_i2s.c 2005-02-08 08:07:50.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/sound/au1550_i2s.c linux-2.4.32-rc1.mips/drivers/sound/au1550_i2s.c +--- linux-2.4.32-rc1/drivers/sound/au1550_i2s.c 2005-01-19 15:10:04.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/sound/au1550_i2s.c 2005-02-08 08:07:50.000000000 +0100 @@ -41,6 +41,7 @@ * 675 Mass Ave, Cambridge, MA 02139, USA. * @@ -19849,9 +20297,9 @@ diff -Nur linux-2.4.30/drivers/sound/au1550_i2s.c linux-2.4.30-mips/drivers/soun err_dev1: au1xxx_dbdma_chan_free(s->dma_adc.dmanr); err_dma2: -diff -Nur linux-2.4.30/drivers/sound/au1550_psc.c linux-2.4.30-mips/drivers/sound/au1550_psc.c ---- linux-2.4.30/drivers/sound/au1550_psc.c 2005-01-19 15:10:04.000000000 +0100 -+++ linux-2.4.30-mips/drivers/sound/au1550_psc.c 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/sound/au1550_psc.c linux-2.4.32-rc1.mips/drivers/sound/au1550_psc.c +--- linux-2.4.32-rc1/drivers/sound/au1550_psc.c 2005-01-19 15:10:04.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/sound/au1550_psc.c 2005-01-30 09:01:28.000000000 +0100 @@ -30,6 +30,7 @@ * 675 Mass Ave, Cambridge, MA 02139, USA. * @@ -20010,9 +20458,32 @@ diff -Nur linux-2.4.30/drivers/sound/au1550_psc.c linux-2.4.30-mips/drivers/soun return 0; err_dev3: -diff -Nur linux-2.4.30/drivers/tc/lk201.c linux-2.4.30-mips/drivers/tc/lk201.c ---- linux-2.4.30/drivers/tc/lk201.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/tc/lk201.c 2004-09-28 02:53:04.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/sound/Config.in linux-2.4.32-rc1.mips/drivers/sound/Config.in +--- linux-2.4.32-rc1/drivers/sound/Config.in 2005-01-19 15:10:04.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/sound/Config.in 2005-04-21 07:53:07.000000000 +0200 +@@ -72,10 +72,15 @@ + if [ "$CONFIG_DDB5477" = "y" ]; then + dep_tristate ' NEC Vrc5477 AC97 sound' CONFIG_SOUND_VRC5477 $CONFIG_SOUND + fi +-if [ "$CONFIG_SOC_AU1X00" = "y" -o "$CONFIG_SOC_AU1500" = "y" ]; then +- dep_tristate ' Au1x00 Sound' CONFIG_SOUND_AU1X00 $CONFIG_SOUND +- dep_tristate ' Au1550 PSC Sound' CONFIG_SOUND_AU1550_PSC $CONFIG_SOUND +- dep_tristate ' Au1550 I2S Sound' CONFIG_SOUND_AU1550_I2S $CONFIG_SOUND ++if [ "$CONFIG_SOC_AU1000" = "y" -o \ ++ "$CONFIG_SOC_AU1500" = "y" -o \ ++ "$CONFIG_SOC_AU1100" = "y" ]; then ++ dep_tristate ' Au1x00 AC97 Sound' CONFIG_SOUND_AU1X00 $CONFIG_SOUND ++fi ++if [ "$CONFIG_SOC_AU1550" = "y" -o \ ++ "$CONFIG_SOC_AU1200" = "y" ]; then ++ dep_tristate ' Au1550/Au1200 PSC AC97 Sound' CONFIG_SOUND_AU1550_PSC $CONFIG_SOUND ++ dep_tristate ' Au1550/Au1200 PSC I2S Sound' CONFIG_SOUND_AU1550_I2S $CONFIG_SOUND + fi + + dep_tristate ' Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core' CONFIG_SOUND_TRIDENT $CONFIG_SOUND $CONFIG_PCI +diff -Nur linux-2.4.32-rc1/drivers/tc/lk201.c linux-2.4.32-rc1.mips/drivers/tc/lk201.c +--- linux-2.4.32-rc1/drivers/tc/lk201.c 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/tc/lk201.c 2004-09-28 02:53:04.000000000 +0200 @@ -5,7 +5,7 @@ * for more details. * @@ -20290,9 +20761,9 @@ diff -Nur linux-2.4.30/drivers/tc/lk201.c linux-2.4.30-mips/drivers/tc/lk201.c + if (!register_dec_serial_hook(keyb_line, &lk201_hook)) + unregister_dec_serial_hook(keyb_line); } -diff -Nur linux-2.4.30/drivers/tc/zs.c linux-2.4.30-mips/drivers/tc/zs.c ---- linux-2.4.30/drivers/tc/zs.c 2005-01-19 15:10:05.000000000 +0100 -+++ linux-2.4.30-mips/drivers/tc/zs.c 2004-12-27 05:13:50.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/tc/zs.c linux-2.4.32-rc1.mips/drivers/tc/zs.c +--- linux-2.4.32-rc1/drivers/tc/zs.c 2005-01-19 15:10:05.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/tc/zs.c 2004-12-27 05:13:50.000000000 +0100 @@ -68,6 +68,8 @@ #include <asm/bitops.h> #include <asm/uaccess.h> @@ -20681,9 +21152,9 @@ diff -Nur linux-2.4.30/drivers/tc/zs.c linux-2.4.30-mips/drivers/tc/zs.c } void __init zs_kgdb_hook(int tty_num) -diff -Nur linux-2.4.30/drivers/tc/zs.h linux-2.4.30-mips/drivers/tc/zs.h ---- linux-2.4.30/drivers/tc/zs.h 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/tc/zs.h 2004-07-01 15:28:54.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/tc/zs.h linux-2.4.32-rc1.mips/drivers/tc/zs.h +--- linux-2.4.32-rc1/drivers/tc/zs.h 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/tc/zs.h 2004-07-01 15:28:54.000000000 +0200 @@ -1,14 +1,18 @@ /* - * macserial.h: Definitions for the Macintosh Z8530 serial driver. @@ -20792,62 +21263,9 @@ diff -Nur linux-2.4.30/drivers/tc/zs.h linux-2.4.30-mips/drivers/tc/zs.h unsigned char *xmit_buf; int xmit_head; int xmit_tail; -diff -Nur linux-2.4.30/drivers/video/Config.in linux-2.4.30-mips/drivers/video/Config.in ---- linux-2.4.30/drivers/video/Config.in 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/Config.in 2005-02-11 22:16:44.000000000 +0100 -@@ -87,8 +87,8 @@ - if [ "$CONFIG_HP300" = "y" ]; then - define_bool CONFIG_FB_HP300 y - fi -- if [ "$ARCH" = "alpha" ]; then -- tristate ' TGA framebuffer support' CONFIG_FB_TGA -+ if [ "$ARCH" = "alpha" -o "$CONFIG_TC" = "y" ]; then -+ tristate ' TGA/SFB+ framebuffer support' CONFIG_FB_TGA - fi - if [ "$CONFIG_X86" = "y" ]; then - bool ' VESA VGA graphics console' CONFIG_FB_VESA -@@ -121,6 +121,17 @@ - hex ' Framebuffer Base Address' CONFIG_E1355_FB_BASE a8200000 - fi - fi -+ if [ "$CONFIG_SOC_AU1100" = "y" ]; then -+ bool ' Au1100 LCD Driver' CONFIG_FB_AU1100 -+ fi -+ -+ if [ "$CONFIG_SOC_AU1200" = "y" ]; then -+ bool ' Au1200 LCD Driver' CONFIG_FB_AU1200 -+ if [ "$CONFIG_FB_AU1200" = "y" ]; then -+ int ' Number of planes (1 to 4)' CONFIG_FB_AU1200_DEVS 1 -+ fi -+ fi -+ - if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then - if [ "$CONFIG_PCI" != "n" ]; then - tristate ' Matrox acceleration (EXPERIMENTAL)' CONFIG_FB_MATROX -@@ -178,9 +189,6 @@ - bool ' Use CRT on Pb1100 ' CONFIG_PB1500_CRT - bool ' Use TFT Panel on Pb1100 ' CONFIG_PB1500_TFT - fi -- if [ "$CONFIG_SOC_AU1100" = "y" ]; then -- bool ' Au1100 LCD Driver' CONFIG_FB_AU1100 -- fi - fi - fi - fi -diff -Nur linux-2.4.30/drivers/video/Makefile linux-2.4.30-mips/drivers/video/Makefile ---- linux-2.4.30/drivers/video/Makefile 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/Makefile 2005-02-11 22:16:44.000000000 +0100 -@@ -87,6 +87,7 @@ - obj-$(CONFIG_FB_MAXINE) += maxinefb.o - obj-$(CONFIG_FB_TX3912) += tx3912fb.o - obj-$(CONFIG_FB_AU1100) += au1100fb.o fbgen.o -+obj-$(CONFIG_FB_AU1200) += au1200fb.o fbgen.o - obj-$(CONFIG_FB_IT8181) += it8181fb.o fbgen.o - - subdir-$(CONFIG_STI_CONSOLE) += sti -diff -Nur linux-2.4.30/drivers/video/au1200fb.c linux-2.4.30-mips/drivers/video/au1200fb.c ---- linux-2.4.30/drivers/video/au1200fb.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/au1200fb.c 2005-03-13 09:04:16.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/video/au1200fb.c linux-2.4.32-rc1.mips/drivers/video/au1200fb.c +--- linux-2.4.32-rc1/drivers/video/au1200fb.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/au1200fb.c 2005-03-13 09:04:16.000000000 +0100 @@ -0,0 +1,1564 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -22413,9 +22831,9 @@ diff -Nur linux-2.4.30/drivers/video/au1200fb.c linux-2.4.30-mips/drivers/video/ +#endif /* MODULE */ + + -diff -Nur linux-2.4.30/drivers/video/au1200fb.h linux-2.4.30-mips/drivers/video/au1200fb.h ---- linux-2.4.30/drivers/video/au1200fb.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/au1200fb.h 2005-02-11 22:16:44.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/video/au1200fb.h linux-2.4.32-rc1.mips/drivers/video/au1200fb.h +--- linux-2.4.32-rc1/drivers/video/au1200fb.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/au1200fb.h 2005-02-11 22:16:44.000000000 +0100 @@ -0,0 +1,288 @@ +/* + * BRIEF MODULE DESCRIPTION @@ -22705,9 +23123,51 @@ diff -Nur linux-2.4.30/drivers/video/au1200fb.h linux-2.4.30-mips/drivers/video/ + +/********************************************************************/ +#endif /* _AU1200LCD_H */ -diff -Nur linux-2.4.30/drivers/video/fbmem.c linux-2.4.30-mips/drivers/video/fbmem.c ---- linux-2.4.30/drivers/video/fbmem.c 2005-01-19 15:10:09.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/fbmem.c 2005-02-11 22:16:44.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/video/Config.in linux-2.4.32-rc1.mips/drivers/video/Config.in +--- linux-2.4.32-rc1/drivers/video/Config.in 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/Config.in 2005-02-11 22:16:44.000000000 +0100 +@@ -87,8 +87,8 @@ + if [ "$CONFIG_HP300" = "y" ]; then + define_bool CONFIG_FB_HP300 y + fi +- if [ "$ARCH" = "alpha" ]; then +- tristate ' TGA framebuffer support' CONFIG_FB_TGA ++ if [ "$ARCH" = "alpha" -o "$CONFIG_TC" = "y" ]; then ++ tristate ' TGA/SFB+ framebuffer support' CONFIG_FB_TGA + fi + if [ "$CONFIG_X86" = "y" ]; then + bool ' VESA VGA graphics console' CONFIG_FB_VESA +@@ -121,6 +121,17 @@ + hex ' Framebuffer Base Address' CONFIG_E1355_FB_BASE a8200000 + fi + fi ++ if [ "$CONFIG_SOC_AU1100" = "y" ]; then ++ bool ' Au1100 LCD Driver' CONFIG_FB_AU1100 ++ fi ++ ++ if [ "$CONFIG_SOC_AU1200" = "y" ]; then ++ bool ' Au1200 LCD Driver' CONFIG_FB_AU1200 ++ if [ "$CONFIG_FB_AU1200" = "y" ]; then ++ int ' Number of planes (1 to 4)' CONFIG_FB_AU1200_DEVS 1 ++ fi ++ fi ++ + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + if [ "$CONFIG_PCI" != "n" ]; then + tristate ' Matrox acceleration (EXPERIMENTAL)' CONFIG_FB_MATROX +@@ -178,9 +189,6 @@ + bool ' Use CRT on Pb1100 ' CONFIG_PB1500_CRT + bool ' Use TFT Panel on Pb1100 ' CONFIG_PB1500_TFT + fi +- if [ "$CONFIG_SOC_AU1100" = "y" ]; then +- bool ' Au1100 LCD Driver' CONFIG_FB_AU1100 +- fi + fi + fi + fi +diff -Nur linux-2.4.32-rc1/drivers/video/fbmem.c linux-2.4.32-rc1.mips/drivers/video/fbmem.c +--- linux-2.4.32-rc1/drivers/video/fbmem.c 2005-06-01 02:56:56.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/video/fbmem.c 2005-05-25 19:14:24.000000000 +0200 @@ -139,6 +139,8 @@ extern int e1356fb_setup(char*); extern int au1100fb_init(void); @@ -22727,9 +23187,9 @@ diff -Nur linux-2.4.30/drivers/video/fbmem.c linux-2.4.30-mips/drivers/video/fbm #ifdef CONFIG_FB_IT8181 { "it8181fb", it8181fb_init, it8181fb_setup }, #endif -diff -Nur linux-2.4.30/drivers/video/ims332.h linux-2.4.30-mips/drivers/video/ims332.h ---- linux-2.4.30/drivers/video/ims332.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/ims332.h 2003-12-22 17:02:20.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/video/ims332.h linux-2.4.32-rc1.mips/drivers/video/ims332.h +--- linux-2.4.32-rc1/drivers/video/ims332.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/ims332.h 2003-12-22 17:02:20.000000000 +0100 @@ -0,0 +1,275 @@ +/* + * linux/drivers/video/ims332.h @@ -23006,9 +23466,20 @@ diff -Nur linux-2.4.30/drivers/video/ims332.h linux-2.4.30-mips/drivers/video/im + IMS332_CTRL_A_BOOT_ENABLE_VTG); + printk("\n"); +} -diff -Nur linux-2.4.30/drivers/video/maxinefb.h linux-2.4.30-mips/drivers/video/maxinefb.h ---- linux-2.4.30/drivers/video/maxinefb.h 2003-08-25 13:44:42.000000000 +0200 -+++ linux-2.4.30-mips/drivers/video/maxinefb.h 1970-01-01 01:00:00.000000000 +0100 +diff -Nur linux-2.4.32-rc1/drivers/video/Makefile linux-2.4.32-rc1.mips/drivers/video/Makefile +--- linux-2.4.32-rc1/drivers/video/Makefile 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/Makefile 2005-02-11 22:16:44.000000000 +0100 +@@ -87,6 +87,7 @@ + obj-$(CONFIG_FB_MAXINE) += maxinefb.o + obj-$(CONFIG_FB_TX3912) += tx3912fb.o + obj-$(CONFIG_FB_AU1100) += au1100fb.o fbgen.o ++obj-$(CONFIG_FB_AU1200) += au1200fb.o fbgen.o + obj-$(CONFIG_FB_IT8181) += it8181fb.o fbgen.o + + subdir-$(CONFIG_STI_CONSOLE) += sti +diff -Nur linux-2.4.32-rc1/drivers/video/maxinefb.h linux-2.4.32-rc1.mips/drivers/video/maxinefb.h +--- linux-2.4.32-rc1/drivers/video/maxinefb.h 2003-08-25 13:44:42.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/video/maxinefb.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,38 +0,0 @@ -/* - * linux/drivers/video/maxinefb.h @@ -23048,9 +23519,9 @@ diff -Nur linux-2.4.30/drivers/video/maxinefb.h linux-2.4.30-mips/drivers/video/ -#define IMS332_REG_COLOR_PALETTE 0x100 /* color palette, 256 entries */ -#define IMS332_REG_CURSOR_COLOR_PALETTE 0x0a1 /* cursor color palette, */ - /* 3 entries */ -diff -Nur linux-2.4.30/drivers/video/newport_con.c linux-2.4.30-mips/drivers/video/newport_con.c ---- linux-2.4.30/drivers/video/newport_con.c 2003-08-25 13:44:42.000000000 +0200 -+++ linux-2.4.30-mips/drivers/video/newport_con.c 2004-09-23 15:32:29.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/video/newport_con.c linux-2.4.32-rc1.mips/drivers/video/newport_con.c +--- linux-2.4.32-rc1/drivers/video/newport_con.c 2003-08-25 13:44:42.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/video/newport_con.c 2004-09-23 15:32:29.000000000 +0200 @@ -22,6 +22,7 @@ #include <linux/module.h> #include <linux/slab.h> @@ -23284,9 +23755,9 @@ diff -Nur linux-2.4.30/drivers/video/newport_con.c linux-2.4.30-mips/drivers/vid } module_init(newport_console_init); -diff -Nur linux-2.4.30/drivers/video/tgafb.c linux-2.4.30-mips/drivers/video/tgafb.c ---- linux-2.4.30/drivers/video/tgafb.c 2001-11-14 23:52:20.000000000 +0100 -+++ linux-2.4.30-mips/drivers/video/tgafb.c 2004-10-30 01:15:02.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/video/tgafb.c linux-2.4.32-rc1.mips/drivers/video/tgafb.c +--- linux-2.4.32-rc1/drivers/video/tgafb.c 2001-11-14 23:52:20.000000000 +0100 ++++ linux-2.4.32-rc1.mips/drivers/video/tgafb.c 2004-10-30 01:15:02.000000000 +0200 @@ -45,6 +45,15 @@ #include <linux/console.h> #include <asm/io.h> @@ -23463,9 +23934,9 @@ diff -Nur linux-2.4.30/drivers/video/tgafb.c linux-2.4.30-mips/drivers/video/tga return 0; } -diff -Nur linux-2.4.30/drivers/video/tgafb.h linux-2.4.30-mips/drivers/video/tgafb.h ---- linux-2.4.30/drivers/video/tgafb.h 2000-04-12 18:47:28.000000000 +0200 -+++ linux-2.4.30-mips/drivers/video/tgafb.h 2004-10-30 01:15:02.000000000 +0200 +diff -Nur linux-2.4.32-rc1/drivers/video/tgafb.h linux-2.4.32-rc1.mips/drivers/video/tgafb.h +--- linux-2.4.32-rc1/drivers/video/tgafb.h 2000-04-12 18:47:28.000000000 +0200 ++++ linux-2.4.32-rc1.mips/drivers/video/tgafb.h 2004-10-30 01:15:02.000000000 +0200 @@ -36,6 +36,7 @@ #define TGA_RASTEROP_REG 0x0034 #define TGA_PIXELSHIFT_REG 0x0038 @@ -23474,9 +23945,9 @@ diff -Nur linux-2.4.30/drivers/video/tgafb.h linux-2.4.30-mips/drivers/video/tga #define TGA_PIXELMASK_REG 0x005c #define TGA_CURSOR_BASE_REG 0x0060 #define TGA_HORIZ_REG 0x0064 -diff -Nur linux-2.4.30/fs/binfmt_elf.c linux-2.4.30-mips/fs/binfmt_elf.c ---- linux-2.4.30/fs/binfmt_elf.c 2005-04-04 03:42:20.000000000 +0200 -+++ linux-2.4.30-mips/fs/binfmt_elf.c 2005-04-05 21:09:57.000000000 +0200 +diff -Nur linux-2.4.32-rc1/fs/binfmt_elf.c linux-2.4.32-rc1.mips/fs/binfmt_elf.c +--- linux-2.4.32-rc1/fs/binfmt_elf.c 2005-06-01 02:56:56.000000000 +0200 ++++ linux-2.4.32-rc1.mips/fs/binfmt_elf.c 2005-05-23 14:12:31.000000000 +0200 @@ -660,6 +660,9 @@ bprm->argc++; } @@ -23499,9 +23970,9 @@ diff -Nur linux-2.4.30/fs/binfmt_elf.c linux-2.4.30-mips/fs/binfmt_elf.c elf.e_ehsize = sizeof(elf); elf.e_phentsize = sizeof(struct elf_phdr); elf.e_phnum = segs+1; /* Include notes */ -diff -Nur linux-2.4.30/fs/partitions/sgi.c linux-2.4.30-mips/fs/partitions/sgi.c ---- linux-2.4.30/fs/partitions/sgi.c 2001-10-02 05:03:26.000000000 +0200 -+++ linux-2.4.30-mips/fs/partitions/sgi.c 2004-08-11 22:30:07.000000000 +0200 +diff -Nur linux-2.4.32-rc1/fs/partitions/sgi.c linux-2.4.32-rc1.mips/fs/partitions/sgi.c +--- linux-2.4.32-rc1/fs/partitions/sgi.c 2001-10-02 05:03:26.000000000 +0200 ++++ linux-2.4.32-rc1.mips/fs/partitions/sgi.c 2004-08-11 22:30:07.000000000 +0200 @@ -17,6 +17,11 @@ #include "check.h" #include "sgi.h" @@ -23525,9 +23996,9 @@ diff -Nur linux-2.4.30/fs/partitions/sgi.c linux-2.4.30-mips/fs/partitions/sgi.c current_minor++; } printk("\n"); -diff -Nur linux-2.4.30/fs/proc/array.c linux-2.4.30-mips/fs/proc/array.c ---- linux-2.4.30/fs/proc/array.c 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/fs/proc/array.c 2004-11-29 18:47:18.000000000 +0100 +diff -Nur linux-2.4.32-rc1/fs/proc/array.c linux-2.4.32-rc1.mips/fs/proc/array.c +--- linux-2.4.32-rc1/fs/proc/array.c 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/fs/proc/array.c 2004-11-29 18:47:18.000000000 +0100 @@ -368,15 +368,15 @@ task->cmin_flt, task->maj_flt, @@ -23568,9 +24039,9 @@ diff -Nur linux-2.4.30/fs/proc/array.c linux-2.4.30-mips/fs/proc/array.c return len; } -diff -Nur linux-2.4.30/fs/proc/proc_misc.c linux-2.4.30-mips/fs/proc/proc_misc.c ---- linux-2.4.30/fs/proc/proc_misc.c 2004-08-08 01:26:06.000000000 +0200 -+++ linux-2.4.30-mips/fs/proc/proc_misc.c 2004-08-14 20:39:01.000000000 +0200 +diff -Nur linux-2.4.32-rc1/fs/proc/proc_misc.c linux-2.4.32-rc1.mips/fs/proc/proc_misc.c +--- linux-2.4.32-rc1/fs/proc/proc_misc.c 2004-08-08 01:26:06.000000000 +0200 ++++ linux-2.4.32-rc1.mips/fs/proc/proc_misc.c 2004-08-14 20:39:01.000000000 +0200 @@ -308,16 +308,16 @@ { int i, len = 0; @@ -23607,9 +24078,9 @@ diff -Nur linux-2.4.30/fs/proc/proc_misc.c linux-2.4.30-mips/fs/proc/proc_misc.c + kstat.per_cpu_nice[cpu_logical_map(i)] \ + kstat.per_cpu_system[cpu_logical_map(i)])); proc_sprintf(page, &off, &len, -diff -Nur linux-2.4.30/include/asm-alpha/param.h linux-2.4.30-mips/include/asm-alpha/param.h ---- linux-2.4.30/include/asm-alpha/param.h 2000-11-08 08:37:31.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-alpha/param.h 2000-11-28 04:59:03.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-alpha/param.h linux-2.4.32-rc1.mips/include/asm-alpha/param.h +--- linux-2.4.32-rc1/include/asm-alpha/param.h 2000-11-08 08:37:31.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-alpha/param.h 2000-11-28 04:59:03.000000000 +0100 @@ -13,6 +13,9 @@ # else # define HZ 1200 @@ -23620,9 +24091,9 @@ diff -Nur linux-2.4.30/include/asm-alpha/param.h linux-2.4.30-mips/include/asm-a #endif #define EXEC_PAGESIZE 8192 -diff -Nur linux-2.4.30/include/asm-i386/param.h linux-2.4.30-mips/include/asm-i386/param.h ---- linux-2.4.30/include/asm-i386/param.h 2000-10-27 20:04:43.000000000 +0200 -+++ linux-2.4.30-mips/include/asm-i386/param.h 2000-11-23 03:00:55.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-i386/param.h linux-2.4.32-rc1.mips/include/asm-i386/param.h +--- linux-2.4.32-rc1/include/asm-i386/param.h 2000-10-27 20:04:43.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-i386/param.h 2000-11-23 03:00:55.000000000 +0100 @@ -3,6 +3,9 @@ #ifndef HZ @@ -23633,9 +24104,9 @@ diff -Nur linux-2.4.30/include/asm-i386/param.h linux-2.4.30-mips/include/asm-i3 #endif #define EXEC_PAGESIZE 4096 -diff -Nur linux-2.4.30/include/asm-ia64/param.h linux-2.4.30-mips/include/asm-ia64/param.h ---- linux-2.4.30/include/asm-ia64/param.h 2004-04-14 15:05:40.000000000 +0200 -+++ linux-2.4.30-mips/include/asm-ia64/param.h 2004-04-16 05:14:20.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/asm-ia64/param.h linux-2.4.32-rc1.mips/include/asm-ia64/param.h +--- linux-2.4.32-rc1/include/asm-ia64/param.h 2004-04-14 15:05:40.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-ia64/param.h 2004-04-16 05:14:20.000000000 +0200 @@ -7,9 +7,15 @@ * Based on <asm-i386/param.h>. * @@ -23653,9 +24124,9 @@ diff -Nur linux-2.4.30/include/asm-ia64/param.h linux-2.4.30-mips/include/asm-ia #define EXEC_PAGESIZE 65536 #ifndef NGROUPS -diff -Nur linux-2.4.30/include/asm-m68k/param.h linux-2.4.30-mips/include/asm-m68k/param.h ---- linux-2.4.30/include/asm-m68k/param.h 2001-01-04 22:00:55.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-m68k/param.h 2001-01-11 05:02:45.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-m68k/param.h linux-2.4.32-rc1.mips/include/asm-m68k/param.h +--- linux-2.4.32-rc1/include/asm-m68k/param.h 2001-01-04 22:00:55.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-m68k/param.h 2001-01-11 05:02:45.000000000 +0100 @@ -3,6 +3,9 @@ #ifndef HZ @@ -23666,9 +24137,127 @@ diff -Nur linux-2.4.30/include/asm-m68k/param.h linux-2.4.30-mips/include/asm-m6 #endif #define EXEC_PAGESIZE 8192 -diff -Nur linux-2.4.30/include/asm-mips/au1000.h linux-2.4.30-mips/include/asm-mips/au1000.h ---- linux-2.4.30/include/asm-mips/au1000.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1000.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1000_gpio.h linux-2.4.32-rc1.mips/include/asm-mips/au1000_gpio.h +--- linux-2.4.32-rc1/include/asm-mips/au1000_gpio.h 2002-11-29 00:53:15.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1000_gpio.h 2005-01-30 09:01:28.000000000 +0100 +@@ -30,6 +30,13 @@ + * 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++/* ++ * Revision history ++ * 01/31/02 0.01 Initial release. Steve Longerbeam, MontaVista ++ * 10/12/03 0.1 Added Au1100/Au1500, GPIO2, and bit operations. K.C. Nishio, AMD ++ * 08/05/04 0.11 Added Au1550 and Au1200. K.C. Nishio ++ */ ++ + #ifndef __AU1000_GPIO_H + #define __AU1000_GPIO_H + +@@ -44,13 +51,94 @@ + #define AU1000GPIO_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 4, int) + #define AU1000GPIO_AVAIL_MASK _IOR (AU1000GPIO_IOC_MAGIC, 5, int) + ++// bit operations ++#define AU1000GPIO_BIT_READ _IOW (AU1000GPIO_IOC_MAGIC, 6, int) ++#define AU1000GPIO_BIT_SET _IOW (AU1000GPIO_IOC_MAGIC, 7, int) ++#define AU1000GPIO_BIT_CLEAR _IOW (AU1000GPIO_IOC_MAGIC, 8, int) ++#define AU1000GPIO_BIT_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 9, int) ++#define AU1000GPIO_BIT_INIT _IOW (AU1000GPIO_IOC_MAGIC, 10, int) ++#define AU1000GPIO_BIT_TERM _IOW (AU1000GPIO_IOC_MAGIC, 11, int) ++ ++/* set this major numer same as the CRIS GPIO driver */ ++#define AU1X00_GPIO_MAJOR (120) ++ ++#define ENABLED_ZERO (0) ++#define ENABLED_ONE (1) ++#define ENABLED_10 (0x2) ++#define ENABLED_11 (0x3) ++#define ENABLED_111 (0x7) ++#define NOT_AVAIL (-1) ++#define AU1X00_MAX_PRIMARY_GPIO (32) ++ ++#define AU1000_GPIO_MINOR_MAX AU1X00_MAX_PRIMARY_GPIO ++/* Au1100, 1500, 1550 and 1200 have the secondary GPIO block */ ++#define AU1XX0_GPIO_MINOR_MAX (48) ++ ++#define AU1X00_GPIO_NAME "gpio" ++ ++/* GPIO pins which are not multiplexed */ ++#if defined(CONFIG_SOC_AU1000) ++ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0)) ++ #define NATIVE_GPIO2PIN (0) ++#elif defined(CONFIG_SOC_AU1100) ++ #define NATIVE_GPIOPIN ((1 << 23) | (1 << 22) | (1 << 21) | (1 << 20) | (1 << 19) | (1 << 18) | \ ++ (1 << 17) | (1 << 16) | (1 << 7) | (1 << 1) | (1 << 0)) ++ #define NATIVE_GPIO2PIN (0) ++#elif defined(CONFIG_SOC_AU1500) ++ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0)) ++ /* exclude the PCI reset output signal: GPIO[200], DMA_REQ2 and DMA_REQ3 */ ++ #define NATIVE_GPIO2PIN (0xfffe & ~((1 << 9) | (1 << 8))) ++#elif defined(CONFIG_SOC_AU1550) ++ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 6) | (1 << 1) | (1 << 0)) ++ /* please refere Au1550 Data Book, chapter 15 */ ++ #define NATIVE_GPIO2PIN (1 << 5) ++#elif defined(CONFIG_SOC_AU1200) ++ #define NATIVE_GPIOPIN ((1 << 7) | (1 << 5)) ++ #define NATIVE_GPIO2PIN (0) ++#endif ++ ++/* minor as u32 */ ++#define MINOR_TO_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? minor : (minor - AU1X00_MAX_PRIMARY_GPIO)) ++#define IS_PRIMARY_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? 1 : 0) ++ ++/* ++ * pin to minor mapping. ++ * GPIO0-GPIO31, minor=0-31. ++ * GPIO200-GPIO215, minor=32-47. ++ */ ++typedef struct _au1x00_gpio_bit_ctl { ++ int direction; // The direction of this GPIO pin. 0: IN, 1: OUT. ++ int data; // Pin output when itized (0/1), or at the term. 0/1/-1 (tristate). ++} au1x00_gpio_bit_ctl; ++ ++typedef struct _au1x00_gpio_driver { ++ const char *driver_name; ++ const char *name; ++ int name_base; /* offset of printed name */ ++ short major; /* major device number */ ++ short minor_start; /* start of minor device number*/ ++ short num; /* number of devices */ ++} au1x00_gpio_driver; ++ + #ifdef __KERNEL__ +-extern u32 get_au1000_avail_gpio_mask(void); +-extern int au1000gpio_tristate(u32 data); +-extern int au1000gpio_in(u32 *data); +-extern int au1000gpio_set(u32 data); +-extern int au1000gpio_clear(u32 data); +-extern int au1000gpio_out(u32 data); ++extern u32 get_au1000_avail_gpio_mask(u32 *avail_gpio2); ++extern int au1000gpio_tristate(u32 minor, u32 data); ++extern int au1000gpio_in(u32 minor, u32 *data); ++extern int au1000gpio_set(u32 minor, u32 data); ++extern int au1000gpio_clear(u32 minor, u32 data); ++extern int au1000gpio_out(u32 minor, u32 data); ++extern int au1000gpio_bit_read(u32 minor, u32 *read_data); ++extern int au1000gpio_bit_set(u32 minor); ++extern int au1000gpio_bit_clear(u32 minor); ++extern int au1000gpio_bit_tristate(u32 minor); ++extern int check_minor_to_gpio(u32 minor); ++extern int au1000gpio_bit_init(u32 minor, au1x00_gpio_bit_ctl *bit_opt); ++extern int au1000gpio_bit_term(u32 minor, au1x00_gpio_bit_ctl *bit_opt); ++ ++extern void gpio_register_devfs (au1x00_gpio_driver *driver, unsigned int flags, unsigned minor); ++extern void gpio_unregister_devfs (au1x00_gpio_driver *driver, unsigned minor); ++extern int gpio_register_driver(au1x00_gpio_driver *driver); ++extern int gpio_unregister_driver(au1x00_gpio_driver *driver); + #endif + + #endif +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1000.h linux-2.4.32-rc1.mips/include/asm-mips/au1000.h +--- linux-2.4.32-rc1/include/asm-mips/au1000.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1000.h 2005-01-30 09:01:28.000000000 +0100 @@ -160,28 +160,356 @@ #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) #endif @@ -24336,127 +24925,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1000.h linux-2.4.30-mips/include/asm-m + +#endif + -diff -Nur linux-2.4.30/include/asm-mips/au1000_gpio.h linux-2.4.30-mips/include/asm-mips/au1000_gpio.h ---- linux-2.4.30/include/asm-mips/au1000_gpio.h 2002-11-29 00:53:15.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1000_gpio.h 2005-01-30 09:01:28.000000000 +0100 -@@ -30,6 +30,13 @@ - * 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -+/* -+ * Revision history -+ * 01/31/02 0.01 Initial release. Steve Longerbeam, MontaVista -+ * 10/12/03 0.1 Added Au1100/Au1500, GPIO2, and bit operations. K.C. Nishio, AMD -+ * 08/05/04 0.11 Added Au1550 and Au1200. K.C. Nishio -+ */ -+ - #ifndef __AU1000_GPIO_H - #define __AU1000_GPIO_H - -@@ -44,13 +51,94 @@ - #define AU1000GPIO_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 4, int) - #define AU1000GPIO_AVAIL_MASK _IOR (AU1000GPIO_IOC_MAGIC, 5, int) - -+// bit operations -+#define AU1000GPIO_BIT_READ _IOW (AU1000GPIO_IOC_MAGIC, 6, int) -+#define AU1000GPIO_BIT_SET _IOW (AU1000GPIO_IOC_MAGIC, 7, int) -+#define AU1000GPIO_BIT_CLEAR _IOW (AU1000GPIO_IOC_MAGIC, 8, int) -+#define AU1000GPIO_BIT_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 9, int) -+#define AU1000GPIO_BIT_INIT _IOW (AU1000GPIO_IOC_MAGIC, 10, int) -+#define AU1000GPIO_BIT_TERM _IOW (AU1000GPIO_IOC_MAGIC, 11, int) -+ -+/* set this major numer same as the CRIS GPIO driver */ -+#define AU1X00_GPIO_MAJOR (120) -+ -+#define ENABLED_ZERO (0) -+#define ENABLED_ONE (1) -+#define ENABLED_10 (0x2) -+#define ENABLED_11 (0x3) -+#define ENABLED_111 (0x7) -+#define NOT_AVAIL (-1) -+#define AU1X00_MAX_PRIMARY_GPIO (32) -+ -+#define AU1000_GPIO_MINOR_MAX AU1X00_MAX_PRIMARY_GPIO -+/* Au1100, 1500, 1550 and 1200 have the secondary GPIO block */ -+#define AU1XX0_GPIO_MINOR_MAX (48) -+ -+#define AU1X00_GPIO_NAME "gpio" -+ -+/* GPIO pins which are not multiplexed */ -+#if defined(CONFIG_SOC_AU1000) -+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0)) -+ #define NATIVE_GPIO2PIN (0) -+#elif defined(CONFIG_SOC_AU1100) -+ #define NATIVE_GPIOPIN ((1 << 23) | (1 << 22) | (1 << 21) | (1 << 20) | (1 << 19) | (1 << 18) | \ -+ (1 << 17) | (1 << 16) | (1 << 7) | (1 << 1) | (1 << 0)) -+ #define NATIVE_GPIO2PIN (0) -+#elif defined(CONFIG_SOC_AU1500) -+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0)) -+ /* exclude the PCI reset output signal: GPIO[200], DMA_REQ2 and DMA_REQ3 */ -+ #define NATIVE_GPIO2PIN (0xfffe & ~((1 << 9) | (1 << 8))) -+#elif defined(CONFIG_SOC_AU1550) -+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 6) | (1 << 1) | (1 << 0)) -+ /* please refere Au1550 Data Book, chapter 15 */ -+ #define NATIVE_GPIO2PIN (1 << 5) -+#elif defined(CONFIG_SOC_AU1200) -+ #define NATIVE_GPIOPIN ((1 << 7) | (1 << 5)) -+ #define NATIVE_GPIO2PIN (0) -+#endif -+ -+/* minor as u32 */ -+#define MINOR_TO_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? minor : (minor - AU1X00_MAX_PRIMARY_GPIO)) -+#define IS_PRIMARY_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? 1 : 0) -+ -+/* -+ * pin to minor mapping. -+ * GPIO0-GPIO31, minor=0-31. -+ * GPIO200-GPIO215, minor=32-47. -+ */ -+typedef struct _au1x00_gpio_bit_ctl { -+ int direction; // The direction of this GPIO pin. 0: IN, 1: OUT. -+ int data; // Pin output when itized (0/1), or at the term. 0/1/-1 (tristate). -+} au1x00_gpio_bit_ctl; -+ -+typedef struct _au1x00_gpio_driver { -+ const char *driver_name; -+ const char *name; -+ int name_base; /* offset of printed name */ -+ short major; /* major device number */ -+ short minor_start; /* start of minor device number*/ -+ short num; /* number of devices */ -+} au1x00_gpio_driver; -+ - #ifdef __KERNEL__ --extern u32 get_au1000_avail_gpio_mask(void); --extern int au1000gpio_tristate(u32 data); --extern int au1000gpio_in(u32 *data); --extern int au1000gpio_set(u32 data); --extern int au1000gpio_clear(u32 data); --extern int au1000gpio_out(u32 data); -+extern u32 get_au1000_avail_gpio_mask(u32 *avail_gpio2); -+extern int au1000gpio_tristate(u32 minor, u32 data); -+extern int au1000gpio_in(u32 minor, u32 *data); -+extern int au1000gpio_set(u32 minor, u32 data); -+extern int au1000gpio_clear(u32 minor, u32 data); -+extern int au1000gpio_out(u32 minor, u32 data); -+extern int au1000gpio_bit_read(u32 minor, u32 *read_data); -+extern int au1000gpio_bit_set(u32 minor); -+extern int au1000gpio_bit_clear(u32 minor); -+extern int au1000gpio_bit_tristate(u32 minor); -+extern int check_minor_to_gpio(u32 minor); -+extern int au1000gpio_bit_init(u32 minor, au1x00_gpio_bit_ctl *bit_opt); -+extern int au1000gpio_bit_term(u32 minor, au1x00_gpio_bit_ctl *bit_opt); -+ -+extern void gpio_register_devfs (au1x00_gpio_driver *driver, unsigned int flags, unsigned minor); -+extern void gpio_unregister_devfs (au1x00_gpio_driver *driver, unsigned minor); -+extern int gpio_register_driver(au1x00_gpio_driver *driver); -+extern int gpio_unregister_driver(au1x00_gpio_driver *driver); - #endif - - #endif -diff -Nur linux-2.4.30/include/asm-mips/au1000_pcmcia.h linux-2.4.30-mips/include/asm-mips/au1000_pcmcia.h ---- linux-2.4.30/include/asm-mips/au1000_pcmcia.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1000_pcmcia.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1000_pcmcia.h linux-2.4.32-rc1.mips/include/asm-mips/au1000_pcmcia.h +--- linux-2.4.32-rc1/include/asm-mips/au1000_pcmcia.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1000_pcmcia.h 2005-01-30 09:01:28.000000000 +0100 @@ -38,16 +38,41 @@ #define AU1X_SOCK0_PHYS_MEM 0xF80000000 @@ -24508,9 +24979,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1000_pcmcia.h linux-2.4.30-mips/includ #endif struct pcmcia_state { -diff -Nur linux-2.4.30/include/asm-mips/au1100_mmc.h linux-2.4.30-mips/include/asm-mips/au1100_mmc.h ---- linux-2.4.30/include/asm-mips/au1100_mmc.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1100_mmc.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1100_mmc.h linux-2.4.32-rc1.mips/include/asm-mips/au1100_mmc.h +--- linux-2.4.32-rc1/include/asm-mips/au1100_mmc.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1100_mmc.h 2005-01-30 09:01:28.000000000 +0100 @@ -39,16 +39,22 @@ #define __ASM_AU1100_MMC_H @@ -24552,9 +25023,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1100_mmc.h linux-2.4.30-mips/include/a + #endif /* __ASM_AU1100_MMC_H */ -diff -Nur linux-2.4.30/include/asm-mips/au1xxx_dbdma.h linux-2.4.30-mips/include/asm-mips/au1xxx_dbdma.h ---- linux-2.4.30/include/asm-mips/au1xxx_dbdma.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1xxx_dbdma.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1xxx_dbdma.h linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_dbdma.h +--- linux-2.4.32-rc1/include/asm-mips/au1xxx_dbdma.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_dbdma.h 2005-01-30 09:01:28.000000000 +0100 @@ -43,7 +43,7 @@ #define DDMA_GLOBAL_BASE 0xb4003000 #define DDMA_CHANNEL_BASE 0xb4002000 @@ -24707,9 +25178,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1xxx_dbdma.h linux-2.4.30-mips/include + #endif /* _LANGUAGE_ASSEMBLY */ #endif /* _AU1000_DBDMA_H_ */ -diff -Nur linux-2.4.30/include/asm-mips/au1xxx_gpio.h linux-2.4.30-mips/include/asm-mips/au1xxx_gpio.h ---- linux-2.4.30/include/asm-mips/au1xxx_gpio.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1xxx_gpio.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1xxx_gpio.h linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_gpio.h +--- linux-2.4.32-rc1/include/asm-mips/au1xxx_gpio.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_gpio.h 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,22 @@ + + @@ -24733,9 +25204,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1xxx_gpio.h linux-2.4.30-mips/include/ +} AU1X00_GPIO2; + +#endif //__AU1XXX_GPIO_H -diff -Nur linux-2.4.30/include/asm-mips/au1xxx_psc.h linux-2.4.30-mips/include/asm-mips/au1xxx_psc.h ---- linux-2.4.30/include/asm-mips/au1xxx_psc.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/au1xxx_psc.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/au1xxx_psc.h linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_psc.h +--- linux-2.4.32-rc1/include/asm-mips/au1xxx_psc.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/au1xxx_psc.h 2005-01-30 09:01:28.000000000 +0100 @@ -41,6 +41,11 @@ #define PSC3_BASE_ADDR 0xb0d00000 #endif @@ -24757,9 +25228,9 @@ diff -Nur linux-2.4.30/include/asm-mips/au1xxx_psc.h linux-2.4.30-mips/include/a #define PSC_I2SCFG_WI (1 << 15) #define PSC_I2SCFG_DIV_MASK (3 << 13) -diff -Nur linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30-mips/include/asm-mips/bootinfo.h ---- linux-2.4.30/include/asm-mips/bootinfo.h 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/bootinfo.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/bootinfo.h linux-2.4.32-rc1.mips/include/asm-mips/bootinfo.h +--- linux-2.4.32-rc1/include/asm-mips/bootinfo.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/bootinfo.h 2005-01-30 09:01:28.000000000 +0100 @@ -180,6 +180,9 @@ #define MACH_MTX1 7 /* 4G MTX-1 Au1500-based board */ #define MACH_CSB250 8 /* Cogent Au1500 */ @@ -24770,9 +25241,9 @@ diff -Nur linux-2.4.30/include/asm-mips/bootinfo.h linux-2.4.30-mips/include/asm /* * Valid machtype for group NEC_VR41XX -diff -Nur linux-2.4.30/include/asm-mips/db1200.h linux-2.4.30-mips/include/asm-mips/db1200.h ---- linux-2.4.30/include/asm-mips/db1200.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/db1200.h 2005-01-30 09:02:45.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/db1200.h linux-2.4.32-rc1.mips/include/asm-mips/db1200.h +--- linux-2.4.32-rc1/include/asm-mips/db1200.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/db1200.h 2005-01-30 09:02:45.000000000 +0100 @@ -0,0 +1,214 @@ +/* + * AMD Alchemy DB1200 Referrence Board @@ -24988,9 +25459,9 @@ diff -Nur linux-2.4.30/include/asm-mips/db1200.h linux-2.4.30-mips/include/asm-m + +#endif /* __ASM_DB1200_H */ + -diff -Nur linux-2.4.30/include/asm-mips/db1x00.h linux-2.4.30-mips/include/asm-mips/db1x00.h ---- linux-2.4.30/include/asm-mips/db1x00.h 2005-01-19 15:10:11.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/db1x00.h 2005-01-30 09:06:19.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/db1x00.h linux-2.4.32-rc1.mips/include/asm-mips/db1x00.h +--- linux-2.4.32-rc1/include/asm-mips/db1x00.h 2005-01-19 15:10:11.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/db1x00.h 2005-01-30 09:06:19.000000000 +0100 @@ -1,5 +1,5 @@ /* - * AMD Alchemy DB1x00 Reference Boards @@ -25096,9 +25567,26 @@ diff -Nur linux-2.4.30/include/asm-mips/db1x00.h linux-2.4.30-mips/include/asm-m #endif /* __ASM_DB1X00_H */ -diff -Nur linux-2.4.30/include/asm-mips/ficmmp.h linux-2.4.30-mips/include/asm-mips/ficmmp.h ---- linux-2.4.30/include/asm-mips/ficmmp.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/ficmmp.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/elf.h linux-2.4.32-rc1.mips/include/asm-mips/elf.h +--- linux-2.4.32-rc1/include/asm-mips/elf.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/elf.h 2005-04-14 12:41:44.000000000 +0200 +@@ -66,9 +66,10 @@ + #define USE_ELF_CORE_DUMP + #define ELF_EXEC_PAGESIZE PAGE_SIZE + +-#define ELF_CORE_COPY_REGS(_dest,_regs) \ +- memcpy((char *) &_dest, (char *) _regs, \ +- sizeof(struct pt_regs)); ++extern void dump_regs(elf_greg_t *, struct pt_regs *regs); ++ ++#define ELF_CORE_COPY_REGS(elf_regs, regs) \ ++ dump_regs((elf_greg_t *)&(elf_regs), regs); + + /* This yields a mask that user programs can use to figure out what + instruction set this cpu supports. This could be done in userspace, +diff -Nur linux-2.4.32-rc1/include/asm-mips/ficmmp.h linux-2.4.32-rc1.mips/include/asm-mips/ficmmp.h +--- linux-2.4.32-rc1/include/asm-mips/ficmmp.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/ficmmp.h 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,156 @@ +/* + * FIC MMP @@ -25256,9 +25744,9 @@ diff -Nur linux-2.4.30/include/asm-mips/ficmmp.h linux-2.4.30-mips/include/asm-m + +#endif /* __ASM_FICMMP_H */ + -diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm-mips/hazards.h ---- linux-2.4.30/include/asm-mips/hazards.h 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/hazards.h 2004-11-25 23:18:38.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/hazards.h linux-2.4.32-rc1.mips/include/asm-mips/hazards.h +--- linux-2.4.32-rc1/include/asm-mips/hazards.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/hazards.h 2005-06-06 16:46:22.000000000 +0200 @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. @@ -25268,7 +25756,7 @@ diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm- */ #ifndef _ASM_HAZARDS_H #define _ASM_HAZARDS_H -@@ -12,38 +12,185 @@ +@@ -12,38 +12,200 @@ #ifdef __ASSEMBLY__ @@ -25285,18 +25773,18 @@ diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm- -#define rm9000_tlb_hazard \ + +#define mtc0_tlbw_hazard \ -+ .set push; \ -+ .set mips32; \ -+ _ssnop; _ssnop; _ssnop; _ssnop; \ -+ .set pop -+ -+#define tlbw_eret_hazard \ .set push; \ .set mips32; \ - ssnop; ssnop; ssnop; ssnop; \ + _ssnop; _ssnop; _ssnop; _ssnop; \ .set pop + ++#define tlbw_eret_hazard \ ++ .set push; \ ++ .set mips32; \ ++ _ssnop; _ssnop; _ssnop; _ssnop; \ ++ .set pop ++ #else -#define rm9000_tlb_hazard + @@ -25308,7 +25796,8 @@ diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm- + */ +#define mtc0_tlbw_hazard \ + b . + 8 -+#define tlbw_eret_hazard ++#define tlbw_eret_hazard \ ++ nop #endif +/* @@ -25331,16 +25820,30 @@ diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm- +#define irq_disable_hazard \ + ehb # irq_disable_hazard + ++#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000) ++ ++/* ++ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. ++ */ ++ ++#define irq_enable_hazard ++ ++#define irq_disable_hazard ++ #else + /* ++ * Classic MIPS needs 1 - 3 nops or ssnops ++ */ +#define irq_enable_hazard -+#define irq_disable_hazard ++#define irq_disable_hazard \ ++ _ssnop; _ssnop; _ssnop + +#endif + +#else /* __ASSEMBLY__ */ + - /* ++/* * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent * use of the JTLB for instructions should not occur for 4 cpu cycles and use * for data translations should not occur for 3 cpu cycles. @@ -25460,9 +25963,160 @@ diff -Nur linux-2.4.30/include/asm-mips/hazards.h linux-2.4.30-mips/include/asm- +#endif /* __ASSEMBLY__ */ + #endif /* _ASM_HAZARDS_H */ -diff -Nur linux-2.4.30/include/asm-mips/mipsregs.h linux-2.4.30-mips/include/asm-mips/mipsregs.h ---- linux-2.4.30/include/asm-mips/mipsregs.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/mipsregs.h 2005-02-06 22:24:22.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/ide.h linux-2.4.32-rc1.mips/include/asm-mips/ide.h +--- linux-2.4.32-rc1/include/asm-mips/ide.h 2003-08-25 13:44:43.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/ide.h 2005-04-19 14:26:53.000000000 +0200 +@@ -32,12 +32,12 @@ + + extern struct ide_ops *ide_ops; + +-static __inline__ int ide_default_irq(ide_ioreg_t base) ++static inline int ide_default_irq(ide_ioreg_t base) + { + return ide_ops->ide_default_irq(base); + } + +-static __inline__ ide_ioreg_t ide_default_io_base(int index) ++static inline ide_ioreg_t ide_default_io_base(int index) + { + return ide_ops->ide_default_io_base(index); + } +@@ -48,7 +48,7 @@ + ide_ops->ide_init_hwif_ports(hw, data_port, ctrl_port, irq); + } + +-static __inline__ void ide_init_default_hwifs(void) ++static inline void ide_init_default_hwifs(void) + { + #ifndef CONFIG_BLK_DEV_IDEPCI + hw_regs_t hw; +@@ -68,7 +68,89 @@ + #define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1) + #endif + +-#include <asm-generic/ide_iops.h> ++/* MIPS port and memory-mapped I/O string operations. */ ++ ++static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size) ++{ ++ if (cpu_has_dc_aliases) { ++ unsigned long end = addr + size; ++ for (; addr < end; addr += PAGE_SIZE) ++ flush_dcache_page(virt_to_page(addr)); ++ } ++} ++ ++static inline void __ide_insw(unsigned long port, void *addr, ++ unsigned int count) ++{ ++ insw(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 2); ++} ++ ++static inline void __ide_insl(unsigned long port, void *addr, unsigned int count) ++{ ++ insl(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 4); ++} ++ ++static inline void __ide_outsw(unsigned long port, const void *addr, ++ unsigned long count) ++{ ++ outsw(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 2); ++} ++ ++static inline void __ide_outsl(unsigned long port, const void *addr, ++ unsigned long count) ++{ ++ outsl(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 4); ++} ++ ++static inline void __ide_mm_insw(unsigned long port, void *addr, u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ *(u16 *)addr = readw(port); ++ addr += 2; ++ } ++ __ide_flush_dcache_range(start, count * 2); ++} ++ ++static inline void __ide_mm_insl(unsigned long port, void *addr, u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ *(u32 *)addr = readl(port); ++ addr += 4; ++ } ++ __ide_flush_dcache_range(start, count * 4); ++} ++ ++static inline void __ide_mm_outsw(unsigned long port, const void *addr, ++ u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ writew(*(u16 *)addr, port); ++ addr += 2; ++ } ++ __ide_flush_dcache_range(start, count * 2); ++} ++ ++static inline void __ide_mm_outsl(unsigned long port, const void *addr, ++ u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ writel(*(u32 *)addr, port); ++ addr += 4; ++ } ++ __ide_flush_dcache_range(start, count * 4); ++} + + #endif /* __KERNEL__ */ + +diff -Nur linux-2.4.32-rc1/include/asm-mips/io.h linux-2.4.32-rc1.mips/include/asm-mips/io.h +--- linux-2.4.32-rc1/include/asm-mips/io.h 2003-08-25 13:44:43.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/io.h 2005-04-19 14:24:16.000000000 +0200 +@@ -392,7 +392,8 @@ + return __ioswab32(__val); + } + +-static inline void __outsb(unsigned long port, void *addr, unsigned int count) ++static inline void __outsb(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outb(*(u8 *)addr, port); +@@ -408,7 +409,8 @@ + } + } + +-static inline void __outsw(unsigned long port, void *addr, unsigned int count) ++static inline void __outsw(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outw(*(u16 *)addr, port); +@@ -424,7 +426,8 @@ + } + } + +-static inline void __outsl(unsigned long port, void *addr, unsigned int count) ++static inline void __outsl(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outl(*(u32 *)addr, port); +diff -Nur linux-2.4.32-rc1/include/asm-mips/mipsregs.h linux-2.4.32-rc1.mips/include/asm-mips/mipsregs.h +--- linux-2.4.32-rc1/include/asm-mips/mipsregs.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/mipsregs.h 2005-02-06 22:24:22.000000000 +0100 @@ -757,10 +757,18 @@ #define read_c0_config1() __read_32bit_c0_register($16, 1) #define read_c0_config2() __read_32bit_c0_register($16, 2) @@ -25525,9 +26179,9 @@ diff -Nur linux-2.4.30/include/asm-mips/mipsregs.h linux-2.4.30-mips/include/asm } /* -diff -Nur linux-2.4.30/include/asm-mips/mmu_context.h linux-2.4.30-mips/include/asm-mips/mmu_context.h ---- linux-2.4.30/include/asm-mips/mmu_context.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/mmu_context.h 2004-11-22 14:38:29.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/mmu_context.h linux-2.4.32-rc1.mips/include/asm-mips/mmu_context.h +--- linux-2.4.32-rc1/include/asm-mips/mmu_context.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/mmu_context.h 2004-11-22 14:38:29.000000000 +0100 @@ -27,7 +27,7 @@ #define TLBMISS_HANDLER_SETUP_PGD(pgd) \ pgd_current[smp_processor_id()] = (unsigned long)(pgd) @@ -25537,9 +26191,9 @@ diff -Nur linux-2.4.30/include/asm-mips/mmu_context.h linux-2.4.30-mips/include/ TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir) extern unsigned long pgd_current[]; -diff -Nur linux-2.4.30/include/asm-mips/pb1100.h linux-2.4.30-mips/include/asm-mips/pb1100.h ---- linux-2.4.30/include/asm-mips/pb1100.h 2003-08-25 13:44:44.000000000 +0200 -+++ linux-2.4.30-mips/include/asm-mips/pb1100.h 2005-01-30 09:10:29.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/pb1100.h linux-2.4.32-rc1.mips/include/asm-mips/pb1100.h +--- linux-2.4.32-rc1/include/asm-mips/pb1100.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/pb1100.h 2005-01-30 09:10:29.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Alchemy Semi PB1100 Referrence Board @@ -25706,9 +26360,9 @@ diff -Nur linux-2.4.30/include/asm-mips/pb1100.h linux-2.4.30-mips/include/asm-m #endif /* __ASM_PB1100_H */ + -diff -Nur linux-2.4.30/include/asm-mips/pb1200.h linux-2.4.30-mips/include/asm-mips/pb1200.h ---- linux-2.4.30/include/asm-mips/pb1200.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/pb1200.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/pb1200.h linux-2.4.32-rc1.mips/include/asm-mips/pb1200.h +--- linux-2.4.32-rc1/include/asm-mips/pb1200.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/pb1200.h 2005-01-30 09:01:28.000000000 +0100 @@ -0,0 +1,244 @@ +/* + * AMD Alchemy PB1200 Referrence Board @@ -25954,9 +26608,9 @@ diff -Nur linux-2.4.30/include/asm-mips/pb1200.h linux-2.4.30-mips/include/asm-m + +#endif /* __ASM_PB1200_H */ + -diff -Nur linux-2.4.30/include/asm-mips/pb1550.h linux-2.4.30-mips/include/asm-mips/pb1550.h ---- linux-2.4.30/include/asm-mips/pb1550.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/pb1550.h 2005-01-30 09:01:28.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/pb1550.h linux-2.4.32-rc1.mips/include/asm-mips/pb1550.h +--- linux-2.4.32-rc1/include/asm-mips/pb1550.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/pb1550.h 2005-01-30 09:01:28.000000000 +0100 @@ -30,13 +30,11 @@ #define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX @@ -26000,9 +26654,98 @@ diff -Nur linux-2.4.30/include/asm-mips/pb1550.h linux-2.4.30-mips/include/asm-m +#define AU1XXX_SMC91111_IRQ AU1000_GPIO_3 #endif /* __ASM_PB1550_H */ -diff -Nur linux-2.4.30/include/asm-mips/tx4927/tx4927.h linux-2.4.30-mips/include/asm-mips/tx4927/tx4927.h ---- linux-2.4.30/include/asm-mips/tx4927/tx4927.h 2003-08-25 13:44:44.000000000 +0200 -+++ linux-2.4.30-mips/include/asm-mips/tx4927/tx4927.h 2004-11-22 19:02:10.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/reg.h linux-2.4.32-rc1.mips/include/asm-mips/reg.h +--- linux-2.4.32-rc1/include/asm-mips/reg.h 2002-08-03 02:39:45.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/reg.h 2005-04-14 12:41:44.000000000 +0200 +@@ -45,6 +45,9 @@ + /* + * k0/k1 unsaved + */ ++#define EF_REG26 32 ++#define EF_REG27 33 ++ + #define EF_REG28 34 + #define EF_REG29 35 + #define EF_REG30 36 +@@ -60,6 +63,7 @@ + #define EF_CP0_BADVADDR 41 + #define EF_CP0_STATUS 42 + #define EF_CP0_CAUSE 43 ++#define EF_UNUSED0 44 + + #define EF_SIZE 180 /* size in bytes */ + +diff -Nur linux-2.4.32-rc1/include/asm-mips/sgi/hpc3.h linux-2.4.32-rc1.mips/include/asm-mips/sgi/hpc3.h +--- linux-2.4.32-rc1/include/asm-mips/sgi/hpc3.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/sgi/hpc3.h 2005-09-23 16:35:27.000000000 +0200 +@@ -128,26 +128,26 @@ + volatile u32 rx_gfptr; /* current GIO fifo ptr */ + volatile u32 rx_dfptr; /* current device fifo ptr */ + u32 _unused1; /* padding */ +- volatile u32 rx_reset; /* reset register */ +-#define HPC3_ERXRST_CRESET 0x1 /* Reset dma channel and external controller */ +-#define HPC3_ERXRST_CLRIRQ 0x2 /* Clear channel interrupt */ +-#define HPC3_ERXRST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */ +- +- volatile u32 rx_dconfig; /* DMA configuration register */ +-#define HPC3_ERXDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */ +-#define HPC3_ERXDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */ +-#define HPC3_ERXDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */ +-#define HPC3_ERXDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */ +-#define HPC3_ERXDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */ +-#define HPC3_ERXDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */ +-#define HPC3_ERXDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */ +-#define HPC3_ERXDCFG_PTO 0x30000 /* Programmed timeout value for above two */ +- +- volatile u32 rx_pconfig; /* PIO configuration register */ +-#define HPC3_ERXPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */ +-#define HPC3_ERXPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */ +-#define HPC3_ERXPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */ +-#define HPC3_ERXPCFG_TST 0x1000 /* Diagnistic ram test feature bit */ ++ volatile u32 reset; /* reset register */ ++#define HPC3_ERST_CRESET 0x1 /* Reset dma channel and external controller */ ++#define HPC3_ERST_CLRIRQ 0x2 /* Clear channel interrupt */ ++#define HPC3_ERST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */ ++ ++ volatile u32 dconfig; /* DMA configuration register */ ++#define HPC3_EDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */ ++#define HPC3_EDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */ ++#define HPC3_EDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */ ++#define HPC3_EDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */ ++#define HPC3_EDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */ ++#define HPC3_EDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */ ++#define HPC3_EDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */ ++#define HPC3_EDCFG_PTO 0x30000 /* Programmed timeout value for above two */ ++ ++ volatile u32 pconfig; /* PIO configuration register */ ++#define HPC3_EPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */ ++#define HPC3_EPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */ ++#define HPC3_EPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */ ++#define HPC3_EPCFG_TST 0x1000 /* Diagnistic ram test feature bit */ + + u32 _unused2[0x1000/4 - 8]; /* padding */ + +@@ -221,7 +221,7 @@ + #define HPC3_BESTAT_PIDMASK 0x3f700 /* DMA channel parity identifier */ + + u32 _unused1[0x14000/4 - 5]; /* padding */ +- ++ + /* Now direct PIO per-HPC3 peripheral access to external regs. */ + volatile u32 scsi0_ext[256]; /* SCSI channel 0 external regs */ + u32 _unused2[0x7c00/4]; +@@ -304,7 +304,7 @@ + volatile u32 bbram[8192-50-14]; /* Battery backed ram */ + }; + +-/* ++/* + * It is possible to have two HPC3's within the address space on + * one machine, though only having one is more likely on an Indy. + */ +diff -Nur linux-2.4.32-rc1/include/asm-mips/tx4927/tx4927.h linux-2.4.32-rc1.mips/include/asm-mips/tx4927/tx4927.h +--- linux-2.4.32-rc1/include/asm-mips/tx4927/tx4927.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips/tx4927/tx4927.h 2004-11-22 19:02:10.000000000 +0100 @@ -88,8 +88,8 @@ @@ -26071,9 +26814,9 @@ diff -Nur linux-2.4.30/include/asm-mips/tx4927/tx4927.h linux-2.4.30-mips/includ #define TX4927_ACLC_ACSEMAPH 0xf720 #define TX4927_ACLC_ACGPIDAT 0xf740 #define TX4927_ACLC_ACGPODAT 0xf744 -diff -Nur linux-2.4.30/include/asm-mips/unistd.h linux-2.4.30-mips/include/asm-mips/unistd.h ---- linux-2.4.30/include/asm-mips/unistd.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips/unistd.h 2004-11-24 21:30:06.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips/unistd.h linux-2.4.32-rc1.mips/include/asm-mips/unistd.h +--- linux-2.4.32-rc1/include/asm-mips/unistd.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips/unistd.h 2004-11-24 21:30:06.000000000 +0100 @@ -760,7 +760,7 @@ if (__a3 == 0) \ return (type) __v0; \ @@ -26155,9 +26898,38 @@ diff -Nur linux-2.4.30/include/asm-mips/unistd.h linux-2.4.30-mips/include/asm-m } #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ -diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/asm-mips64/hazards.h ---- linux-2.4.30/include/asm-mips64/hazards.h 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips64/hazards.h 2004-11-25 23:18:38.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips64/checksum.h linux-2.4.32-rc1.mips/include/asm-mips64/checksum.h +--- linux-2.4.32-rc1/include/asm-mips64/checksum.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/checksum.h 2005-09-20 12:58:50.000000000 +0200 +@@ -144,7 +144,7 @@ + "daddu\t%0, %4\n\t" + "dsll32\t$1, %0, 0\n\t" + "daddu\t%0, $1\n\t" +- "dsrl32\t%0, %0, 0\n\t" ++ "dsra32\t%0, %0, 0\n\t" + ".set\tat" + : "=&r" (sum) + : "0" (daddr), "r"(saddr), +diff -Nur linux-2.4.32-rc1/include/asm-mips64/elf.h linux-2.4.32-rc1.mips/include/asm-mips64/elf.h +--- linux-2.4.32-rc1/include/asm-mips64/elf.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/elf.h 2005-04-14 12:41:44.000000000 +0200 +@@ -64,9 +64,10 @@ + #define USE_ELF_CORE_DUMP + #define ELF_EXEC_PAGESIZE PAGE_SIZE + +-#define ELF_CORE_COPY_REGS(_dest,_regs) \ +- memcpy((char *) &_dest, (char *) _regs, \ +- sizeof(struct pt_regs)); ++extern void dump_regs(elf_greg_t *, struct pt_regs *regs); ++ ++#define ELF_CORE_COPY_REGS(elf_regs, regs) \ ++ dump_regs((elf_greg_t *)&(elf_regs), regs); + + /* This yields a mask that user programs can use to figure out what + instruction set this cpu supports. This could be done in userspace, +diff -Nur linux-2.4.32-rc1/include/asm-mips64/hazards.h linux-2.4.32-rc1.mips/include/asm-mips64/hazards.h +--- linux-2.4.32-rc1/include/asm-mips64/hazards.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/hazards.h 2005-06-06 16:46:22.000000000 +0200 @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. @@ -26167,7 +26939,7 @@ diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/as */ #ifndef _ASM_HAZARDS_H #define _ASM_HAZARDS_H -@@ -12,37 +12,185 @@ +@@ -12,37 +12,200 @@ #ifdef __ASSEMBLY__ @@ -26185,15 +26957,15 @@ diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/as + +#define mtc0_tlbw_hazard \ + .set push; \ -+ .set mips32; \ + .set mips32; \ +- ssnop; ssnop; ssnop; ssnop; \ +- .set mips0 + _ssnop; _ssnop; _ssnop; _ssnop; \ + .set pop + +#define tlbw_eret_hazard \ + .set push; \ - .set mips32; \ -- ssnop; ssnop; ssnop; ssnop; \ -- .set mips0 ++ .set mips32; \ + _ssnop; _ssnop; _ssnop; _ssnop; \ + .set pop + @@ -26208,7 +26980,8 @@ diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/as + */ +#define mtc0_tlbw_hazard \ + b . + 8 -+#define tlbw_eret_hazard ++#define tlbw_eret_hazard \ ++ nop #endif +/* @@ -26231,16 +27004,30 @@ diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/as +#define irq_disable_hazard \ + ehb # irq_disable_hazard + ++#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000) ++ ++/* ++ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. ++ */ ++ ++#define irq_enable_hazard ++ ++#define irq_disable_hazard ++ #else + /* ++ * Classic MIPS needs 1 - 3 nops or ssnops ++ */ +#define irq_enable_hazard -+#define irq_disable_hazard ++#define irq_disable_hazard \ ++ _ssnop; _ssnop; _ssnop + +#endif + +#else /* __ASSEMBLY__ */ + - /* ++/* * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent * use of the JTLB for instructions should not occur for 4 cpu cycles and use * for data translations should not occur for 3 cpu cycles. @@ -26360,9 +27147,160 @@ diff -Nur linux-2.4.30/include/asm-mips64/hazards.h linux-2.4.30-mips/include/as +#endif /* __ASSEMBLY__ */ + #endif /* _ASM_HAZARDS_H */ -diff -Nur linux-2.4.30/include/asm-mips64/mipsregs.h linux-2.4.30-mips/include/asm-mips64/mipsregs.h ---- linux-2.4.30/include/asm-mips64/mipsregs.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips64/mipsregs.h 2005-02-06 22:24:22.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips64/ide.h linux-2.4.32-rc1.mips/include/asm-mips64/ide.h +--- linux-2.4.32-rc1/include/asm-mips64/ide.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/ide.h 2005-04-19 14:26:53.000000000 +0200 +@@ -32,12 +32,12 @@ + + extern struct ide_ops *ide_ops; + +-static __inline__ int ide_default_irq(ide_ioreg_t base) ++static inline int ide_default_irq(ide_ioreg_t base) + { + return ide_ops->ide_default_irq(base); + } + +-static __inline__ ide_ioreg_t ide_default_io_base(int index) ++static inline ide_ioreg_t ide_default_io_base(int index) + { + return ide_ops->ide_default_io_base(index); + } +@@ -48,7 +48,7 @@ + ide_ops->ide_init_hwif_ports(hw, data_port, ctrl_port, irq); + } + +-static __inline__ void ide_init_default_hwifs(void) ++static inline void ide_init_default_hwifs(void) + { + #ifndef CONFIG_BLK_DEV_IDEPCI + hw_regs_t hw; +@@ -68,7 +68,89 @@ + #define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1) + #endif + +-#include <asm-generic/ide_iops.h> ++/* MIPS port and memory-mapped I/O string operations. */ ++ ++static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size) ++{ ++ if (cpu_has_dc_aliases) { ++ unsigned long end = addr + size; ++ for (; addr < end; addr += PAGE_SIZE) ++ flush_dcache_page(virt_to_page(addr)); ++ } ++} ++ ++static inline void __ide_insw(unsigned long port, void *addr, ++ unsigned int count) ++{ ++ insw(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 2); ++} ++ ++static inline void __ide_insl(unsigned long port, void *addr, unsigned int count) ++{ ++ insl(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 4); ++} ++ ++static inline void __ide_outsw(unsigned long port, const void *addr, ++ unsigned long count) ++{ ++ outsw(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 2); ++} ++ ++static inline void __ide_outsl(unsigned long port, const void *addr, ++ unsigned long count) ++{ ++ outsl(port, addr, count); ++ __ide_flush_dcache_range((unsigned long)addr, count * 4); ++} ++ ++static inline void __ide_mm_insw(unsigned long port, void *addr, u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ *(u16 *)addr = readw(port); ++ addr += 2; ++ } ++ __ide_flush_dcache_range(start, count * 2); ++} ++ ++static inline void __ide_mm_insl(unsigned long port, void *addr, u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ *(u32 *)addr = readl(port); ++ addr += 4; ++ } ++ __ide_flush_dcache_range(start, count * 4); ++} ++ ++static inline void __ide_mm_outsw(unsigned long port, const void *addr, ++ u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ writew(*(u16 *)addr, port); ++ addr += 2; ++ } ++ __ide_flush_dcache_range(start, count * 2); ++} ++ ++static inline void __ide_mm_outsl(unsigned long port, const void *addr, ++ u32 count) ++{ ++ unsigned long start = (unsigned long) addr; ++ ++ while (count--) { ++ writel(*(u32 *)addr, port); ++ addr += 4; ++ } ++ __ide_flush_dcache_range(start, count * 4); ++} + + #endif /* __KERNEL__ */ + +diff -Nur linux-2.4.32-rc1/include/asm-mips64/io.h linux-2.4.32-rc1.mips/include/asm-mips64/io.h +--- linux-2.4.32-rc1/include/asm-mips64/io.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/io.h 2005-04-19 14:24:53.000000000 +0200 +@@ -414,7 +414,8 @@ + return __ioswab32(__val); + } + +-static inline void __outsb(unsigned long port, void *addr, unsigned int count) ++static inline void __outsb(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outb(*(u8 *)addr, port); +@@ -430,7 +431,8 @@ + } + } + +-static inline void __outsw(unsigned long port, void *addr, unsigned int count) ++static inline void __outsw(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outw(*(u16 *)addr, port); +@@ -446,7 +448,8 @@ + } + } + +-static inline void __outsl(unsigned long port, void *addr, unsigned int count) ++static inline void __outsl(unsigned long port, const void *addr, ++ unsigned int count) + { + while (count--) { + outl(*(u32 *)addr, port); +diff -Nur linux-2.4.32-rc1/include/asm-mips64/mipsregs.h linux-2.4.32-rc1.mips/include/asm-mips64/mipsregs.h +--- linux-2.4.32-rc1/include/asm-mips64/mipsregs.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/mipsregs.h 2005-02-06 22:24:22.000000000 +0100 @@ -757,10 +757,18 @@ #define read_c0_config1() __read_32bit_c0_register($16, 1) #define read_c0_config2() __read_32bit_c0_register($16, 2) @@ -26425,9 +27363,102 @@ diff -Nur linux-2.4.30/include/asm-mips64/mipsregs.h linux-2.4.30-mips/include/a } /* -diff -Nur linux-2.4.30/include/asm-mips64/unistd.h linux-2.4.30-mips/include/asm-mips64/unistd.h ---- linux-2.4.30/include/asm-mips64/unistd.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-mips64/unistd.h 2004-11-24 21:30:06.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-mips64/reg.h linux-2.4.32-rc1.mips/include/asm-mips64/reg.h +--- linux-2.4.32-rc1/include/asm-mips64/reg.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/reg.h 2005-04-14 12:41:44.000000000 +0200 +@@ -46,6 +46,9 @@ + /* + * k0/k1 unsaved + */ ++#define EF_REG26 26 ++#define EF_REG27 27 ++ + #define EF_REG28 28 + #define EF_REG29 29 + #define EF_REG30 30 +diff -Nur linux-2.4.32-rc1/include/asm-mips64/sgi/hpc3.h linux-2.4.32-rc1.mips/include/asm-mips64/sgi/hpc3.h +--- linux-2.4.32-rc1/include/asm-mips64/sgi/hpc3.h 2003-08-25 13:44:44.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/sgi/hpc3.h 2005-09-23 16:35:27.000000000 +0200 +@@ -128,26 +128,26 @@ + volatile u32 rx_gfptr; /* current GIO fifo ptr */ + volatile u32 rx_dfptr; /* current device fifo ptr */ + u32 _unused1; /* padding */ +- volatile u32 rx_reset; /* reset register */ +-#define HPC3_ERXRST_CRESET 0x1 /* Reset dma channel and external controller */ +-#define HPC3_ERXRST_CLRIRQ 0x2 /* Clear channel interrupt */ +-#define HPC3_ERXRST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */ +- +- volatile u32 rx_dconfig; /* DMA configuration register */ +-#define HPC3_ERXDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */ +-#define HPC3_ERXDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */ +-#define HPC3_ERXDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */ +-#define HPC3_ERXDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */ +-#define HPC3_ERXDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */ +-#define HPC3_ERXDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */ +-#define HPC3_ERXDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */ +-#define HPC3_ERXDCFG_PTO 0x30000 /* Programmed timeout value for above two */ +- +- volatile u32 rx_pconfig; /* PIO configuration register */ +-#define HPC3_ERXPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */ +-#define HPC3_ERXPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */ +-#define HPC3_ERXPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */ +-#define HPC3_ERXPCFG_TST 0x1000 /* Diagnistic ram test feature bit */ ++ volatile u32 reset; /* reset register */ ++#define HPC3_ERST_CRESET 0x1 /* Reset dma channel and external controller */ ++#define HPC3_ERST_CLRIRQ 0x2 /* Clear channel interrupt */ ++#define HPC3_ERST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */ ++ ++ volatile u32 dconfig; /* DMA configuration register */ ++#define HPC3_EDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */ ++#define HPC3_EDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */ ++#define HPC3_EDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */ ++#define HPC3_EDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */ ++#define HPC3_EDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */ ++#define HPC3_EDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */ ++#define HPC3_EDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */ ++#define HPC3_EDCFG_PTO 0x30000 /* Programmed timeout value for above two */ ++ ++ volatile u32 pconfig; /* PIO configuration register */ ++#define HPC3_EPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */ ++#define HPC3_EPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */ ++#define HPC3_EPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */ ++#define HPC3_EPCFG_TST 0x1000 /* Diagnistic ram test feature bit */ + + u32 _unused2[0x1000/4 - 8]; /* padding */ + +@@ -221,7 +221,7 @@ + #define HPC3_BESTAT_PIDMASK 0x3f700 /* DMA channel parity identifier */ + + u32 _unused1[0x14000/4 - 5]; /* padding */ +- ++ + /* Now direct PIO per-HPC3 peripheral access to external regs. */ + volatile u32 scsi0_ext[256]; /* SCSI channel 0 external regs */ + u32 _unused2[0x7c00/4]; +@@ -304,7 +304,7 @@ + volatile u32 bbram[8192-50-14]; /* Battery backed ram */ + }; + +-/* ++/* + * It is possible to have two HPC3's within the address space on + * one machine, though only having one is more likely on an Indy. + */ +diff -Nur linux-2.4.32-rc1/include/asm-mips64/sn/nmi.h linux-2.4.32-rc1.mips/include/asm-mips64/sn/nmi.h +--- linux-2.4.32-rc1/include/asm-mips64/sn/nmi.h 2002-11-29 00:53:15.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/sn/nmi.h 2002-08-06 01:53:40.000000000 +0200 +@@ -8,7 +8,7 @@ + #ifndef __ASM_SN_NMI_H + #define __ASM_SN_NMI_H + +-#ident "$Revision: 1.2.4.2 $" ++#ident "$Revision: 1.2.4.1 $" + + #include <asm/sn/addrs.h> + +diff -Nur linux-2.4.32-rc1/include/asm-mips64/unistd.h linux-2.4.32-rc1.mips/include/asm-mips64/unistd.h +--- linux-2.4.32-rc1/include/asm-mips64/unistd.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-mips64/unistd.h 2004-11-24 21:30:06.000000000 +0100 @@ -760,7 +760,7 @@ if (__a3 == 0) \ return (type) __v0; \ @@ -26509,9 +27540,9 @@ diff -Nur linux-2.4.30/include/asm-mips64/unistd.h linux-2.4.30-mips/include/asm } #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ -diff -Nur linux-2.4.30/include/asm-ppc/param.h linux-2.4.30-mips/include/asm-ppc/param.h ---- linux-2.4.30/include/asm-ppc/param.h 2003-06-13 16:51:38.000000000 +0200 -+++ linux-2.4.30-mips/include/asm-ppc/param.h 2003-07-05 05:23:46.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/asm-ppc/param.h linux-2.4.32-rc1.mips/include/asm-ppc/param.h +--- linux-2.4.32-rc1/include/asm-ppc/param.h 2003-06-13 16:51:38.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/asm-ppc/param.h 2003-07-05 05:23:46.000000000 +0200 @@ -3,6 +3,9 @@ #ifndef HZ @@ -26522,9 +27553,9 @@ diff -Nur linux-2.4.30/include/asm-ppc/param.h linux-2.4.30-mips/include/asm-ppc #endif #define EXEC_PAGESIZE 4096 -diff -Nur linux-2.4.30/include/asm-s390/param.h linux-2.4.30-mips/include/asm-s390/param.h ---- linux-2.4.30/include/asm-s390/param.h 2001-02-13 23:13:44.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-s390/param.h 2001-03-09 21:34:48.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-s390/param.h linux-2.4.32-rc1.mips/include/asm-s390/param.h +--- linux-2.4.32-rc1/include/asm-s390/param.h 2001-02-13 23:13:44.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-s390/param.h 2001-03-09 21:34:48.000000000 +0100 @@ -11,6 +11,9 @@ #ifndef HZ @@ -26535,9 +27566,9 @@ diff -Nur linux-2.4.30/include/asm-s390/param.h linux-2.4.30-mips/include/asm-s3 #endif #define EXEC_PAGESIZE 4096 -diff -Nur linux-2.4.30/include/asm-sh/param.h linux-2.4.30-mips/include/asm-sh/param.h ---- linux-2.4.30/include/asm-sh/param.h 2001-01-04 22:19:13.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-sh/param.h 2001-01-11 05:02:45.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-sh/param.h linux-2.4.32-rc1.mips/include/asm-sh/param.h +--- linux-2.4.32-rc1/include/asm-sh/param.h 2001-01-04 22:19:13.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-sh/param.h 2001-01-11 05:02:45.000000000 +0100 @@ -3,6 +3,9 @@ #ifndef HZ @@ -26548,9 +27579,9 @@ diff -Nur linux-2.4.30/include/asm-sh/param.h linux-2.4.30-mips/include/asm-sh/p #endif #define EXEC_PAGESIZE 4096 -diff -Nur linux-2.4.30/include/asm-sparc/param.h linux-2.4.30-mips/include/asm-sparc/param.h ---- linux-2.4.30/include/asm-sparc/param.h 2000-10-30 23:34:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-sparc/param.h 2000-11-23 03:00:56.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-sparc/param.h linux-2.4.32-rc1.mips/include/asm-sparc/param.h +--- linux-2.4.32-rc1/include/asm-sparc/param.h 2000-10-30 23:34:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-sparc/param.h 2000-11-23 03:00:56.000000000 +0100 @@ -4,6 +4,9 @@ #ifndef HZ @@ -26561,9 +27592,9 @@ diff -Nur linux-2.4.30/include/asm-sparc/param.h linux-2.4.30-mips/include/asm-s #endif #define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */ -diff -Nur linux-2.4.30/include/asm-sparc64/param.h linux-2.4.30-mips/include/asm-sparc64/param.h ---- linux-2.4.30/include/asm-sparc64/param.h 2000-10-30 23:34:12.000000000 +0100 -+++ linux-2.4.30-mips/include/asm-sparc64/param.h 2000-11-23 03:00:56.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/asm-sparc64/param.h linux-2.4.32-rc1.mips/include/asm-sparc64/param.h +--- linux-2.4.32-rc1/include/asm-sparc64/param.h 2000-10-30 23:34:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/asm-sparc64/param.h 2000-11-23 03:00:56.000000000 +0100 @@ -4,6 +4,9 @@ #ifndef HZ @@ -26574,9 +27605,9 @@ diff -Nur linux-2.4.30/include/asm-sparc64/param.h linux-2.4.30-mips/include/asm #endif #define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */ -diff -Nur linux-2.4.30/include/linux/i2c-algo-au1550.h linux-2.4.30-mips/include/linux/i2c-algo-au1550.h ---- linux-2.4.30/include/linux/i2c-algo-au1550.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-2.4.30-mips/include/linux/i2c-algo-au1550.h 2004-07-07 02:38:02.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/linux/i2c-algo-au1550.h linux-2.4.32-rc1.mips/include/linux/i2c-algo-au1550.h +--- linux-2.4.32-rc1/include/linux/i2c-algo-au1550.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/linux/i2c-algo-au1550.h 2004-07-07 02:38:02.000000000 +0200 @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2004 Embedded Edge, LLC <dan@embeddededge.com> @@ -26609,9 +27640,9 @@ diff -Nur linux-2.4.30/include/linux/i2c-algo-au1550.h linux-2.4.30-mips/include +int i2c_au1550_del_bus(struct i2c_adapter *); + +#endif /* I2C_ALGO_AU1550_H */ -diff -Nur linux-2.4.30/include/linux/i2c-id.h linux-2.4.30-mips/include/linux/i2c-id.h ---- linux-2.4.30/include/linux/i2c-id.h 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.30-mips/include/linux/i2c-id.h 2004-07-07 02:38:02.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/linux/i2c-id.h linux-2.4.32-rc1.mips/include/linux/i2c-id.h +--- linux-2.4.32-rc1/include/linux/i2c-id.h 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/linux/i2c-id.h 2004-07-07 02:38:02.000000000 +0200 @@ -156,6 +156,8 @@ #define I2C_ALGO_SGI 0x130000 /* SGI algorithm */ @@ -26631,9 +27662,9 @@ diff -Nur linux-2.4.30/include/linux/i2c-id.h linux-2.4.30-mips/include/linux/i2 /* --- SMBus only adapters */ #define I2C_HW_SMBUS_PIIX4 0x00 #define I2C_HW_SMBUS_ALI15X3 0x01 -diff -Nur linux-2.4.30/include/linux/sched.h linux-2.4.30-mips/include/linux/sched.h ---- linux-2.4.30/include/linux/sched.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/linux/sched.h 2004-11-29 18:47:18.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/linux/sched.h linux-2.4.32-rc1.mips/include/linux/sched.h +--- linux-2.4.32-rc1/include/linux/sched.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/linux/sched.h 2004-11-29 18:47:18.000000000 +0100 @@ -617,6 +617,10 @@ extern int in_group_p(gid_t); extern int in_egroup_p(gid_t); @@ -26645,9 +27676,9 @@ diff -Nur linux-2.4.30/include/linux/sched.h linux-2.4.30-mips/include/linux/sch extern void proc_caches_init(void); extern void flush_signals(struct task_struct *); extern void flush_signal_handlers(struct task_struct *); -diff -Nur linux-2.4.30/include/linux/serial.h linux-2.4.30-mips/include/linux/serial.h ---- linux-2.4.30/include/linux/serial.h 2002-08-03 02:39:45.000000000 +0200 -+++ linux-2.4.30-mips/include/linux/serial.h 2004-07-31 02:17:57.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/linux/serial.h linux-2.4.32-rc1.mips/include/linux/serial.h +--- linux-2.4.32-rc1/include/linux/serial.h 2002-08-03 02:39:45.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/linux/serial.h 2004-07-31 02:17:57.000000000 +0200 @@ -75,7 +75,8 @@ #define PORT_16654 11 #define PORT_16850 12 @@ -26658,9 +27689,9 @@ diff -Nur linux-2.4.30/include/linux/serial.h linux-2.4.30-mips/include/linux/se #define SERIAL_IO_PORT 0 #define SERIAL_IO_HUB6 1 -diff -Nur linux-2.4.30/include/linux/swap.h linux-2.4.30-mips/include/linux/swap.h ---- linux-2.4.30/include/linux/swap.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30-mips/include/linux/swap.h 2004-11-29 18:47:18.000000000 +0100 +diff -Nur linux-2.4.32-rc1/include/linux/swap.h linux-2.4.32-rc1.mips/include/linux/swap.h +--- linux-2.4.32-rc1/include/linux/swap.h 2005-01-19 15:10:12.000000000 +0100 ++++ linux-2.4.32-rc1.mips/include/linux/swap.h 2004-11-29 18:47:18.000000000 +0100 @@ -1,6 +1,12 @@ #ifndef _LINUX_SWAP_H #define _LINUX_SWAP_H @@ -26692,9 +27723,9 @@ diff -Nur linux-2.4.30/include/linux/swap.h linux-2.4.30-mips/include/linux/swap /* * Max bad pages in the new format.. */ -diff -Nur linux-2.4.30/include/video/newport.h linux-2.4.30-mips/include/video/newport.h ---- linux-2.4.30/include/video/newport.h 2001-04-12 21:20:31.000000000 +0200 -+++ linux-2.4.30-mips/include/video/newport.h 2004-09-23 15:32:29.000000000 +0200 +diff -Nur linux-2.4.32-rc1/include/video/newport.h linux-2.4.32-rc1.mips/include/video/newport.h +--- linux-2.4.32-rc1/include/video/newport.h 2001-04-12 21:20:31.000000000 +0200 ++++ linux-2.4.32-rc1.mips/include/video/newport.h 2004-09-23 15:32:29.000000000 +0200 @@ -291,8 +291,6 @@ unsigned int _unused2[0x1ef]; struct newport_cregs cgo; @@ -26762,9 +27793,9 @@ diff -Nur linux-2.4.30/include/video/newport.h linux-2.4.30-mips/include/video/n while ((rex->set.dcbdata0.bybytes.b3 & 3) != XM9_FIFO_EMPTY) ; -diff -Nur linux-2.4.30/init/main.c linux-2.4.30-mips/init/main.c ---- linux-2.4.30/init/main.c 2004-11-17 12:54:22.000000000 +0100 -+++ linux-2.4.30-mips/init/main.c 2004-11-19 01:28:52.000000000 +0100 +diff -Nur linux-2.4.32-rc1/init/main.c linux-2.4.32-rc1.mips/init/main.c +--- linux-2.4.32-rc1/init/main.c 2004-11-17 12:54:22.000000000 +0100 ++++ linux-2.4.32-rc1.mips/init/main.c 2004-11-19 01:28:52.000000000 +0100 @@ -296,7 +296,6 @@ @@ -26773,9 +27804,9 @@ diff -Nur linux-2.4.30/init/main.c linux-2.4.30-mips/init/main.c unsigned long wait_init_idle; -diff -Nur linux-2.4.30/kernel/exit.c linux-2.4.30-mips/kernel/exit.c ---- linux-2.4.30/kernel/exit.c 2002-11-29 00:53:15.000000000 +0100 -+++ linux-2.4.30-mips/kernel/exit.c 2003-01-11 18:53:18.000000000 +0100 +diff -Nur linux-2.4.32-rc1/kernel/exit.c linux-2.4.32-rc1.mips/kernel/exit.c +--- linux-2.4.32-rc1/kernel/exit.c 2002-11-29 00:53:15.000000000 +0100 ++++ linux-2.4.32-rc1.mips/kernel/exit.c 2003-01-11 18:53:18.000000000 +0100 @@ -26,7 +26,7 @@ int getrusage(struct task_struct *, int, struct rusage *); @@ -26785,9 +27816,9 @@ diff -Nur linux-2.4.30/kernel/exit.c linux-2.4.30-mips/kernel/exit.c { if (p != current) { #ifdef CONFIG_SMP -diff -Nur linux-2.4.30/kernel/signal.c linux-2.4.30-mips/kernel/signal.c ---- linux-2.4.30/kernel/signal.c 2004-02-18 14:36:32.000000000 +0100 -+++ linux-2.4.30-mips/kernel/signal.c 2004-01-20 16:10:34.000000000 +0100 +diff -Nur linux-2.4.32-rc1/kernel/signal.c linux-2.4.32-rc1.mips/kernel/signal.c +--- linux-2.4.32-rc1/kernel/signal.c 2004-02-18 14:36:32.000000000 +0100 ++++ linux-2.4.32-rc1.mips/kernel/signal.c 2004-01-20 16:10:34.000000000 +0100 @@ -14,6 +14,7 @@ #include <linux/init.h> #include <linux/sched.h> @@ -26857,9 +27888,9 @@ diff -Nur linux-2.4.30/kernel/signal.c linux-2.4.30-mips/kernel/signal.c status = tsk->exit_code & 0x7f; why = SI_KERNEL; /* shouldn't happen */ -diff -Nur linux-2.4.30/kernel/sys.c linux-2.4.30-mips/kernel/sys.c ---- linux-2.4.30/kernel/sys.c 2003-11-28 19:26:21.000000000 +0100 -+++ linux-2.4.30-mips/kernel/sys.c 2003-11-17 02:07:47.000000000 +0100 +diff -Nur linux-2.4.32-rc1/kernel/sys.c linux-2.4.32-rc1.mips/kernel/sys.c +--- linux-2.4.32-rc1/kernel/sys.c 2003-11-28 19:26:21.000000000 +0100 ++++ linux-2.4.32-rc1.mips/kernel/sys.c 2003-11-17 02:07:47.000000000 +0100 @@ -801,16 +801,23 @@ asmlinkage long sys_times(struct tms * tbuf) @@ -26887,9 +27918,9 @@ diff -Nur linux-2.4.30/kernel/sys.c linux-2.4.30-mips/kernel/sys.c } /* -diff -Nur linux-2.4.30/lib/Makefile linux-2.4.30-mips/lib/Makefile ---- linux-2.4.30/lib/Makefile 2004-04-14 15:05:40.000000000 +0200 -+++ linux-2.4.30-mips/lib/Makefile 2004-04-16 05:14:21.000000000 +0200 +diff -Nur linux-2.4.32-rc1/lib/Makefile linux-2.4.32-rc1.mips/lib/Makefile +--- linux-2.4.32-rc1/lib/Makefile 2004-04-14 15:05:40.000000000 +0200 ++++ linux-2.4.32-rc1.mips/lib/Makefile 2004-04-16 05:14:21.000000000 +0200 @@ -27,6 +27,7 @@ subdir-$(CONFIG_ZLIB_INFLATE) += zlib_inflate subdir-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate @@ -26898,3 +27929,40 @@ diff -Nur linux-2.4.30/lib/Makefile linux-2.4.30-mips/lib/Makefile include $(TOPDIR)/drivers/net/Makefile.lib include $(TOPDIR)/drivers/usb/Makefile.lib include $(TOPDIR)/drivers/bluetooth/Makefile.lib +diff -Nur linux-2.4.32-rc1/Makefile linux-2.4.32-rc1.mips/Makefile +--- linux-2.4.32-rc1/Makefile 2005-10-24 11:33:30.000000000 +0200 ++++ linux-2.4.32-rc1.mips/Makefile 2005-09-23 22:41:15.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 --git a/openwrt/target/linux/linux-2.4/patches/generic/202-pl2303_backport.patch b/openwrt/target/linux/linux-2.4/patches/generic/202-pl2303_backport.patch index 8577499b0..7a6a3da38 100644 --- a/openwrt/target/linux/linux-2.4/patches/generic/202-pl2303_backport.patch +++ b/openwrt/target/linux/linux-2.4/patches/generic/202-pl2303_backport.patch @@ -1,729 +1,22 @@ -diff -rNu linux-2.4.29.old/drivers/usb/serial/pl2303.c linux-2.4.29/drivers/usb/serial/pl2303.c ---- linux-2.4.29.old/drivers/usb/serial/pl2303.c 2005-03-22 14:48:04.000000000 +0100 -+++ linux-2.4.29/drivers/usb/serial/pl2303.c 2005-03-22 15:33:05.735943352 +0100 -@@ -1,7 +1,7 @@ - /* - * Prolific PL2303 USB to serial adaptor driver - * -- * Copyright (C) 2001-2003 Greg Kroah-Hartman (greg@kroah.com) -+ * Copyright (C) 2001-2004 Greg Kroah-Hartman (greg@kroah.com) - * Copyright (C) 2003 IBM Corp. - * - * Original driver for 2.2.x by anonymous -@@ -12,8 +12,16 @@ - * (at your option) any later version. - * - * See Documentation/usb/usb-serial.txt for more information on using this driver -- * 2003_Apr_24 gkh -- * Added line error reporting support. Hopefully it is correct... -+ * -+ * -+ * 2005_Mar_05 grsch -+ * ported 2.6.8 pl2303.c to 2.4.20 format -+ * (HX model works fine now, ID table should be brought up to date) -+ * Gregor Schaffrath <gschaff@ran-dom.org> -+ * -+ * 2002_Mar_26 gkh -+ * allowed driver to work properly if there is no tty assigned to a port -+ * (this happens for serial console devices.) - * - * 2001_Oct_06 gkh - * Added RTS and DTR line control. Thanks to joe@bndlg.de for parts of it. -@@ -33,6 +41,9 @@ - * - */ - -+static int debug; -+ -+ - #include <linux/config.h> - #include <linux/kernel.h> - #include <linux/errno.h> -@@ -46,43 +57,44 @@ - #include <linux/spinlock.h> - #include <asm/uaccess.h> - #include <linux/usb.h> -- --#ifdef CONFIG_USB_SERIAL_DEBUG -- static int debug = 1; --#else -- static int debug; --#endif -- - #include "usb-serial.h" - #include "pl2303.h" - - /* - * Version Information - */ --#define DRIVER_VERSION "v0.10" -+#define DRIVER_VERSION "v0.11" - #define DRIVER_DESC "Prolific PL2303 USB to serial adaptor driver" - -- -- - static struct usb_device_id id_table [] = { - { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID) }, - { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ2) }, - { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, - { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, -- { USB_DEVICE(ATEN_VENDOR_ID2, ATEN_PRODUCT_ID) }, - { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID) }, - { USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID) }, - { USB_DEVICE(MA620_VENDOR_ID, MA620_PRODUCT_ID) }, -- { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) }, -- { USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) }, -- { USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) }, -- { USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) }, -- { USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) }, -+ { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) }, -+ { USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) }, -+ { USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) }, -+ { USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) }, -+ { USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) }, -+ { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_ID) }, -+ { USB_DEVICE(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_ID) }, +diff -ur linux-2.4.32/drivers/usb/serial/pl2303.c linux-2.4.32.openwrt/drivers/usb/serial/pl2303.c +--- linux-2.4.32/drivers/usb/serial/pl2303.c 2005-06-01 02:56:56.000000000 +0200 ++++ linux-2.4.32.openwrt/drivers/usb/serial/pl2303.c 2005-11-18 12:22:23.000000000 +0100 +@@ -78,6 +78,11 @@ + { USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) }, + { USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) }, + { USB_DEVICE(SITECOM_VENDOR_ID, SITECOM_PRODUCT_ID) }, ++ { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_ID) }, ++ { USB_DEVICE(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_ID) }, ++ { USB_DEVICE(SIEMENS_VENDOR_ID, SIEMENS_PRODUCT_ID_X65) }, ++ { USB_DEVICE(SYNTECH_VENDOR_ID, SYNTECH_PRODUCT_ID) }, ++ { USB_DEVICE(NOKIA_CA42_VENDOR_ID, NOKIA_CA42_PRODUCT_ID) }, { } /* Terminating entry */ }; - MODULE_DEVICE_TABLE (usb, id_table); - -+/* -+static struct usb_driver pl2303_driver = { -+ .owner = THIS_MODULE, -+ .name = "pl2303", -+ .probe = usb_serial_probe, -+ .disconnect = usb_serial_disconnect, -+ .id_table = id_table, -+}; -+*/ - - #define SET_LINE_REQUEST_TYPE 0x21 - #define SET_LINE_REQUEST 0x20 -@@ -130,6 +142,9 @@ - static int pl2303_write (struct usb_serial_port *port, int from_user, - const unsigned char *buf, int count); - static void pl2303_break_ctl(struct usb_serial_port *port,int break_state); -+static int pl2303_tiocmget (struct usb_serial_port *port, struct file *file); -+static int pl2303_tiocmset (struct usb_serial_port *port, struct file *file, -+ unsigned int set, unsigned int clear); - static int pl2303_startup (struct usb_serial *serial); - static void pl2303_shutdown (struct usb_serial *serial); - -@@ -149,27 +164,48 @@ - .ioctl = pl2303_ioctl, - .break_ctl = pl2303_break_ctl, - .set_termios = pl2303_set_termios, -+ //.tiocmget = pl2303_tiocmget, -+ //.tiocmset = pl2303_tiocmset, - .read_bulk_callback = pl2303_read_bulk_callback, - .read_int_callback = pl2303_read_int_callback, - .write_bulk_callback = pl2303_write_bulk_callback, -+ //.attach = pl2303_startup, - .startup = pl2303_startup, - .shutdown = pl2303_shutdown, - }; - -+enum pl2303_type { -+ type_0, /* don't know the difference between type 0 and */ -+ type_1, /* type 1, until someone from prolific tells us... */ -+ HX, /* HX version of the pl2303 chip */ -+}; -+ - struct pl2303_private { - spinlock_t lock; - wait_queue_head_t delta_msr_wait; - u8 line_control; - u8 line_status; - u8 termios_initialized; -+ enum pl2303_type type; - }; - - - static int pl2303_startup (struct usb_serial *serial) - { - struct pl2303_private *priv; -+ enum pl2303_type type = type_0; - int i; - -+ if (serial->dev->descriptor.bDeviceClass == 0x02) -+ type = type_0; -+ else if (serial->dev->descriptor.bMaxPacketSize0 == 0x40) -+ type = HX; -+ else if (serial->dev->descriptor.bDeviceClass == 0x00) -+ type = type_1; -+ else if (serial->dev->descriptor.bDeviceClass == 0xFF) -+ type = type_1; -+ dbg("device type: %d", type); -+ - for (i = 0; i < serial->num_ports; ++i) { - priv = kmalloc (sizeof (struct pl2303_private), GFP_KERNEL); - if (!priv) -@@ -177,7 +213,8 @@ - memset (priv, 0x00, sizeof (struct pl2303_private)); - spin_lock_init(&priv->lock); - init_waitqueue_head(&priv->delta_msr_wait); -- usb_set_serial_port_data(&serial->port[i], priv); -+ priv->type = type; -+ serial->port[i].private = priv; - } - return 0; - } -@@ -215,13 +252,13 @@ - memcpy (port->write_urb->transfer_buffer, buf, count); - } - -- usb_serial_debug_data (__FILE__, __FUNCTION__, count, port->write_urb->transfer_buffer); -+ usb_serial_debug_data(__FILE__, __FUNCTION__, count, port->write_urb->transfer_buffer); - - port->write_urb->transfer_buffer_length = count; - port->write_urb->dev = port->serial->dev; - result = usb_submit_urb (port->write_urb); - if (result) -- err("%s - failed submitting write urb, error %d", __FUNCTION__, result); -+ err("%s - failed submitting write urb, error %d\n", __FUNCTION__, result); - else - result = count; - -@@ -233,7 +270,7 @@ - static void pl2303_set_termios (struct usb_serial_port *port, struct termios *old_termios) - { - struct usb_serial *serial = port->serial; -- struct pl2303_private *priv = usb_get_serial_port_data(port); -+ struct pl2303_private *priv = port->private; - unsigned long flags; - unsigned int cflag; - unsigned char *buf; -@@ -241,8 +278,7 @@ - int i; - u8 control; - -- dbg("%s - port %d, initialized = %d", __FUNCTION__, port->number, -- priv->termios_initialized); -+ dbg("%s - port %d", __FUNCTION__, port->number); - - if ((!port->tty) || (!port->tty->termios)) { - dbg("%s - no tty structures", __FUNCTION__); -@@ -269,7 +305,7 @@ - - buf = kmalloc (7, GFP_KERNEL); - if (!buf) { -- err("%s - out of memory.", __FUNCTION__); -+ err("%s - out of memory.\n", __FUNCTION__); - return; - } - memset (buf, 0x00, 0x07); -@@ -311,7 +347,7 @@ - case B230400: baud = 230400; break; - case B460800: baud = 460800; break; - default: -- err ("pl2303 driver does not support the baudrate requested (fix it)"); -+ err("pl2303 driver does not support the baudrate requested (fix it)\n"); - break; - } - dbg("%s - baud = %d", __FUNCTION__, baud); -@@ -380,26 +416,30 @@ - buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6]); - - if (cflag & CRTSCTS) { -- i = usb_control_msg (serial->dev, usb_sndctrlpipe (serial->dev, 0), -- VENDOR_WRITE_REQUEST, VENDOR_WRITE_REQUEST_TYPE, -- 0x0, 0x41, NULL, 0, 100); -- dbg ("0x40:0x1:0x0:0x41 %d", i); -+ __u16 index; -+ if (priv->type == HX) -+ index = 0x61; -+ else -+ index = 0x41; -+ i = usb_control_msg(serial->dev, -+ usb_sndctrlpipe(serial->dev, 0), -+ VENDOR_WRITE_REQUEST, -+ VENDOR_WRITE_REQUEST_TYPE, -+ 0x0, index, NULL, 0, 100); -+ dbg ("0x40:0x1:0x0:0x%x %d", index, i); - } - - kfree (buf); --} -- -+} - - static int pl2303_open (struct usb_serial_port *port, struct file *filp) - { - struct termios tmp_termios; - struct usb_serial *serial = port->serial; -+ struct pl2303_private *priv = port->private; - unsigned char *buf; - int result; - -- if (port_paranoia_check (port, __FUNCTION__)) -- return -ENODEV; -- - dbg("%s - port %d", __FUNCTION__, port->number); - - usb_clear_halt(serial->dev, port->write_urb->pipe); -@@ -427,6 +467,18 @@ - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0x0404, 1); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8383, 0); -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0, 1); -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 1, 0); -+ -+ if (priv->type == HX) { -+ /* HX chip */ -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 2, 0x44); -+ /* reset upstream data pipes */ -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 8, 0); -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 9, 0); -+ } else { -+ SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 2, 0x24); -+ } - - kfree(buf); - -@@ -441,7 +493,7 @@ - port->read_urb->dev = serial->dev; - result = usb_submit_urb (port->read_urb); - if (result) { -- err("%s - failed submitting read urb, error %d", __FUNCTION__, result); -+ err("%s - failed submitting read urb, error %d\n", __FUNCTION__, result); - pl2303_close (port, NULL); - return -EPROTO; - } -@@ -450,7 +502,7 @@ - port->interrupt_in_urb->dev = serial->dev; - result = usb_submit_urb (port->interrupt_in_urb); - if (result) { -- err("%s - failed submitting interrupt urb, error %d", __FUNCTION__, result); -+ err("%s - failed submitting interrupt urb, error %d\n", __FUNCTION__, result); - pl2303_close (port, NULL); - return -EPROTO; - } -@@ -460,125 +512,103 @@ - - static void pl2303_close (struct usb_serial_port *port, struct file *filp) - { -- struct usb_serial *serial; - struct pl2303_private *priv; - unsigned long flags; - unsigned int c_cflag; - int result; - -- if (port_paranoia_check (port, __FUNCTION__)) -- return; -- serial = get_usb_serial (port, __FUNCTION__); -- if (!serial) -- return; -- - dbg("%s - port %d", __FUNCTION__, port->number); - -- if (serial->dev) { -- if (port->tty) { -- c_cflag = port->tty->termios->c_cflag; -- if (c_cflag & HUPCL) { -- /* drop DTR and RTS */ -- priv = usb_get_serial_port_data(port); -- spin_lock_irqsave(&priv->lock, flags); -- priv->line_control = 0; -- spin_unlock_irqrestore (&priv->lock, flags); -- set_control_lines (port->serial->dev, 0); -- } -- } -+ /* shutdown our urbs */ -+ dbg("%s - shutting down urbs", __FUNCTION__); -+ result = usb_unlink_urb (port->write_urb); -+ if (result) -+ dbg("%s - usb_unlink_urb (write_urb)" -+ " failed with reason: %d", __FUNCTION__, -+ result); - -- /* shutdown our urbs */ -- dbg("%s - shutting down urbs", __FUNCTION__); -- result = usb_unlink_urb (port->write_urb); -- if (result) -- dbg("%s - usb_unlink_urb (write_urb)" -- " failed with reason: %d", __FUNCTION__, -- result); -+ result = usb_unlink_urb (port->read_urb); -+ if (result) -+ dbg("%s - usb_unlink_urb (read_urb) " -+ "failed with reason: %d", __FUNCTION__, -+ result); - -- result = usb_unlink_urb (port->read_urb); -- if (result) -- dbg("%s - usb_unlink_urb (read_urb) " -- "failed with reason: %d", __FUNCTION__, -- result); -+ result = usb_unlink_urb (port->interrupt_in_urb); -+ if (result) -+ dbg("%s - usb_unlink_urb (interrupt_in_urb)" -+ " failed with reason: %d", __FUNCTION__, -+ result); - -- result = usb_unlink_urb (port->interrupt_in_urb); -- if (result) -- dbg("%s - usb_unlink_urb (interrupt_in_urb)" -- " failed with reason: %d", __FUNCTION__, -- result); -+ if (port->tty) { -+ c_cflag = port->tty->termios->c_cflag; -+ if (c_cflag & HUPCL) { -+ /* drop DTR and RTS */ -+ priv = port->private; -+ spin_lock_irqsave(&priv->lock, flags); -+ priv->line_control = 0; -+ spin_unlock_irqrestore (&priv->lock, flags); -+ set_control_lines (port->serial->dev, 0); -+ } - } -+ - } - -+/* taken from 2.4.20 driver */ - static int set_modem_info (struct usb_serial_port *port, unsigned int cmd, unsigned int *value) - { -- struct pl2303_private *priv = usb_get_serial_port_data(port); -- unsigned long flags; -- unsigned int arg; -- u8 control; -- -- if (copy_from_user(&arg, value, sizeof(int))) -- return -EFAULT; -- -- spin_lock_irqsave (&priv->lock, flags); -- switch (cmd) { -- case TIOCMBIS: -- if (arg & TIOCM_RTS) -- priv->line_control |= CONTROL_RTS; -- if (arg & TIOCM_DTR) -- priv->line_control |= CONTROL_DTR; -- break; -- -- case TIOCMBIC: -- if (arg & TIOCM_RTS) -- priv->line_control &= ~CONTROL_RTS; -- if (arg & TIOCM_DTR) -- priv->line_control &= ~CONTROL_DTR; -- break; -+ struct pl2303_private *priv = port->private; -+ unsigned int arg; - -- case TIOCMSET: -- /* turn off RTS and DTR and then only turn -- on what was asked to */ -- priv->line_control &= ~(CONTROL_RTS | CONTROL_DTR); -- priv->line_control |= ((arg & TIOCM_RTS) ? CONTROL_RTS : 0); -- priv->line_control |= ((arg & TIOCM_DTR) ? CONTROL_DTR : 0); -- break; -- } -- control = priv->line_control; -- spin_unlock_irqrestore (&priv->lock, flags); -- -- return set_control_lines (port->serial->dev, control); -+ if (copy_from_user(&arg, value, sizeof(int))) -+ return -EFAULT; -+ -+ switch (cmd) { -+ case TIOCMBIS: -+ if (arg & TIOCM_RTS) -+ priv->line_control |= CONTROL_RTS; -+ if (arg & TIOCM_DTR) -+ priv->line_control |= CONTROL_DTR; -+ break; -+ -+ case TIOCMBIC: -+ if (arg & TIOCM_RTS) -+ priv->line_control &= ~CONTROL_RTS; -+ if (arg & TIOCM_DTR) -+ priv->line_control &= ~CONTROL_DTR; -+ break; -+ -+ case TIOCMSET: -+ /* turn off RTS and DTR and then only turn -+ on what was asked to */ -+ priv->line_control &= ~(CONTROL_RTS | CONTROL_DTR); -+ priv->line_control |= ((arg & TIOCM_RTS) ? CONTROL_RTS : 0); -+ priv->line_control |= ((arg & TIOCM_DTR) ? CONTROL_DTR : 0); -+ break; -+ } -+ -+ return set_control_lines (port->serial->dev, priv->line_control); - } - - static int get_modem_info (struct usb_serial_port *port, unsigned int *value) - { -- struct pl2303_private *priv = usb_get_serial_port_data(port); -- unsigned long flags; -- unsigned int mcr; -- unsigned int status; -- unsigned int result; -- -- spin_lock_irqsave (&priv->lock, flags); -- mcr = priv->line_control; -- status = priv->line_status; -- spin_unlock_irqrestore (&priv->lock, flags); -- -- result = ((mcr & CONTROL_DTR) ? TIOCM_DTR : 0) -- | ((mcr & CONTROL_RTS) ? TIOCM_RTS : 0) -- | ((status & UART_CTS) ? TIOCM_CTS : 0) -- | ((status & UART_DSR) ? TIOCM_DSR : 0) -- | ((status & UART_RING) ? TIOCM_RI : 0) -- | ((status & UART_DCD) ? TIOCM_CD : 0); -- -- dbg("%s - result = %x", __FUNCTION__, result); -- -- if (copy_to_user(value, &result, sizeof(int))) -- return -EFAULT; -- return 0; -+ struct pl2303_private *priv = port->private; -+ unsigned int mcr = priv->line_control; -+ unsigned int result; -+ -+ result = ((mcr & CONTROL_DTR) ? TIOCM_DTR : 0) -+ | ((mcr & CONTROL_RTS) ? TIOCM_RTS : 0); -+ -+ dbg("%s - result = %x", __FUNCTION__, result); -+ -+ if (copy_to_user(value, &result, sizeof(int))) -+ return -EFAULT; -+ return 0; - } -+/* end of 2.4.20 kernel part - grsch */ - - static int wait_modem_info(struct usb_serial_port *port, unsigned int arg) - { -- struct pl2303_private *priv = usb_get_serial_port_data(port); -+ struct pl2303_private *priv = port->private; - unsigned long flags; - unsigned int prevstatus; - unsigned int status; -@@ -617,21 +647,10 @@ - dbg("%s (%d) cmd = 0x%04x", __FUNCTION__, port->number, cmd); - - switch (cmd) { -- -- case TIOCMGET: -- dbg("%s (%d) TIOCMGET", __FUNCTION__, port->number); -- return get_modem_info (port, (unsigned int *)arg); -- -- case TIOCMBIS: -- case TIOCMBIC: -- case TIOCMSET: -- dbg("%s (%d) TIOCMSET/TIOCMBIC/TIOCMSET", __FUNCTION__, port->number); -- return set_modem_info(port, cmd, (unsigned int *) arg); -- - case TIOCMIWAIT: - dbg("%s (%d) TIOCMIWAIT", __FUNCTION__, port->number); - return wait_modem_info(port, arg); -- -+ - default: - dbg("%s not supported = 0x%04x", __FUNCTION__, cmd); - break; -@@ -652,7 +671,7 @@ - state = BREAK_OFF; - else - state = BREAK_ON; -- dbg("%s - turning break %s", __FUNCTION__, state==BREAK_OFF ? "off" : "on"); -+ dbg("%s - turning break %s", state==BREAK_OFF ? "off" : "on", __FUNCTION__); - - result = usb_control_msg (serial->dev, usb_sndctrlpipe (serial->dev, 0), - BREAK_REQUEST, BREAK_REQUEST_TYPE, state, -@@ -669,8 +688,8 @@ - dbg("%s", __FUNCTION__); - - for (i = 0; i < serial->num_ports; ++i) { -- kfree (usb_get_serial_port_data(&serial->port[i])); -- usb_set_serial_port_data(&serial->port[i], NULL); -+ kfree (serial->port[i].private); -+ serial->port[i].private = NULL; - } - } - -@@ -678,16 +697,14 @@ - static void pl2303_read_int_callback (struct urb *urb) - { - struct usb_serial_port *port = (struct usb_serial_port *) urb->context; -- struct usb_serial *serial = get_usb_serial (port, __FUNCTION__); -- struct pl2303_private *priv = usb_get_serial_port_data(port); -+ struct pl2303_private *priv = port->private; - unsigned char *data = urb->transfer_buffer; - unsigned long flags; -+ int status; - u8 uart_state; - - dbg("%s (%d)", __FUNCTION__, port->number); - -- /* ints auto restart... */ -- - switch (urb->status) { - case 0: - /* success */ -@@ -700,17 +717,14 @@ - return; - default: - dbg("%s - nonzero urb status received: %d", __FUNCTION__, urb->status); -- return; -+ goto exit; - } - -- if (!serial) { -- return; -- } - -- usb_serial_debug_data (__FILE__, __FUNCTION__, urb->actual_length, urb->transfer_buffer); -+ usb_serial_debug_data(__FILE__, __FUNCTION__, urb->actual_length, urb->transfer_buffer); - - if (urb->actual_length < UART_STATE) -- return; -+ goto exit; - - /* Save off the uart status for others to look at */ - uart_state = data[UART_STATE]; -@@ -718,17 +732,19 @@ - uart_state |= (priv->line_status & UART_STATE_TRANSIENT_MASK); - priv->line_status = uart_state; - spin_unlock_irqrestore(&priv->lock, flags); -- wake_up_interruptible (&priv->delta_msr_wait); -- -- return; -+ -+exit: -+ status = usb_submit_urb (urb); -+ if (status) -+ err("%s - usb_submit_urb failed with result %d\n", -+ __FUNCTION__, status); - } - - - static void pl2303_read_bulk_callback (struct urb *urb) - { - struct usb_serial_port *port = (struct usb_serial_port *) urb->context; -- struct usb_serial *serial = get_usb_serial (port, __FUNCTION__); -- struct pl2303_private *priv = usb_get_serial_port_data(port); -+ struct pl2303_private *priv = port->private; - struct tty_struct *tty; - unsigned char *data = urb->transfer_buffer; - unsigned long flags; -@@ -737,16 +753,8 @@ - u8 status; - char tty_flag; - -- if (port_paranoia_check (port, __FUNCTION__)) -- return; -- - dbg("%s - port %d", __FUNCTION__, port->number); - -- if (!serial) { -- dbg("%s - bad serial pointer, exiting", __FUNCTION__); -- return; -- } -- - if (urb->status) { - dbg("%s - urb->status = %d", __FUNCTION__, urb->status); - if (!port->open_count) { -@@ -757,17 +765,17 @@ - /* PL2303 mysteriously fails with -EPROTO reschedule the read */ - dbg("%s - caught -EPROTO, resubmitting the urb", __FUNCTION__); - urb->status = 0; -- urb->dev = serial->dev; -+ urb->dev = port->serial->dev; - result = usb_submit_urb(urb); - if (result) -- err("%s - failed resubmitting read urb, error %d", __FUNCTION__, result); -+ err("%s - failed resubmitting read urb, error %d\n", __FUNCTION__, result); - return; - } - dbg("%s - unable to handle the error, exiting.", __FUNCTION__); - return; - } - -- usb_serial_debug_data (__FILE__, __FUNCTION__, urb->actual_length, data); -+ usb_serial_debug_data(__FILE__, __FUNCTION__, urb->actual_length, data); - - /* get tty_flag from status */ - tty_flag = TTY_NORMAL; -@@ -776,7 +784,7 @@ - status = priv->line_status; - priv->line_status &= ~UART_STATE_TRANSIENT_MASK; - spin_unlock_irqrestore(&priv->lock, flags); -- wake_up_interruptible (&priv->delta_msr_wait); //AF from 2.6 -+ wake_up_interruptible (&priv->delta_msr_wait); - - /* break takes precedence over parity, */ - /* which takes precedence over framing errors */ -@@ -805,10 +813,10 @@ - - /* Schedule the next read _if_ we are still open */ - if (port->open_count) { -- urb->dev = serial->dev; -+ urb->dev = port->serial->dev; - result = usb_submit_urb(urb); - if (result) -- err("%s - failed resubmitting read urb, error %d", __FUNCTION__, result); -+ err("%s - failed resubmitting read urb, error %d\n", __FUNCTION__, result); - } - - return; -@@ -821,44 +829,32 @@ - struct usb_serial_port *port = (struct usb_serial_port *) urb->context; - int result; - -- if (port_paranoia_check (port, __FUNCTION__)) -- return; -- - dbg("%s - port %d", __FUNCTION__, port->number); - - if (urb->status) { - /* error in the urb, so we have to resubmit it */ -- if (serial_paranoia_check (port->serial, __FUNCTION__)) { -- return; -- } - dbg("%s - Overflow in write", __FUNCTION__); - dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); - port->write_urb->transfer_buffer_length = 1; - port->write_urb->dev = port->serial->dev; - result = usb_submit_urb (port->write_urb); - if (result) -- err("%s - failed resubmitting write urb, error %d", __FUNCTION__, result); -+ err("%s - failed resubmitting write urb, error %d\n", __FUNCTION__, result); - - return; - } - -- queue_task(&port->tqueue, &tq_immediate); -- mark_bh(IMMEDIATE_BH); - -- return; -+ queue_task(&port->tqueue, &tq_immediate); -+ mark_bh(IMMEDIATE_BH); - } - - - static int __init pl2303_init (void) - { -- int retval; -- retval = usb_serial_register(&pl2303_device); -- if (retval) -- goto failed_usb_serial_register; -+ usb_serial_register(&pl2303_device); - info(DRIVER_DESC " " DRIVER_VERSION); - return 0; --failed_usb_serial_register: -- return retval; - } - - -@@ -877,3 +873,4 @@ - MODULE_PARM(debug, "i"); - MODULE_PARM_DESC(debug, "Debug enabled or not"); - -+//this is an error -diff -rNu linux-2.4.29.old/drivers/usb/serial/pl2303.h linux-2.4.29/drivers/usb/serial/pl2303.h ---- linux-2.4.29.old/drivers/usb/serial/pl2303.h 2005-03-22 14:48:04.000000000 +0100 -+++ linux-2.4.29/drivers/usb/serial/pl2303.h 2005-03-22 15:33:05.758939856 +0100 -@@ -41,3 +41,12 @@ +diff -ur linux-2.4.32/drivers/usb/serial/pl2303.h linux-2.4.32.openwrt/drivers/usb/serial/pl2303.h +--- linux-2.4.32/drivers/usb/serial/pl2303.h 2004-02-18 14:36:31.000000000 +0100 ++++ linux-2.4.32.openwrt/drivers/usb/serial/pl2303.h 2005-11-18 12:23:38.000000000 +0100 +@@ -41,3 +41,18 @@ #define SITECOM_VENDOR_ID 0x6189 #define SITECOM_PRODUCT_ID 0x2068 @@ -733,6 +26,12 @@ diff -rNu linux-2.4.29.old/drivers/usb/serial/pl2303.h linux-2.4.29/drivers/usb/ +#define ALCATEL_PRODUCT_ID 0x02df + +/* Samsung I330 phone cradle */ -+#define SAMSUNG_VENDOR_ID 0x04e8 -+#define SAMSUNG_PRODUCT_ID 0x8001 ++#define SAMSUNG_VENDOR_ID 0x04e8 ++#define SAMSUNG_PRODUCT_ID 0x8001 ++ ++#define SYNTECH_VENDOR_ID 0x0745 ++#define SYNTECH_PRODUCT_ID 0x0001 + ++/* Nokia CA-42 Cable */ ++#define NOKIA_CA42_VENDOR_ID 0x078b ++#define NOKIA_CA42_PRODUCT_ID 0x1234 diff --git a/openwrt/target/linux/linux-2.4/patches/generic/207-gcc_4.0_fixes.patch b/openwrt/target/linux/linux-2.4/patches/generic/207-gcc_4.0_fixes.patch deleted file mode 100644 index e6703680e..000000000 --- a/openwrt/target/linux/linux-2.4/patches/generic/207-gcc_4.0_fixes.patch +++ /dev/null @@ -1,198 +0,0 @@ -diff -urN linux-2.4.30.old/drivers/i2c/i2c-core.c linux-2.4.30.dev/drivers/i2c/i2c-core.c ---- linux-2.4.30.old/drivers/i2c/i2c-core.c 2005-04-29 17:59:04.000000000 +0200 -+++ linux-2.4.30.dev/drivers/i2c/i2c-core.c 2005-04-29 18:42:37.000000000 +0200 -@@ -750,7 +750,7 @@ - msg.addr = client->addr; - msg.flags = client->flags & I2C_M_TEN; - msg.len = count; -- (const char *)msg.buf = buf; -+ msg.buf = (__u8 *)buf; - - DEB2(printk(KERN_DEBUG "i2c-core.o: master_send: writing %d bytes on %s.\n", - count,client->adapter->name)); -@@ -780,7 +780,7 @@ - msg.flags = client->flags & I2C_M_TEN; - msg.flags |= I2C_M_RD; - msg.len = count; -- msg.buf = buf; -+ msg.buf = (__u8 *)buf; - - DEB2(printk(KERN_DEBUG "i2c-core.o: master_recv: reading %d bytes on %s.\n", - count,client->adapter->name)); -diff -urN linux-2.4.30.old/drivers/usb/inode.c linux-2.4.30.dev/drivers/usb/inode.c ---- linux-2.4.30.old/drivers/usb/inode.c 2004-02-18 14:36:31.000000000 +0100 -+++ linux-2.4.30.dev/drivers/usb/inode.c 2005-04-29 18:42:37.000000000 +0200 -@@ -42,6 +42,8 @@ - #include <asm/uaccess.h> - - /* --------------------------------------------------------------------- */ -+static struct file_operations usbdevfs_bus_file_operations; -+static struct inode_operations usbdevfs_bus_inode_operations; - - /* - * This list of superblocks is still used, -diff -urN linux-2.4.30.old/include/asm-mips/uaccess.h linux-2.4.30.dev/include/asm-mips/uaccess.h ---- linux-2.4.30.old/include/asm-mips/uaccess.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30.dev/include/asm-mips/uaccess.h 2005-04-29 18:42:37.000000000 +0200 -@@ -149,7 +149,7 @@ - * Returns zero on success, or -EFAULT on error. - */ - #define put_user(x,ptr) \ -- __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) -+ __put_user_check((x),(ptr),sizeof(*(ptr))) - - /* - * get_user: - Get a simple variable from user space. -@@ -169,7 +169,7 @@ - * On error, the variable @x is set to zero. - */ - #define get_user(x,ptr) \ -- __get_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) -+ __get_user_check((x),(ptr),sizeof(*(ptr))) - - /* - * __put_user: - Write a simple value into user space, with less checking. -@@ -191,7 +191,7 @@ - * Returns zero on success, or -EFAULT on error. - */ - #define __put_user(x,ptr) \ -- __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) -+ __put_user_nocheck((x),(ptr),sizeof(*(ptr))) - - /* - * __get_user: - Get a simple variable from user space, with less checking. -@@ -214,7 +214,7 @@ - * On error, the variable @x is set to zero. - */ - #define __get_user(x,ptr) \ -- __get_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) -+ __get_user_nocheck((x),(ptr),sizeof(*(ptr))) - - struct __large_struct { unsigned long buf[100]; }; - #define __m(x) (*(struct __large_struct *)(x)) -@@ -232,7 +232,7 @@ - #define __get_user_nocheck(x,ptr,size) \ - ({ \ - long __gu_err = 0; \ -- __typeof(*(ptr)) __gu_val = 0; \ -+ __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \ - long __gu_addr; \ - __gu_addr = (long) (ptr); \ - switch (size) { \ -diff -urN linux-2.4.30.old/include/linux/byteorder/swab.h linux-2.4.30.dev/include/linux/byteorder/swab.h ---- linux-2.4.30.old/include/linux/byteorder/swab.h 2002-11-29 00:53:15.000000000 +0100 -+++ linux-2.4.30.dev/include/linux/byteorder/swab.h 2005-04-29 18:42:37.000000000 +0200 -@@ -156,7 +156,7 @@ - #endif /* OPTIMIZE */ - - --static __inline__ __const__ __u16 __fswab16(__u16 x) -+static __inline__ __u16 __fswab16(__u16 x) - { - return __arch__swab16(x); - } -@@ -169,7 +169,7 @@ - __arch__swab16s(addr); - } - --static __inline__ __const__ __u32 __fswab24(__u32 x) -+static __inline__ __u32 __fswab24(__u32 x) - { - return __arch__swab24(x); - } -@@ -182,7 +182,7 @@ - __arch__swab24s(addr); - } - --static __inline__ __const__ __u32 __fswab32(__u32 x) -+static __inline__ __u32 __fswab32(__u32 x) - { - return __arch__swab32(x); - } -@@ -196,7 +196,7 @@ - } - - #ifdef __BYTEORDER_HAS_U64__ --static __inline__ __const__ __u64 __fswab64(__u64 x) -+static __inline__ __u64 __fswab64(__u64 x) - { - # ifdef __SWAB_64_THRU_32__ - __u32 h = x >> 32; -diff -urN linux-2.4.30.old/include/linux/fs.h linux-2.4.30.dev/include/linux/fs.h ---- linux-2.4.30.old/include/linux/fs.h 2005-04-29 17:59:08.000000000 +0200 -+++ linux-2.4.30.dev/include/linux/fs.h 2005-04-29 18:42:37.000000000 +0200 -@@ -1563,7 +1563,6 @@ - unsigned long generate_cluster(kdev_t, int b[], int); - unsigned long generate_cluster_swab32(kdev_t, int b[], int); - extern kdev_t ROOT_DEV; --extern char root_device_name[]; - - - extern void show_buffers(void); -diff -urN linux-2.4.30.old/include/linux/i2c.h linux-2.4.30.dev/include/linux/i2c.h ---- linux-2.4.30.old/include/linux/i2c.h 2005-01-19 15:10:12.000000000 +0100 -+++ linux-2.4.30.dev/include/linux/i2c.h 2005-04-29 18:42:37.000000000 +0200 -@@ -70,7 +70,7 @@ - - /* Transfer num messages. - */ --extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],int num); -+extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg, int num); - - /* - * Some adapter types (i.e. PCF 8584 based ones) may support slave behaviuor. -@@ -197,7 +197,7 @@ - to NULL. If an adapter algorithm can do SMBus access, set - smbus_xfer. If set to NULL, the SMBus protocol is simulated - using common I2C messages */ -- int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[], -+ int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs, - int num); - int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, - unsigned short flags, char read_write, -diff -urN linux-2.4.30.old/include/linux/usbdevice_fs.h linux-2.4.30.dev/include/linux/usbdevice_fs.h ---- linux-2.4.30.old/include/linux/usbdevice_fs.h 2003-11-28 19:26:21.000000000 +0100 -+++ linux-2.4.30.dev/include/linux/usbdevice_fs.h 2005-04-29 18:42:37.000000000 +0200 -@@ -185,8 +185,6 @@ - extern struct file_operations usbdevfs_devices_fops; - extern struct file_operations usbdevfs_device_file_operations; - extern struct inode_operations usbdevfs_device_inode_operations; --extern struct inode_operations usbdevfs_bus_inode_operations; --extern struct file_operations usbdevfs_bus_file_operations; - extern void usbdevfs_conn_disc_event(void); - - #endif /* __KERNEL__ */ -diff -urN linux-2.4.30.old/include/net/icmp.h linux-2.4.30.dev/include/net/icmp.h ---- linux-2.4.30.old/include/net/icmp.h 2001-11-22 20:47:15.000000000 +0100 -+++ linux-2.4.30.dev/include/net/icmp.h 2005-04-29 18:42:37.000000000 +0200 -@@ -23,6 +23,7 @@ - - #include <net/sock.h> - #include <net/protocol.h> -+#include <net/snmp.h> - - struct icmp_err { - int errno; -diff -urN linux-2.4.30.old/include/net/ipv6.h linux-2.4.30.dev/include/net/ipv6.h ---- linux-2.4.30.old/include/net/ipv6.h 2004-11-17 12:54:22.000000000 +0100 -+++ linux-2.4.30.dev/include/net/ipv6.h 2005-04-29 18:42:37.000000000 +0200 -@@ -19,6 +19,7 @@ - #include <asm/hardirq.h> - #include <net/ndisc.h> - #include <net/flow.h> -+#include <net/snmp.h> - - #define SIN6_LEN_RFC2133 24 - -diff -urN linux-2.4.30.old/include/linux/netfilter_ipv4/ip_tables.h linux-2.4.30.dev/include/linux/netfilter_ipv4/ip_tables.h ---- linux-2.4.30.old/include/linux/netfilter_ipv4/ip_tables.h 2005-04-29 17:59:08.000000000 +0200 -+++ linux-2.4.30.dev/include/linux/netfilter_ipv4/ip_tables.h 2005-04-29 19:06:36.000000000 +0200 -@@ -283,7 +283,7 @@ - struct ipt_entry entrytable[0]; - }; - --extern struct semaphore ipt_mutex; -+// extern struct semaphore ipt_mutex; - - /* Standard return verdict, or do jump. */ - #define IPT_STANDARD_TARGET "" diff --git a/openwrt/target/linux/linux-2.4/patches/generic/211-pl2303_bugfixes.patch b/openwrt/target/linux/linux-2.4/patches/generic/211-pl2303_bugfixes.patch deleted file mode 100644 index bf7c3c3c4..000000000 --- a/openwrt/target/linux/linux-2.4/patches/generic/211-pl2303_bugfixes.patch +++ /dev/null @@ -1,146 +0,0 @@ ---- linux/drivers/usb/serial/pl2303.c.orig 2005-10-17 12:09:48.000000000 +0200 -+++ linux/drivers/usb/serial/pl2303.c 2005-10-19 04:10:46.000000000 +0200 -@@ -14,6 +14,13 @@ - * See Documentation/usb/usb-serial.txt for more information on using this driver - * - * -+ * 2005_Oct_19 grsch -+ * added some missing ioctl commands -+ * it seems that there's still an issue with the 2.6.8 version when -+ * using the device with echo "whatever" >/dev/usb/tts/0 . -+ * Apparently, a timeout is needed upon pl2303_close (implemented in -+ * 2.6.13.4) -+ * - * 2005_Mar_05 grsch - * ported 2.6.8 pl2303.c to 2.4.20 format - * (HX model works fine now, ID table should be brought up to date) -@@ -142,9 +149,8 @@ - static int pl2303_write (struct usb_serial_port *port, int from_user, - const unsigned char *buf, int count); - static void pl2303_break_ctl(struct usb_serial_port *port,int break_state); --static int pl2303_tiocmget (struct usb_serial_port *port, struct file *file); --static int pl2303_tiocmset (struct usb_serial_port *port, struct file *file, -- unsigned int set, unsigned int clear); -+static int pl2303_tiocmget (struct usb_serial_port *port, unsigned int* value); -+static int pl2303_tiocmset (struct usb_serial_port *port, unsigned int cmd, unsigned int *value); - static int pl2303_startup (struct usb_serial *serial); - static void pl2303_shutdown (struct usb_serial *serial); - -@@ -642,11 +648,108 @@ - return 0; - } - -+ -+ -+static int pl2303_tiocmget (struct usb_serial_port *port, unsigned int *value) -+{ -+ struct pl2303_private *priv = usb_get_serial_port_data(port); -+ unsigned long flags; -+ unsigned int mcr; -+ unsigned int status; -+ unsigned int result; -+ -+ dbg("%s (%d)", __FUNCTION__, port->number); -+ -+ spin_lock_irqsave (&priv->lock, flags); -+ mcr = priv->line_control; -+ status = priv->line_status; -+ spin_unlock_irqrestore (&priv->lock, flags); -+ -+ result = ((mcr & CONTROL_DTR) ? TIOCM_DTR : 0) -+ | ((mcr & CONTROL_RTS) ? TIOCM_RTS : 0) -+ | ((status & UART_CTS) ? TIOCM_CTS : 0) -+ | ((status & UART_DSR) ? TIOCM_DSR : 0) -+ | ((status & UART_RING) ? TIOCM_RI : 0) -+ | ((status & UART_DCD) ? TIOCM_CD : 0); -+ -+ dbg("%s - result = %x", __FUNCTION__, result); -+ -+ if (copy_to_user(value, &result, sizeof(int))) -+ return -EFAULT; -+ return 0; -+} -+ -+ -+ -+static int pl2303_tiocmset (struct usb_serial_port *port, unsigned int cmd, unsigned int *value) -+{ -+ /* -+ struct pl2303_private *priv = usb_get_serial_port_data(port); -+ unsigned long flags; -+ u8 control; -+ -+ spin_lock_irqsave (&priv->lock, flags); -+ if (set & TIOCM_RTS) -+ priv->line_control |= CONTROL_RTS; -+ if (set & TIOCM_DTR) -+ priv->line_control |= CONTROL_DTR; -+ if (clear & TIOCM_RTS) -+ priv->line_control &= ~CONTROL_RTS; -+ if (clear & TIOCM_DTR) -+ priv->line_control &= ~CONTROL_DTR; -+ control = priv->line_control; -+ spin_unlock_irqrestore (&priv->lock, flags); -+ -+ return set_control_lines (port->serial->dev, control); -+ */ -+ struct pl2303_private *priv = port->private; -+ unsigned int arg; -+ -+ if (copy_from_user(&arg, value, sizeof(int))) -+ return -EFAULT; -+ -+ switch (cmd) { -+ case TIOCMBIS: -+ if (arg & TIOCM_RTS) -+ priv->line_control |= CONTROL_RTS; -+ if (arg & TIOCM_DTR) -+ priv->line_control |= CONTROL_DTR; -+ break; -+ -+ case TIOCMBIC: -+ if (arg & TIOCM_RTS) -+ priv->line_control &= ~CONTROL_RTS; -+ if (arg & TIOCM_DTR) -+ priv->line_control &= ~CONTROL_DTR; -+ break; -+ -+ case TIOCMSET: -+ /* turn off RTS and DTR and then only turn -+ on what was asked to */ -+ priv->line_control &= ~(CONTROL_RTS | CONTROL_DTR); -+ priv->line_control |= ((arg & TIOCM_RTS) ? CONTROL_RTS : 0); -+ priv->line_control |= ((arg & TIOCM_DTR) ? CONTROL_DTR : 0); -+ break; -+ } -+ -+ return set_control_lines (port->serial->dev, priv->line_control); -+} -+ -+ -+ - static int pl2303_ioctl (struct usb_serial_port *port, struct file *file, unsigned int cmd, unsigned long arg) - { - dbg("%s (%d) cmd = 0x%04x", __FUNCTION__, port->number, cmd); - - switch (cmd) { -+ case TIOCMGET: -+ dbg("%s (%d) TIOCMGET", __FUNCTION__, port->number); -+ return pl2303_tiocmget(port,(unsigned int *)arg); -+ case TIOCMBIS: -+ case TIOCMBIC: -+ case TIOCMSET: -+ dbg("%s (%d) TIOCMSET/TIOCMBIC/TIOCMSET", __FUNCTION__, port->number); -+ return pl2303_tiocmset(port,cmd,(unsigned int*)arg); - case TIOCMIWAIT: - dbg("%s (%d) TIOCMIWAIT", __FUNCTION__, port->number); - return wait_modem_info(port, arg); -@@ -705,6 +808,8 @@ - - dbg("%s (%d)", __FUNCTION__, port->number); - -+ dbg("%s - urb status %d...", __FUNCTION__, urb->status); -+ - switch (urb->status) { - case 0: - /* success */ |