summaryrefslogtreecommitdiff
path: root/arch/m68k/atari/config.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2007-05-01 22:32:45 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-04 17:59:06 -0700
commitd6713b4091a99fa2af2fabdcd2f3fb97f32ecf2e (patch)
tree7cabd0ff35f9ec4413ba936ddb203d13dffb1550 /arch/m68k/atari/config.c
parentf8744bc95dac461cef40df7143756d1bfa393991 (diff)
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>
Diffstat (limited to 'arch/m68k/atari/config.c')
-rw-r--r--arch/m68k/atari/config.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
index b10e7addae5c..e40e5dcaa347 100644
--- a/arch/m68k/atari/config.c
+++ b/arch/m68k/atari/config.c
@@ -69,9 +69,6 @@ extern int atari_tt_hwclk (int, struct rtc_time *);
extern int atari_mste_set_clock_mmss (unsigned long);
extern int atari_tt_set_clock_mmss (unsigned long);
-/* atari specific debug functions (in debug.c) */
-extern void atari_debug_init(void);
-
/* ++roman: This is a more elaborate test for an SCC chip, since the plain
* Medusa board generates DTACK at the SCC's standard addresses, but a SCC
@@ -137,15 +134,18 @@ int __init atari_parse_bootinfo(const struct bi_record *record)
/* Parse the Atari-specific switches= option. */
-void __init atari_switches_setup(const char *str, unsigned len)
+static int __init atari_switches_setup(char *str)
{
- char switches[len+1];
+ char switches[strlen(str) + 1];
char *p;
int ovsc_shift;
char *args = switches;
+ if (!MACH_IS_ATARI)
+ return 0;
+
/* copy string to local array, strsep works destructively... */
- strlcpy(switches, str, sizeof(switches));
+ strcpy(switches, str);
atari_switches = 0;
/* parse the options */
@@ -170,8 +170,11 @@ void __init atari_switches_setup(const char *str, unsigned len)
atari_switches |= ATARI_SWITCH_SND7 << ovsc_shift;
}
}
+ return 0;
}
+early_param("switches", atari_switches_setup);
+
/*
* Setup the Atari configuration info
@@ -183,8 +186,6 @@ void __init config_atari(void)
memset(&atari_hw_present, 0, sizeof(atari_hw_present));
- atari_debug_init();
-
/* Change size of I/O space from 64KB to 4GB. */
ioport_resource.end = 0xFFFFFFFF;