Subject: Re: 2.3.30-pre3

From: Shaw Terwilliger <[email-masked]>
Date: Sun, 28 Nov 1999 22:17:13 -0600

BenH wrote:
> Yes, please, send me your patches. Paul will be away for a few weeks and
> I want to move all my patches (there are more coming ;) to 2.3.x asap.

OK... here they are.  They're against paul's devel tree as of an hour
ago.  I'm running a fresh-built kernel from a tree with these applied;
everything's working well.

Besides being attached here, the individual patches (and the README) are
available at http://www.abisource.com/~sterwill/patches/.

If anyone else is interested in bulding the kernel, just grab the
devel tree and do "patch -p0 < all.patch" from /usr/src (assuming
the tree is /usr/src/linux).

-- 
Shaw Terwilliger ([email-masked])
--- linux.paul/CREDITS	Sat Oct 16 02:56:04 1999
+++ linux/CREDITS	Sun Nov 28 21:20:04 1999
@@ -1978,6 +1978,15 @@
 S: Seattle, WA  98195-1800
 S: USA
 
+N: Shaw Terwilliger
+E: [email-masked]
+D: macintosh adb keyboard fixes
+D: ppc chipsfb misc fixes 
+D: misc hfs maintenance
+S: 1116 Broadmoor Drive #3
+S: Champaign, IL  61821
+S: USA
+
 N: Corey Thomas
 E: [email-masked]
 W: http://world.std.com/~corey/index.html
--- linux.paul/drivers/video/chipsfb.c	Sat Oct 16 05:05:00 1999
+++ linux/drivers/video/chipsfb.c	Sun Nov 28 20:25:32 1999
@@ -417,7 +417,7 @@
 	disp->visual = fix->visual;
 	disp->var = *var;
 
-#if (defined(CONFIG_PMAC_PBOOK) || defined(CONFIG_FB_COMPAT_XPMAC))
+#if (defined(CONFIG_FB_COMPAT_XPMAC))
 	display_info.depth = bpp;
 	display_info.pitch = fix->line_length;
 #endif
--- linux.paul/fs/hfs/file.c	Thu Jul  1 00:01:54 1999
+++ linux/fs/hfs/file.c	Fri Nov  5 17:53:26 1999
@@ -498,7 +498,6 @@
 				written = -EFAULT;
 			break;
 		}
-		update_vm_cache(inode,pos,p,c);
 		pos += c;
 		written += c;
 		buf += c;
--- linux.paul/include/asm/keyboard.h	Sun Nov 28 19:31:57 1999
+++ linux/include/asm/keyboard.h	Sun Nov 28 19:45:46 1999
@@ -27,14 +27,32 @@
 #define DISABLE_KBD_DURING_INTERRUPTS	0
 #define INIT_KBD
 
+/* 
+ * I'm not a PPC keyboard driver expert, but one day kbd_init_hw()
+ * disappeared from this file (include/asm-ppc/keyboard.h), so I
+ * cloned it from a version found in a 2.2 kernel.  It works for me.
+ * - Shaw Terwilliger <[email-masked]>
+ */
+
+static inline void kbd_init_hw(void)
+{
+#ifdef CONFIG_PREP
+	if (prep_kbd_present)
+#endif /* CONFIG_PREP */
+		ppc_md.kbd_init_hw();
+}
+
 static inline int kbd_setkeycode(unsigned int scancode, unsigned int keycode)
 {
+	/*
+	 * There used to be a stray "else" clause here that might
+	 * have been a left-over fragment from a copy-and-paste.
+	 * - Shaw Terwilliger <[email-masked]>
+	 */
+	   
 	if ( ppc_md.kbd_setkeycode )
 		return ppc_md.kbd_setkeycode(scancode, keycode);
 	else
-		retureycode )
-		return ppc_md.kbd_setkeycode(scancode, keycode);
-	else
 		return 0;
 }
   
@@ -65,9 +83,16 @@
   
 static inline void kbd_leds(unsigned char leds)
 {
+	/*
+	 * The commented line below was, at one time, part of 
+	 * the code flow.  I've translated it to what I think its author
+	 * meant.
+	 * - Shaw Terwilliger <[email-masked]>
+	 */
+
 	if ( ppc_md.kbd_leds )
-		ppc_md.kbd_ledt_hw )
-		ppc_md.kbd_init_hw();
+	/*	ppc_md.kbd_ledt_hw ) */
+		ppc_md.kbd_leds(leds);
 }
 
 #define kbd_sysrq_xlate	(ppc_md.ppc_kbd_sysrq_xlate)