## Automatically generated incremental diff
## From:   linux-2.4.22-bk18
## To:     linux-2.4.22-bk19
## Robot:  $Id: make-incremental-diff,v 1.11 2002/02/20 02:59:33 hpa Exp $

diff -urN linux-2.4.22-bk18/Documentation/Configure.help linux-2.4.22-bk19/Documentation/Configure.help
--- linux-2.4.22-bk18/Documentation/Configure.help	2003-09-16 03:04:32.000000000 -0700
+++ linux-2.4.22-bk19/Documentation/Configure.help	2003-09-16 03:04:48.000000000 -0700
@@ -4055,6 +4055,13 @@
   This option gives you AGP GART support for the HP ZX1 chipset
   for IA64 processors.
 
+CONFIG_AGP_ATI
+  This option gives you AGP support for the GLX component of
+  XFree86 4.x on the ATI RadeonIGP family of chipsets.
+
+  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+  use GLX or DRI.  If unsure, say N.
+
 Support for ISA-bus hardware
 CONFIG_ISA
   Find out whether you have ISA slots on your motherboard.  ISA is the
@@ -10008,6 +10015,17 @@
   Support for these adaptors is so far still incomplete and buggy.
   You have been warned.
 
+Hermes 802.11b in TMD7160/NCP130 based PCI adaptor support
+CONFIG_TMD_HERMES
+  Enable support for PCMCIA cards supported by the "Hermes" (aka
+  orinoco) driver when used in TMD7160 based PCI adaptors.  These
+  adaptors are not a full PCMCIA controller but act as a more limited
+  PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
+  802.11b PCMCIA cards can be used in desktop machines.
+
+  Support for these adaptors is so far still incomplete and buggy.
+  You have been warned.
+
 Prism 2.5 PCI 802.11b adaptor support
 CONFIG_PCI_HERMES
   Enable support for PCI and mini-PCI 802.11b wireless NICs based on
@@ -28304,6 +28322,28 @@
 
 CONFIG_CRYPTO_TEST
   Quick & dirty crypto test module.
+  
+CONFIG_SOUND_WM97XX
+  Say Y here to support the Wolfson WM9705 and WM9712 touchscreen
+  controllers. These controllers are mainly found in PDA's 
+  i.e. Dell Axim and Toshiba e740
+
+  This is experimental code.
+  Please see Documentation/wolfson-touchscreen.txt for
+  a complete list of parameters.
+  
+  In order to use this driver, a char device called wm97xx with a major
+  number of 10 and minor number 16 will have to be created under 
+  /dev/touchscreen.
+  
+  e.g.
+  mknod /dev/touchscreen/wm97xx c 10 16
+
+  If you want to compile this as a module ( = code which can be
+  inserted in and removed from the running kernel whenever you want),
+  say M here.  The module will be called ac97_plugin_wm97xx.o.
+  
+  If unsure, say N.
 
 #
 # A couple of things I keep forgetting:
diff -urN linux-2.4.22-bk18/Makefile linux-2.4.22-bk19/Makefile
--- linux-2.4.22-bk18/Makefile	2003-09-16 03:04:32.000000000 -0700
+++ linux-2.4.22-bk19/Makefile	2003-09-16 03:04:48.000000000 -0700
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 22
-EXTRAVERSION = -bk18
+EXTRAVERSION = -bk19
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
diff -urN linux-2.4.22-bk18/arch/i386/kernel/head.S linux-2.4.22-bk19/arch/i386/kernel/head.S
--- linux-2.4.22-bk18/arch/i386/kernel/head.S	2003-09-16 03:04:33.000000000 -0700
+++ linux-2.4.22-bk19/arch/i386/kernel/head.S	2003-09-16 03:04:49.000000000 -0700
@@ -113,7 +113,7 @@
 	popfl
 	jmp checkCPUtype
 1:
