m68k: early parameter support

Add early parameter support and convert current users to it.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Roman Zippel
2007-05-01 22:32:45 +02:00
committed by Linus Torvalds
parent f8744bc95d
commit d6713b4091
8 changed files with 81 additions and 110 deletions

View File

@@ -82,10 +82,6 @@ extern void mac_mksound(unsigned int, unsigned int);
extern void nubus_sweep_video(void);
/* Mac specific debug functions (in debug.c) */
extern void mac_debug_init(void);
extern void mac_debugging_long(int, long);
static void mac_get_model(char *str);
static void mac_sched_init(irq_handler_t vector)
@@ -180,9 +176,6 @@ void __init config_mac(void)
mach_halt = mac_poweroff;
mach_power_off = mac_poweroff;
mach_max_dma_address = 0xffffffff;
#if 0
mach_debug_init = mac_debug_init;
#endif
#if defined(CONFIG_INPUT_M68K_BEEP) || defined(CONFIG_INPUT_M68K_BEEP_MODULE)
mach_beep = mac_mksound;
#endif
@@ -802,7 +795,6 @@ void mac_identify(void)
/* the serial ports set to "Faster" mode in MacOS. */
iop_preinit();
mac_debug_init();
printk(KERN_INFO "Detected Macintosh model: %d \n", model);

View File

@@ -27,10 +27,6 @@
#include <asm/machw.h>
#include <asm/macints.h>
extern char m68k_debug_device[];
extern struct compat_bootinfo compat_boot_info;
extern unsigned long mac_videobase;
extern unsigned long mac_videodepth;
extern unsigned long mac_rowbytes;
@@ -360,16 +356,18 @@ void mac_init_sccb_port(int cflag)
mac_init_scc_port(cflag, 1);
}
void __init mac_debug_init(void)
static int __init mac_debug_setup(char *arg)
{
if (!MACH_IS_MAC)
return 0;
#ifdef DEBUG_SERIAL
if (!strcmp(m68k_debug_device, "ser") ||
!strcmp(m68k_debug_device, "ser1")) {
if (!strcmp(arg, "ser") || !strcmp(arg, "ser1")) {
/* Mac modem port */
mac_init_scc_port(B9600|CS8, 0);
mac_console_driver.write = mac_scca_console_write;
scc_port = 0;
} else if (!strcmp(m68k_debug_device, "ser2")) {
} else if (!strcmp(arg, "ser2")) {
/* Mac printer port */
mac_init_scc_port(B9600|CS8, 1);
mac_console_driver.write = mac_sccb_console_write;
@@ -377,12 +375,14 @@ void __init mac_debug_init(void)
}
#endif
#ifdef DEBUG_HEADS
if (!strcmp(m68k_debug_device, "scn") ||
!strcmp(m68k_debug_device, "con")) {
if (!strcmp(arg, "scn") || !strcmp(arg, "con")) {
/* display, using head.S console routines */
mac_console_driver.write = mac_debug_console_write;
}
#endif
if (mac_console_driver.write)
register_console(&mac_console_driver);
return 0;
}
early_param("debug", mac_debug_setup);