diff -urN linux-2.4.22.org/arch/ppc/kernel/ppc_ksyms.c linux-2.4.22/arch/ppc/kernel/ppc_ksyms.c --- linux-2.4.22.org/arch/ppc/kernel/ppc_ksyms.c 2003-11-21 20:40:54.000000000 +0100 +++ linux-2.4.22/arch/ppc/kernel/ppc_ksyms.c 2003-11-21 20:42:26.000000000 +0100 @@ -254,6 +254,7 @@ #ifdef CONFIG_PMAC_BACKLIGHT EXPORT_SYMBOL(get_backlight_level); EXPORT_SYMBOL(set_backlight_level); +EXPORT_SYMBOL(get_backlight_enable); EXPORT_SYMBOL(set_backlight_enable); EXPORT_SYMBOL(register_backlight_controller); #endif /* CONFIG_PMAC_BACKLIGHT */ @@ -384,3 +385,6 @@ extern unsigned long agp_special_page; EXPORT_SYMBOL_NOVERS(agp_special_page); #endif /* defined(CONFIG_ALL_PPC) */ + +EXPORT_SYMBOL(ioremap_bot); + diff -urN linux-2.4.22.org/arch/sparc/kernel/sparc_ksyms.c linux-2.4.22/arch/sparc/kernel/sparc_ksyms.c --- linux-2.4.22.org/arch/sparc/kernel/sparc_ksyms.c 2003-11-21 20:40:44.000000000 +0100 +++ linux-2.4.22/arch/sparc/kernel/sparc_ksyms.c 2003-11-21 20:41:45.000000000 +0100 @@ -282,6 +282,7 @@ /* Moving data to/from userspace. */ EXPORT_SYMBOL(__copy_user); EXPORT_SYMBOL(__strncpy_from_user); +EXPORT_SYMBOL(__strnlen_user); /* Networking helper routines. */ /* XXX This is NOVERS because C_LABEL_STR doesn't get the version number. -DaveM */ diff -urN linux-2.4.22.org/arch/sparc64/kernel/sparc64_ksyms.c linux-2.4.22/arch/sparc64/kernel/sparc64_ksyms.c --- linux-2.4.22.org/arch/sparc64/kernel/sparc64_ksyms.c 2003-11-21 20:41:01.000000000 +0100 +++ linux-2.4.22/arch/sparc64/kernel/sparc64_ksyms.c 2003-11-21 20:41:45.000000000 +0100 @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -347,6 +348,8 @@ EXPORT_SYMBOL(phys_base); EXPORT_SYMBOL(sparc64_valid_addr_bitmap); +EXPORT_SYMBOL(screen_info); + /* No version information on this, heavily used in inline asm, * and will always be 'void __ret_efault(void)'. */ @@ -370,4 +373,9 @@ EXPORT_SYMBOL(do_BUG); #endif +#if CONFIG_SUN_CONSOLE +extern void (*prom_palette)(int); +EXPORT_SYMBOL(prom_palette); +#endif + EXPORT_SYMBOL(tick_ops); diff -urN linux-2.4.22.org/drivers/sbus/char/Makefile linux-2.4.22/drivers/sbus/char/Makefile --- linux-2.4.22.org/drivers/sbus/char/Makefile 2003-11-21 20:40:09.000000000 +0100 +++ linux-2.4.22/drivers/sbus/char/Makefile 2003-11-21 20:41:45.000000000 +0100 @@ -9,7 +9,7 @@ O_TARGET := sunchar.o -export-objs := su.o bbc_i2c.o +export-objs := su.o bbc_i2c.o sunserial.o obj-y := sunkbd.o sunkbdmap.o sunmouse.o sunserial.o zs.o list-multi := vfc.o bbc.o diff -urN linux-2.4.22.org/drivers/sbus/char/sunserial.c linux-2.4.22/drivers/sbus/char/sunserial.c --- linux-2.4.22.org/drivers/sbus/char/sunserial.c 2003-11-21 20:40:09.000000000 +0100 +++ linux-2.4.22/drivers/sbus/char/sunserial.c 2003-11-21 20:41:45.000000000 +0100 @@ -25,11 +25,13 @@ int serial_console; int stop_a_enabled = 1; -int __init con_is_present(void) +int con_is_present(void) { return serial_console ? 0 : 1; } +EXPORT_SYMBOL(con_is_present); + static void __init nop_rs_kgdb_hook(int channel) { printk("Oops: %s called\n", __FUNCTION__); diff -urN linux-2.4.22.org/drivers/video/macmodes.c linux-2.4.22/drivers/video/macmodes.c --- linux-2.4.22.org/drivers/video/macmodes.c 2003-11-21 20:40:11.000000000 +0100 +++ linux-2.4.22/drivers/video/macmodes.c 2003-11-21 20:41:45.000000000 +0100 @@ -19,6 +19,7 @@ #include #include #include +#include #ifdef CONFIG_FB_COMPAT_XPMAC #include @@ -211,6 +212,9 @@ struct fb_info *console_fb_info = NULL; struct vc_mode display_info; +EXPORT_SYMBOL(console_fb_info); +EXPORT_SYMBOL(display_info); + static u16 palette_red[16]; static u16 palette_green[16]; static u16 palette_blue[16]; @@ -453,7 +457,7 @@ return 0; } - +EXPORT_SYMBOL(mac_vmode_to_var); /** * mac_var_to_vmode - convert var structure to MacOS vmode/cmode pair * @var: frame buffer video mode structure @@ -498,7 +502,7 @@ return -EINVAL; } - +EXPORT_SYMBOL(mac_var_to_vmode); /** * mac_map_monitor_sense - Convert monitor sense to vmode * @sense: Macintosh monitor sense number @@ -541,7 +545,7 @@ * */ -int __init mac_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, +int mac_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, const char *mode_option, unsigned int default_bpp) { const struct fb_videomode *db = NULL; @@ -554,3 +558,4 @@ return fb_find_mode(var, info, mode_option, db, dbsize, &mac_modedb[DEFAULT_MODEDB_INDEX], default_bpp); } +EXPORT_SYMBOL(mac_find_mode); diff -urN linux-2.4.22.org/drivers/video/Makefile linux-2.4.22/drivers/video/Makefile --- linux-2.4.22.org/drivers/video/Makefile 2003-11-21 20:40:10.000000000 +0100 +++ linux-2.4.22/drivers/video/Makefile 2003-11-21 20:41:45.000000000 +0100 @@ -15,7 +15,7 @@ fbcon-iplan2p8.o fbcon-vga-planes.o fbcon-cfb16.o \ fbcon-cfb2.o fbcon-cfb24.o fbcon-cfb32.o fbcon-cfb4.o \ fbcon-cfb8.o fbcon-mac.o fbcon-mfb.o \ - cyber2000fb.o sa1100fb.o fbcon-hga.o fbgen.o + cyber2000fb.o sa1100fb.o fbcon-hga.o fbgen.o macmodes.o # Each configuration option enables a list of files. diff -urN linux-2.4.22.org/kernel/ksyms.c linux-2.4.22/kernel/ksyms.c --- linux-2.4.22.org/kernel/ksyms.c 2003-11-21 20:38:46.000000000 +0100 +++ linux-2.4.22/kernel/ksyms.c 2003-11-21 20:41:45.000000000 +0100 @@ -384,6 +384,7 @@ EXPORT_SYMBOL(proc_dointvec_minmax); EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax); EXPORT_SYMBOL(proc_doulongvec_minmax); +EXPORT_SYMBOL(proc_get_inode); /* interrupt handling */ EXPORT_SYMBOL(add_timer); --- linux-2.4.23/arch/ppc/kernel/ppc_ksyms.c.orig 2003-12-27 10:31:16.000000000 +0100 +++ linux-2.4.23/arch/ppc/kernel/ppc_ksyms.c 2003-12-27 10:31:49.000000000 +0100 @@ -387,4 +387,4 @@ #endif /* defined(CONFIG_ALL_PPC) */ EXPORT_SYMBOL(ioremap_bot); - +EXPORT_SYMBOL(vmalloc_start); --- linux-2.4.23/kernel/printk.c.orig 2003-12-27 10:40:07.000000000 +0100 +++ linux-2.4.23/kernel/printk.c 2003-12-27 12:59:40.000000000 +0100 @@ -540,6 +540,7 @@ if (must_wake_klogd && !oops_in_progress) wake_up_interruptible(&log_wait); } +EXPORT_SYMBOL(release_console_sem); /** console_conditional_schedule - yield the CPU if required *