-#endif CONFIG_SMP
+#endif /* CONFIG_SMP */
 
 /*
  * Clear BSS first so that there are no surprises...
diff -urN linux-2.4.22-bk18/arch/i386/kernel/mpparse.c linux-2.4.22-bk19/arch/i386/kernel/mpparse.c
--- linux-2.4.22-bk18/arch/i386/kernel/mpparse.c	2003-09-16 03:04:33.000000000 -0700
+++ linux-2.4.22-bk19/arch/i386/kernel/mpparse.c	2003-09-16 03:04:49.000000000 -0700
@@ -1039,7 +1039,7 @@
 			return i;
 	}
 
-	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for IRQ %d/n", irq);
+	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for IRQ %d\n", irq);
 
 	return -1;
 }
diff -urN linux-2.4.22-bk18/arch/ppc/boot/common/crt0.S linux-2.4.22-bk19/arch/ppc/boot/common/crt0.S
--- linux-2.4.22-bk18/arch/ppc/boot/common/crt0.S	2003-08-25 04:44:40.000000000 -0700
+++ linux-2.4.22-bk19/arch/ppc/boot/common/crt0.S	2003-09-16 03:04:50.000000000 -0700
@@ -70,7 +70,7 @@
 	## Set up the stack
 
 	lis	r9,_start@h		# r9 = &_start (text section entry)
-	addi	r9,r9,_start@l
+	ori	r9,r9,_start@l
 	subi	r1,r9,64		# Start the stack 64 bytes below _start
 	clrrwi	r1,r1,4			# Make sure it is aligned on 16 bytes.
 	li	r0,0
diff -urN linux-2.4.22-bk18/arch/ppc/boot/common/util.S linux-2.4.22-bk19/arch/ppc/boot/common/util.S
--- linux-2.4.22-bk18/arch/ppc/boot/common/util.S	2003-06-13 07:51:31.000000000 -0700
+++ linux-2.4.22-bk19/arch/ppc/boot/common/util.S	2003-09-16 03:04:50.000000000 -0700
@@ -160,9 +160,22 @@
 	blr
 
 
+/* udelay (on non-601 processors) needs to know the period of the
+ * timebase in nanoseconds.  This used to be hardcoded to be 60ns
+ * (period of 66MHz/4).  Now a variable is used that is initialized to
+ * 60 for backward compatibility, but it can be overridden as necessary
+ * with code something like this:
+ *    extern unsigned long timebase_period_ns;
+ *    timebase_period_ns = 1000000000 / bd->bi_tbfreq;
+ */
+	.data
+	.globl timebase_period_ns
+timebase_period_ns:
+	.long	60
+
+	.text
 /*
  * Delay for a number of microseconds
- * -- Use the BUS timer (assumes 66MHz)
  */
 	.globl	udelay
 udelay:
@@ -180,8 +193,13 @@
 
 .udelay_not_601:
 	mulli	r4,r3,1000	/* nanoseconds */
-	addi	r4,r4,59
-	li	r5,60
+	/*  Change r4 to be the number of ticks using:	
+	 *	(nanoseconds + (timebase_period_ns - 1 )) / timebase_period_ns
+	 *  timebase_period_ns defaults to 60 (16.6MHz) */
+	lis	r5,timebase_period_ns@ha
+	lwz	r5,timebase_period_ns@l(r5)
+	addi	r4,r4,r5
+	addi	r4,r4,-1
 	divw	r4,r4,r5	/* BUS ticks */
 1:	mftbu	r5
 	mftb	r6
diff -urN linux-2.4.22-bk18/arch/ppc/boot/simple/embed_config.c linux-2.4.22-bk19/arch/ppc/boot/simple/embed_config.c
--- linux-2.4.22-bk18/arch/ppc/boot/simple/embed_config.c	2003-09-16 03:04:35.000000000 -0700
+++ linux-2.4.22-bk19/arch/ppc/boot/simple/embed_config.c	2003-09-16 03:04:50.000000000 -0700
@@ -22,6 +22,7 @@
 #if defined(CONFIG_405GP) || defined(CONFIG_NP405H) || defined(CONFIG_NP405L)
 #include <linux/netdevice.h>
 #endif
+extern unsigned long timebase_period_ns;
 
 /* For those boards that don't provide one.
 */
@@ -752,6 +753,7 @@
 	bd->bi_busfreq   = 100000000;
 	bd->bi_pci_busfreq= 33000000 ;
 #endif
+	timebase_period_ns = 1000000000 / bd->bi_tbfreq;
 }
 #endif
 
diff -urN linux-2.4.22-bk18/arch/ppc/boot/simple/misc-44x.c linux-2.4.22-bk19/arch/ppc/boot/simple/misc-44x.c
--- linux-2.4.22-bk18/arch/ppc/boot/simple/misc-44x.c	2003-09-16 03:04:35.000000000 -0700
+++ linux-2.4.22-bk19/arch/ppc/boot/simple/misc-44x.c	2003-09-16 03:04:50.000000000 -0700
@@ -19,10 +19,12 @@
 
 extern struct bi_record *decompress_kernel(unsigned long load_addr,
 	int num_words, unsigned long cksum);
