Skip to contentSkip to conversation

PATCH: PowerMac specific

PATCH Bernd Kischnick 1 participant 1 message May 15, 2000 Linux for power macintosh

lore
Share & tools
lore
#0 lore raw

Hi all,

the attached patches are necessary to get the kernel 2.3.99-pre8 compiled for PowerMacs, when some configuration options are different than others seem to have them (CONFIG_ADBMOUSE, CONFIG_ADB_PMU, CONFIG_KGDB).

Also we've got some renamed defines in ide-pmac.c (Mediabay-specific).

And some undeclared symbols in include/asm-ppc/string.h.

Regards,
- Bernd

linux/drivers/macintosh/mac_keyb.c renamed from drivers/macintosh/mac_keyb.c +5 -3
diff -ru linux/drivers/macintosh/mac_keyb.c my/linux/drivers/macintosh/mac_keyb.c
@@ -585,8 +585,10 @@
 }
 #endif /* CONFIG_ADBMOUSE */
 
+#ifdef CONFIG_ADB_PMU
 /* XXX Needs to get rid of this, see comments in pmu.c */
 extern int backlight_level;
+#endif
 
 static void
 buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int autopoll)
@@ -627,7 +629,7 @@
 		/* brightness decrease */
 		case 0xa:
 			/* down event */
-#ifdef CONFIG_PPC
+#if defined(CONFIG_PPC) && defined (CONFIG_ADB_PMU)
 			if ( data[1] == (data[1]&0xf) ) {
 				if (backlight_level > 2)
 					pmu_set_brightness(backlight_level-2);
@@ -639,7 +641,7 @@
 		/* brightness increase */
 		case 0x9:
 			/* down event */
-#ifdef CONFIG_PPC
+#if defined(CONFIG_PPC) && defined(CONFIG_ADB_PMU)
 			if ( data[1] == (data[1]&0xf) ) {
 				if (backlight_level < 0x1e)
 					pmu_set_brightness(backlight_level+2);
@@ -1053,5 +1055,5 @@
 	    0x07);
 
  	adb_request(&req, NULL, ADBREQ_SYNC, 1, ADB_FLUSH(id));
- }
+}
linux/arch/ppc/kernel/ppc_ksyms.c renamed from arch/ppc/kernel/ppc_ksyms.c +2 -0
diff -ru linux/arch/ppc/kernel/ppc_ksyms.c my/linux/arch/ppc/kernel/ppc_ksyms.c
@@ -271,6 +271,7 @@
 #endif
 EXPORT_SYMBOL(down_read_failed);
 
+#ifdef CONFIG_KGDB
 extern void (*debugger)(struct pt_regs *regs);
 extern int (*debugger_bpt)(struct pt_regs *regs);
 extern int (*debugger_sstep)(struct pt_regs *regs);
@@ -284,3 +285,4 @@
 EXPORT_SYMBOL(debugger_iabr_match);
 EXPORT_SYMBOL(debugger_dabr_match);
 EXPORT_SYMBOL(debugger_fault_handler);
+#endif
linux/drivers/ide/ide-pmac.c renamed from drivers/ide/ide-pmac.c +3 -3
diff -ru linux/drivers/ide/ide-pmac.c my/linux/drivers/ide/ide-pmac.c
@@ -402,11 +402,11 @@
 				feature_clear(np, FEATURE_IDE0_reset);
 				break;
 			    case 1:
-				feature_set(np, FEATURE_Mediabay_IDE_reset);
+				feature_set(np, FEATURE_IDE1_reset);
 				mdelay(10);
- 				feature_set(np, FEATURE_Mediabay_IDE_enable);
+ 				feature_set(np, FEATURE_IDE1_enable);
 				mdelay(10);
-				feature_clear(np, FEATURE_Mediabay_IDE_reset);
+				feature_clear(np, FEATURE_IDE1_reset);
 				break;
 			    case 2:
 			    	/* This one exists only for KL, I don't know about any
linux/include/asm-ppc/string.h renamed from include/asm-ppc/string.h +15 -3
diff -ru linux/include/asm-ppc/string.h my/linux/include/asm-ppc/string.h
@@ -1,17 +1,29 @@
 #ifndef _PPC_STRING_H_
 #define _PPC_STRING_H_
 
+#define __HAVE_ARCH_BCOPY
+
 #define __HAVE_ARCH_STRCPY
+extern char * strcpy(char *,const char *);
 #define __HAVE_ARCH_STRNCPY
-#define __HAVE_ARCH_STRLEN
-#define __HAVE_ARCH_STRCMP
+extern char * strncpy(char *,const char *, __kernel_size_t);
 #define __HAVE_ARCH_STRCAT
+extern char * strcat(char *, const char *);
+#define __HAVE_ARCH_STRCMP
+extern int strcmp(const char *,const char *);
+#define __HAVE_ARCH_STRLEN
+extern __kernel_size_t strlen(const char *);
+
 #define __HAVE_ARCH_MEMSET
-#define __HAVE_ARCH_BCOPY
+extern void * memset(void *,int,__kernel_size_t);
 #define __HAVE_ARCH_MEMCPY
+extern void * memcpy(void *,const void *,__kernel_size_t);
 #define __HAVE_ARCH_MEMMOVE
+extern void * memmove(void *,const void *,__kernel_size_t);
 #define __HAVE_ARCH_MEMCMP
+extern int memcmp(const void *,const void *,__kernel_size_t);
 #define __HAVE_ARCH_MEMCHR
+extern void * memchr(const void *,int,__kernel_size_t);
 
 extern int strcasecmp(const char *, const char *);
 extern int strncasecmp(const char *, const char *, int);