+extern unsigned long timebase_period_ns;
 
 struct bi_record *
 load_kernel(unsigned long load_addr, int num_words, unsigned long cksum)
 {
+	timebase_period_ns = 3;
 	mtdcr(DCRN_MALCR(DCRN_MAL_BASE), MALCR_MMSR);		  /* reset MAL */
 	while (mfdcr(DCRN_MALCR(DCRN_MAL_BASE)) & MALCR_MMSR) {}; /* wait for reset */
 	*(volatile unsigned long *)PPC44x_EMAC0_MR0 = 0x20000000; /* reset EMAC */
diff -urN linux-2.4.22-bk18/arch/x86_64/kernel/mpparse.c linux-2.4.22-bk19/arch/x86_64/kernel/mpparse.c
--- linux-2.4.22-bk18/arch/x86_64/kernel/mpparse.c	2003-09-16 03:04:37.000000000 -0700
+++ linux-2.4.22-bk19/arch/x86_64/kernel/mpparse.c	2003-09-16 03:04:51.000000000 -0700
@@ -713,7 +713,7 @@
 			return i;
 	}
 
-	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for IRQ %d/n", irq);
+	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for IRQ %d\n", irq);
 
 	return -1;
 }
diff -urN linux-2.4.22-bk18/drivers/char/Config.in linux-2.4.22-bk19/drivers/char/Config.in
--- linux-2.4.22-bk18/drivers/char/Config.in	2003-09-16 03:04:39.000000000 -0700
+++ linux-2.4.22-bk19/drivers/char/Config.in	2003-09-16 03:04:53.000000000 -0700
@@ -164,7 +164,7 @@
    dep_tristate 'Texas Instruments parallel link cable support' CONFIG_TIPAR $CONFIG_PARPORT
 fi
 
-if [ "$CONFIG_PPC64" ] ; then 
+if [ "$CONFIG_PPC64" = "y" ] ; then 
    bool 'pSeries Hypervisor Virtual Console support' CONFIG_HVC_CONSOLE
 fi
 if [ "$CONFIG_ALL_PPC" = "y" ]; then
diff -urN linux-2.4.22-bk18/drivers/ide/ide-cd.c linux-2.4.22-bk19/drivers/ide/ide-cd.c
--- linux-2.4.22-bk18/drivers/ide/ide-cd.c	2003-09-16 03:04:40.000000000 -0700
+++ linux-2.4.22-bk19/drivers/ide/ide-cd.c	2003-09-16 03:04:53.000000000 -0700
@@ -2231,7 +2231,7 @@
 	minor = (drive->select.b.unit) << PARTN_BITS;
 	dev = MKDEV(HWIF(drive)->major, minor);
 	stat = cdrom_get_last_written(dev, &toc->capacity);
-	if (stat)
+	if (stat || !toc->capacity)
 		stat = cdrom_read_capacity(drive, &toc->capacity, sense);
 	if (stat)
 		toc->capacity = 0x1fffff;
diff -urN linux-2.4.22-bk18/drivers/ide/ide-probe.c linux-2.4.22-bk19/drivers/ide/ide-probe.c
--- linux-2.4.22-bk18/drivers/ide/ide-probe.c	2003-09-16 03:04:40.000000000 -0700
+++ linux-2.4.22-bk19/drivers/ide/ide-probe.c	2003-09-16 03:04:53.000000000 -0700
@@ -879,7 +879,7 @@
 	 *  
 	 *  BenH.
 	 */
-	if (wait_hwif_ready(hwif))
+	if (ide_wait_hwif_ready(hwif))
 		printk(KERN_WARNING "%s: Wait for ready failed before probe !\n", hwif->name);
 #endif /* CONFIG_PPC */
 
diff -urN linux-2.4.22-bk18/drivers/net/wireless/Config.in linux-2.4.22-bk19/drivers/net/wireless/Config.in
--- linux-2.4.22-bk18/drivers/net/wireless/Config.in	2002-11-28 15:53:14.000000000 -0800
+++ linux-2.4.22-bk19/drivers/net/wireless/Config.in	2003-09-16 03:04:54.000000000 -0700
@@ -14,6 +14,7 @@
 
 if [ "$CONFIG_PCI" = "y" ]; then
    dep_tristate '    Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.) (EXPERIMENTAL)' CONFIG_PLX_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
+   dep_tristate '    Hermes in TMD7160/NCP130 based PCI adaptor support (Pheecom WL-PCI etc.) (EXPERIMENTAL)' CONFIG_TMD_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
    dep_tristate '    Prism 2.5 PCI 802.11b adaptor support (EXPERIMENTAL)' CONFIG_PCI_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL
 fi
 
diff -urN linux-2.4.22-bk18/drivers/net/wireless/Makefile linux-2.4.22-bk19/drivers/net/wireless/Makefile
--- linux-2.4.22-bk18/drivers/net/wireless/Makefile	2002-08-02 17:39:44.000000000 -0700
+++ linux-2.4.22-bk19/drivers/net/wireless/Makefile	2003-09-16 03:04:54.000000000 -0700
@@ -18,6 +18,7 @@
 obj-$(CONFIG_PCMCIA_HERMES)	+= orinoco_cs.o
 obj-$(CONFIG_APPLE_AIRPORT)	+= airport.o
 obj-$(CONFIG_PLX_HERMES)	+= orinoco_plx.o
+obj-$(CONFIG_TMD_HERMES)	+= orinoco_tmd.o
 obj-$(CONFIG_PCI_HERMES)	+= orinoco_pci.o
 
 obj-$(CONFIG_AIRO)		+= airo.o
diff -urN linux-2.4.22-bk18/drivers/video/Config.in linux-2.4.22-bk19/drivers/video/Config.in
--- linux-2.4.22-bk18/drivers/video/Config.in	2003-09-16 03:04:45.000000000 -0700
+++ linux-2.4.22-bk19/drivers/video/Config.in	2003-09-16 03:05:02.000000000 -0700
@@ -300,6 +300,7 @@
            "$CONFIG_FB_PM3" = "y" -o "$CONFIG_FB_TRIDENT" = "y" -o \
 	   "$CONFIG_FB_P9100" = "y" -o "$CONFIG_FB_ATY128" = "y" -o \
 	   "$CONFIG_FB_RIVA" = "y" -o "$CONFIG_FB_RADEON" = "y" -o \
+	   "$CONFIG_FB_INTEL" = "y" -o \
 	   "$CONFIG_FB_SGIVW" = "y" -o "$CONFIG_FB_CYBER2000" = "y" -o \
 	   "$CONFIG_FB_SA1100" = "y" -o "$CONFIG_FB_3DFX" = "y" -o \
 	   "$CONFIG_FB_PMAG_BA" = "y" -o "$CONFIG_FB_PMAGB_B" = "y" -o \
@@ -320,12 +321,13 @@
 	      "$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \
               "$CONFIG_FB_IGA" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \
 	      "$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_PM2" = "m" -o \
-              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "y" -o \
+              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "m" -o \
 	      "$CONFIG_FB_P9100" = "m" -o "$CONFIG_FB_ATY128" = "m" -o \
 	      "$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_3DFX" = "m" -o \
 	      "$CONFIG_FB_SGIVW" = "m" -o "$CONFIG_FB_CYBER2000" = "m" -o \
 	      "$CONFIG_FB_PMAG_BA" = "m" -o "$CONFIG_FB_PMAGB_B" = "m" -o \
 	      "$CONFIG_FB_MAXINE" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \
+	      "$CONFIG_FB_INTEL" = "m" -o \
 	      "$CONFIG_FB_SA1100" = "m" -o "$CONFIG_FB_SIS" = "m" -o \
 	      "$CONFIG_FB_TX3912" = "m" -o "$CONFIG_FB_NEOMAGIC" = "m" -o \
 	      "$CONFIG_FB_STI" = "m" -o "$CONFIG_FB_INTEL" = "m" ]; then
@@ -336,6 +338,7 @@
 	   "$CONFIG_FB_MAC" = "y" -o "$CONFIG_FB_VESA" = "y" -o \
 	   "$CONFIG_FB_VIRTUAL" = "y" -o "$CONFIG_FB_TBOX" = "y" -o \
 	   "$CONFIG_FB_Q40" = "y" -o "$CONFIG_FB_RADEON" = "y" -o \
+	   "$CONFIG_FB_INTEL" = "y" -o \
 	   "$CONFIG_FB_CONTROL" = "y" -o "$CONFIG_FB_CLGEN" = "y" -o \
 	   "$CONFIG_FB_VIRGE" = "y" -o "$CONFIG_FB_CYBER" = "y" -o \
 	   "$CONFIG_FB_VALKYRIE" = "y" -o "$CONFIG_FB_PLATINUM" = "y" -o \
@@ -358,10 +361,11 @@
 	      "$CONFIG_FB_VALKYRIE" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \
 	      "$CONFIG_FB_CT65550" = "m" -o "$CONFIG_FB_MATROX" = "m" -o \
 	      "$CONFIG_FB_PM2" = "m" -o "$CONFIG_FB_SGIVW" = "m" -o \
-              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "y" -o \
+              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "m" -o \
 	      "$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_ATY128" = "m" -o \
 	      "$CONFIG_FB_CYBER2000" = "m" -o "$CONFIG_FB_SIS" = "m" -o \
 	      "$CONFIG_FB_SA1100" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \
+	      "$CONFIG_FB_INTEL" = "m" -o \
 	      "$CONFIG_FB_PVR2" = "m" -o "$CONFIG_FB_VOODOO1" = "m" -o \
 	      "$CONFIG_FB_NEOMAGIC" = "m" -o "$CONFIG_FB_INTEL" = "m" ]; then
 	    define_tristate CONFIG_FBCON_CFB16 m
@@ -393,6 +397,7 @@
 	   "$CONFIG_FB_RIVA" = "y" -o "$CONFIG_FB_ATY128" = "y" -o \
 	   "$CONFIG_FB_FM2" = "y" -o "$CONFIG_FB_SGIVW" = "y" -o \
 	   "$CONFIG_FB_RADEON" = "y" -o "$CONFIG_FB_PVR2" = "y" -o \
+	   "$CONFIG_FB_INTEL" = "y" -o \
 	   "$CONFIG_FB_3DFX" = "y" -o "$CONFIG_FB_SIS" = "y" -o \
 	   "$CONFIG_FB_VOODOO1" = "y" -o "$CONFIG_FB_CYBER2000" = "y" -o \
 	   "$CONFIG_FB_STI" = "y"  -o "$CONFIG_FB_INTEL" = "y" ]; then
@@ -403,13 +408,13 @@
 	      "$CONFIG_FB_CONTROL" = "m" -o "$CONFIG_FB_CLGEN" = "m" -o \
 	      "$CONFIG_FB_TGA" = "m" -o "$CONFIG_FB_PLATINUM" = "m" -o \
 	      "$CONFIG_FB_MATROX" = "m" -o "$CONFIG_FB_PM2" = "m" -o \
-              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "y" -o \
+              "$CONFIG_FB_PM3" = "m" -o "$CONFIG_FB_TRIDENT" = "m" -o \
 	      "$CONFIG_FB_RIVA" = "m" -o "$CONFIG_FB_ATY128" = "m" -o \
 	      "$CONFIG_FB_3DFX" = "m" -o "$CONFIG_FB_RADEON" = "m" -o \
+	      "$CONFIG_FB_INTEL" = "m" -o \
 	      "$CONFIG_FB_SGIVW" = "m" -o "$CONFIG_FB_SIS" = "m" -o \
 	      "$CONFIG_FB_PVR2" = "m" -o "$CONFIG_FB_VOODOO1" = "m" -o \
-	      "$CONFIG_FB_CYBER2000" = "m" -o "$CONFIG_FB_STI" = "y" -o \
-	      "$CONFIG_FB_INTEL" = "m" ]; then
+	      "$CONFIG_FB_CYBER2000" = "m" -o "$CONFIG_FB_STI" = "m" ]; then
 	    define_tristate CONFIG_FBCON_CFB32 m
 	 fi
       fi
@@ -456,9 +461,9 @@
 	    define_tristate CONFIG_FBCON_HGA m
 	 fi
       fi
-      if [ "$CONFIG_FB_STI" = "y" ]; then
-	 define_tristate CONFIG_FBCON_STI y
-      fi
+   fi
+   if [ "$CONFIG_FB_STI" = "y" ]; then
+      define_tristate CONFIG_FBCON_STI y
    fi
    bool '  Support only 8 pixels wide fonts' CONFIG_FBCON_FONTWIDTH8_ONLY
    if [ "$CONFIG_SPARC32" = "y" -o "$CONFIG_SPARC64" = "y" ]; then
diff -urN linux-2.4.22-bk18/net/core/dev.c linux-2.4.22-bk19/net/core/dev.c
--- linux-2.4.22-bk18/net/core/dev.c	2003-09-16 03:04:46.000000000 -0700
+++ linux-2.4.22-bk19/net/core/dev.c	2003-09-16 03:05:04.000000000 -0700
@@ -851,7 +851,11 @@
 	 * engine, but this requires more changes in devices. */
 
 	smp_mb__after_clear_bit(); /* Commit netif_running(). */
-	netif_poll_disable(dev);
+	while (test_bit(__LINK_STATE_RX_SCHED, &dev->state)) {
+		/* No hurry. */
+		current->state = TASK_INTERRUPTIBLE;
+		schedule_timeout(1);
+	}
 
 	/*
 	 *	Call the device specific close. This cannot fail.
