diff options
Diffstat (limited to 'arch/m68k')
36 files changed, 95 insertions, 348 deletions
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 55ea52fe6aca..8c5e1de68fcb 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -490,28 +490,6 @@ config ATARI_MFPSER | |||
490 | Note for Falcon users: You also have an MFP port, it's just not | 490 | Note for Falcon users: You also have an MFP port, it's just not |
491 | wired to the outside... But you could use the port under Linux. | 491 | wired to the outside... But you could use the port under Linux. |
492 | 492 | ||
493 | config ATARI_SCC | ||
494 | tristate "Atari SCC serial support" | ||
495 | depends on ATARI | ||
496 | ---help--- | ||
497 | If you have serial ports based on a Zilog SCC chip (Modem2, Serial2, | ||
498 | LAN) and like to use them under Linux, say Y. All built-in SCC's are | ||
499 | supported (TT, MegaSTE, Falcon), and also the ST-ESCC. If you have | ||
500 | two connectors for channel A (Serial2 and LAN), they are visible as | ||
501 | two separate devices. | ||
502 | |||
503 | To compile this driver as a module, choose M here. | ||
504 | |||
505 | config ATARI_SCC_DMA | ||
506 | bool "Atari SCC serial DMA support" | ||
507 | depends on ATARI_SCC | ||
508 | help | ||
509 | This enables DMA support for receiving data on channel A of the SCC. | ||
510 | If you have a TT you may say Y here and read | ||
511 | drivers/char/atari_SCC.README. All other users should say N here, | ||
512 | because only the TT has SCC-DMA, even if your machine keeps claiming | ||
513 | so at boot time. | ||
514 | |||
515 | config ATARI_MIDI | 493 | config ATARI_MIDI |
516 | tristate "Atari MIDI serial support" | 494 | tristate "Atari MIDI serial support" |
517 | depends on ATARI | 495 | depends on ATARI |
@@ -578,18 +556,6 @@ config MAC_HID | |||
578 | depends on INPUT_ADBHID | 556 | depends on INPUT_ADBHID |
579 | default y | 557 | default y |
580 | 558 | ||
581 | config ADB_KEYBOARD | ||
582 | bool "Support for ADB keyboard (old driver)" | ||
583 | depends on MAC && !INPUT_ADBHID | ||
584 | help | ||
585 | This option allows you to use an ADB keyboard attached to your | ||
586 | machine. Note that this disables any other (ie. PS/2) keyboard | ||
587 | support, even if your machine is physically capable of using both at | ||
588 | the same time. | ||
589 | |||
590 | If you use an ADB keyboard (4 pin connector), say Y here. | ||
591 | If you use a PS/2 keyboard (6 pin connector), say N here. | ||
592 | |||
593 | config HPDCA | 559 | config HPDCA |
594 | tristate "HP DCA serial support" | 560 | tristate "HP DCA serial support" |
595 | depends on DIO && SERIAL_8250 | 561 | depends on DIO && SERIAL_8250 |
@@ -640,7 +606,7 @@ config DN_SERIAL | |||
640 | 606 | ||
641 | config SERIAL_CONSOLE | 607 | config SERIAL_CONSOLE |
642 | bool "Support for serial port console" | 608 | bool "Support for serial port console" |
643 | depends on (AMIGA || ATARI || MAC || SUN3 || SUN3X || VME || APOLLO) && (ATARI_MFPSER=y || ATARI_SCC=y || ATARI_MIDI=y || MAC_SCC=y || AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y || MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL) | 609 | depends on (AMIGA || ATARI || MAC || SUN3 || SUN3X || VME || APOLLO) && (ATARI_MFPSER=y || ATARI_MIDI=y || MAC_SCC=y || AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y || SERIAL=y || MVME147_SCC || SERIAL167 || MVME162_SCC || BVME6000_SCC || DN_SERIAL) |
644 | ---help--- | 610 | ---help--- |
645 | If you say Y here, it will be possible to use a serial port as the | 611 | If you say Y here, it will be possible to use a serial port as the |
646 | system console (the system console is the device which receives all | 612 | system console (the system console is the device which receives all |
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile index b15173f28a23..8133dbc44964 100644 --- a/arch/m68k/Makefile +++ b/arch/m68k/Makefile | |||
@@ -13,7 +13,7 @@ | |||
13 | # Copyright (C) 1994 by Hamish Macdonald | 13 | # Copyright (C) 1994 by Hamish Macdonald |
14 | # | 14 | # |
15 | 15 | ||
16 | KBUILD_DEFCONFIG := amiga_defconfig | 16 | KBUILD_DEFCONFIG := multi_defconfig |
17 | 17 | ||
18 | # override top level makefile | 18 | # override top level makefile |
19 | AS += -m68020 | 19 | AS += -m68020 |
diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c index 50f5daab46b7..df679d96b1cb 100644 --- a/arch/m68k/amiga/config.c +++ b/arch/m68k/amiga/config.c | |||
@@ -36,14 +36,11 @@ | |||
36 | #include <asm/machdep.h> | 36 | #include <asm/machdep.h> |
37 | #include <asm/io.h> | 37 | #include <asm/io.h> |
38 | 38 | ||
39 | unsigned long amiga_model; | 39 | static unsigned long amiga_model; |
40 | EXPORT_SYMBOL(amiga_model); | ||
41 | 40 | ||
42 | unsigned long amiga_eclock; | 41 | unsigned long amiga_eclock; |
43 | EXPORT_SYMBOL(amiga_eclock); | 42 | EXPORT_SYMBOL(amiga_eclock); |
44 | 43 | ||
45 | unsigned long amiga_masterclock; | ||
46 | |||
47 | unsigned long amiga_colorclock; | 44 | unsigned long amiga_colorclock; |
48 | EXPORT_SYMBOL(amiga_colorclock); | 45 | EXPORT_SYMBOL(amiga_colorclock); |
49 | 46 | ||
@@ -51,7 +48,9 @@ unsigned long amiga_chipset; | |||
51 | EXPORT_SYMBOL(amiga_chipset); | 48 | EXPORT_SYMBOL(amiga_chipset); |
52 | 49 | ||
53 | unsigned char amiga_vblank; | 50 | unsigned char amiga_vblank; |
54 | unsigned char amiga_psfreq; | 51 | EXPORT_SYMBOL(amiga_vblank); |
52 | |||
53 | static unsigned char amiga_psfreq; | ||
55 | 54 | ||
56 | struct amiga_hw_present amiga_hw_present; | 55 | struct amiga_hw_present amiga_hw_present; |
57 | EXPORT_SYMBOL(amiga_hw_present); | 56 | EXPORT_SYMBOL(amiga_hw_present); |
@@ -92,8 +91,6 @@ static char *amiga_models[] __initdata = { | |||
92 | static char amiga_model_name[13] = "Amiga "; | 91 | static char amiga_model_name[13] = "Amiga "; |
93 | 92 | ||
94 | static void amiga_sched_init(irq_handler_t handler); | 93 | static void amiga_sched_init(irq_handler_t handler); |
95 | /* amiga specific irq functions */ | ||
96 | extern void amiga_init_IRQ(void); | ||
97 | static void amiga_get_model(char *model); | 94 | static void amiga_get_model(char *model); |
98 | static int amiga_get_hardware_list(char *buffer); | 95 | static int amiga_get_hardware_list(char *buffer); |
99 | /* amiga specific timer functions */ | 96 | /* amiga specific timer functions */ |
@@ -107,8 +104,6 @@ static void amiga_reset(void); | |||
107 | extern void amiga_init_sound(void); | 104 | extern void amiga_init_sound(void); |
108 | static void amiga_mem_console_write(struct console *co, const char *b, | 105 | static void amiga_mem_console_write(struct console *co, const char *b, |
109 | unsigned int count); | 106 | unsigned int count); |
110 | void amiga_serial_console_write(struct console *co, const char *s, | ||
111 | unsigned int count); | ||
112 | #ifdef CONFIG_HEARTBEAT | 107 | #ifdef CONFIG_HEARTBEAT |
113 | static void amiga_heartbeat(int on); | 108 | static void amiga_heartbeat(int on); |
114 | #endif | 109 | #endif |
@@ -418,8 +413,7 @@ void __init config_amiga(void) | |||
418 | mach_heartbeat = amiga_heartbeat; | 413 | mach_heartbeat = amiga_heartbeat; |
419 | #endif | 414 | #endif |
420 | 415 | ||
421 | /* Fill in the clock values (based on the 700 kHz E-Clock) */ | 416 | /* Fill in the clock value (based on the 700 kHz E-Clock) */ |
422 | amiga_masterclock = 40*amiga_eclock; /* 28 MHz */ | ||
423 | amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */ | 417 | amiga_colorclock = 5*amiga_eclock; /* 3.5 MHz */ |
424 | 418 | ||
425 | /* clear all DMA bits */ | 419 | /* clear all DMA bits */ |
@@ -817,8 +811,8 @@ static void amiga_serial_putc(char c) | |||
817 | ; | 811 | ; |
818 | } | 812 | } |
819 | 813 | ||
820 | void amiga_serial_console_write(struct console *co, const char *s, | 814 | static void amiga_serial_console_write(struct console *co, const char *s, |
821 | unsigned int count) | 815 | unsigned int count) |
822 | { | 816 | { |
823 | while (count--) { | 817 | while (count--) { |
824 | if (*s == '\n') | 818 | if (*s == '\n') |
@@ -827,7 +821,7 @@ void amiga_serial_console_write(struct console *co, const char *s, | |||
827 | } | 821 | } |
828 | } | 822 | } |
829 | 823 | ||
830 | #ifdef CONFIG_SERIAL_CONSOLE | 824 | #if 0 |
831 | void amiga_serial_puts(const char *s) | 825 | void amiga_serial_puts(const char *s) |
832 | { | 826 | { |
833 | amiga_serial_console_write(NULL, s, strlen(s)); | 827 | amiga_serial_console_write(NULL, s, strlen(s)); |
diff --git a/arch/m68k/atari/debug.c b/arch/m68k/atari/debug.c index 043ddbc61c7b..702b15ccfab7 100644 --- a/arch/m68k/atari/debug.c +++ b/arch/m68k/atari/debug.c | |||
@@ -20,14 +20,6 @@ | |||
20 | #include <asm/atarihw.h> | 20 | #include <asm/atarihw.h> |
21 | #include <asm/atariints.h> | 21 | #include <asm/atariints.h> |
22 | 22 | ||
23 | /* Flag that Modem1 port is already initialized and used */ | ||
24 | int atari_MFP_init_done; | ||
25 | EXPORT_SYMBOL(atari_MFP_init_done); | ||
26 | |||
27 | /* Flag that Modem1 port is already initialized and used */ | ||
28 | int atari_SCC_init_done; | ||
29 | EXPORT_SYMBOL(atari_SCC_init_done); | ||
30 | |||
31 | /* Can be set somewhere, if a SCC master reset has already be done and should | 23 | /* Can be set somewhere, if a SCC master reset has already be done and should |
32 | * not be repeated; used by kgdb */ | 24 | * not be repeated; used by kgdb */ |
33 | int atari_SCC_reset_done; | 25 | int atari_SCC_reset_done; |
@@ -47,8 +39,8 @@ static inline void ata_mfp_out(char c) | |||
47 | mfp.usart_dta = c; | 39 | mfp.usart_dta = c; |
48 | } | 40 | } |
49 | 41 | ||
50 | void atari_mfp_console_write(struct console *co, const char *str, | 42 | static void atari_mfp_console_write(struct console *co, const char *str, |
51 | unsigned int count) | 43 | unsigned int count) |
52 | { | 44 | { |
53 | while (count--) { | 45 | while (count--) { |
54 | if (*str == '\n') | 46 | if (*str == '\n') |
@@ -66,8 +58,8 @@ static inline void ata_scc_out(char c) | |||
66 | scc.cha_b_data = c; | 58 | scc.cha_b_data = c; |
67 | } | 59 | } |
68 | 60 | ||
69 | void atari_scc_console_write(struct console *co, const char *str, | 61 | static void atari_scc_console_write(struct console *co, const char *str, |
70 | unsigned int count) | 62 | unsigned int count) |
71 | { | 63 | { |
72 | while (count--) { | 64 | while (count--) { |
73 | if (*str == '\n') | 65 | if (*str == '\n') |
@@ -83,8 +75,8 @@ static inline void ata_midi_out(char c) | |||
83 | acia.mid_data = c; | 75 | acia.mid_data = c; |
84 | } | 76 | } |
85 | 77 | ||
86 | void atari_midi_console_write(struct console *co, const char *str, | 78 | static void atari_midi_console_write(struct console *co, const char *str, |
87 | unsigned int count) | 79 | unsigned int count) |
88 | { | 80 | { |
89 | while (count--) { | 81 | while (count--) { |
90 | if (*str == '\n') | 82 | if (*str == '\n') |
@@ -136,7 +128,7 @@ static void atari_par_console_write(struct console *co, const char *str, | |||
136 | } | 128 | } |
137 | } | 129 | } |
138 | 130 | ||
139 | #ifdef CONFIG_SERIAL_CONSOLE | 131 | #if 0 |
140 | int atari_mfp_console_wait_key(struct console *co) | 132 | int atari_mfp_console_wait_key(struct console *co) |
141 | { | 133 | { |
142 | while (!(mfp.rcv_stat & 0x80)) /* wait for rx buf filled */ | 134 | while (!(mfp.rcv_stat & 0x80)) /* wait for rx buf filled */ |
@@ -166,11 +158,7 @@ int atari_midi_console_wait_key(struct console *co) | |||
166 | * SCC serial ports. They're used by the debugging interface, kgdb, and the | 158 | * SCC serial ports. They're used by the debugging interface, kgdb, and the |
167 | * serial console code. | 159 | * serial console code. |
168 | */ | 160 | */ |
169 | #ifndef CONFIG_SERIAL_CONSOLE | ||
170 | static void __init atari_init_mfp_port(int cflag) | 161 | static void __init atari_init_mfp_port(int cflag) |
171 | #else | ||
172 | void atari_init_mfp_port(int cflag) | ||
173 | #endif | ||
174 | { | 162 | { |
175 | /* | 163 | /* |
176 | * timer values for 1200...115200 bps; > 38400 select 110, 134, or 150 | 164 | * timer values for 1200...115200 bps; > 38400 select 110, 134, or 150 |
@@ -193,8 +181,6 @@ void atari_init_mfp_port(int cflag) | |||
193 | mfp.tim_dt_d = baud_table[baud]; | 181 | mfp.tim_dt_d = baud_table[baud]; |
194 | mfp.tim_ct_cd |= 0x01; /* start timer D, 1:4 */ | 182 | mfp.tim_ct_cd |= 0x01; /* start timer D, 1:4 */ |
195 | mfp.trn_stat |= 0x01; /* enable TX */ | 183 | mfp.trn_stat |= 0x01; /* enable TX */ |
196 | |||
197 | atari_MFP_init_done = 1; | ||
198 | } | 184 | } |
199 | 185 | ||
200 | #define SCC_WRITE(reg, val) \ | 186 | #define SCC_WRITE(reg, val) \ |
@@ -214,11 +200,7 @@ void atari_init_mfp_port(int cflag) | |||
214 | MFPDELAY(); \ | 200 | MFPDELAY(); \ |
215 | } while (0) | 201 | } while (0) |
216 | 202 | ||
217 | #ifndef CONFIG_SERIAL_CONSOLE | ||
218 | static void __init atari_init_scc_port(int cflag) | 203 | static void __init atari_init_scc_port(int cflag) |
219 | #else | ||
220 | void atari_init_scc_port(int cflag) | ||
221 | #endif | ||
222 | { | 204 | { |
223 | extern int atari_SCC_reset_done; | 205 | extern int atari_SCC_reset_done; |
224 | static int clksrc_table[9] = | 206 | static int clksrc_table[9] = |
@@ -277,14 +259,9 @@ void atari_init_scc_port(int cflag) | |||
277 | SCC_WRITE(5, reg5 | 8); | 259 | SCC_WRITE(5, reg5 | 8); |
278 | 260 | ||
279 | atari_SCC_reset_done = 1; | 261 | atari_SCC_reset_done = 1; |
280 | atari_SCC_init_done = 1; | ||
281 | } | 262 | } |
282 | 263 | ||
283 | #ifndef CONFIG_SERIAL_CONSOLE | ||
284 | static void __init atari_init_midi_port(int cflag) | 264 | static void __init atari_init_midi_port(int cflag) |
285 | #else | ||
286 | void atari_init_midi_port(int cflag) | ||
287 | #endif | ||
288 | { | 265 | { |
289 | int baud = cflag & CBAUD; | 266 | int baud = cflag & CBAUD; |
290 | int csize = ((cflag & CSIZE) == CS8) ? 0x10 : 0x00; | 267 | int csize = ((cflag & CSIZE) == CS8) ? 0x10 : 0x00; |
diff --git a/arch/m68k/fpsp040/Makefile b/arch/m68k/fpsp040/Makefile index 0214d2f6f8b0..9506d883ace5 100644 --- a/arch/m68k/fpsp040/Makefile +++ b/arch/m68k/fpsp040/Makefile | |||
@@ -10,7 +10,6 @@ obj-y := bindec.o binstr.o decbin.o do_func.o gen_except.o get_op.o \ | |||
10 | x_bsun.o x_fline.o x_operr.o x_ovfl.o x_snan.o x_store.o \ | 10 | x_bsun.o x_fline.o x_operr.o x_ovfl.o x_snan.o x_store.o \ |
11 | x_unfl.o x_unimp.o x_unsupp.o bugfix.o skeleton.o | 11 | x_unfl.o x_unimp.o x_unsupp.o bugfix.o skeleton.o |
12 | 12 | ||
13 | EXTRA_AFLAGS := -traditional | ||
14 | EXTRA_LDFLAGS := -x | 13 | EXTRA_LDFLAGS := -x |
15 | 14 | ||
16 | $(OS_OBJS): fpsp.h | 15 | $(OS_OBJS): fpsp.h |
diff --git a/arch/m68k/ifpsp060/Makefile b/arch/m68k/ifpsp060/Makefile index 2fe8472cb5e3..43b435049452 100644 --- a/arch/m68k/ifpsp060/Makefile +++ b/arch/m68k/ifpsp060/Makefile | |||
@@ -6,5 +6,4 @@ | |||
6 | 6 | ||
7 | obj-y := fskeleton.o iskeleton.o os.o | 7 | obj-y := fskeleton.o iskeleton.o os.o |
8 | 8 | ||
9 | EXTRA_AFLAGS := -traditional | ||
10 | EXTRA_LDFLAGS := -x | 9 | EXTRA_LDFLAGS := -x |
diff --git a/arch/m68k/kernel/Makefile b/arch/m68k/kernel/Makefile index 7a62a718143b..3a7f62225504 100644 --- a/arch/m68k/kernel/Makefile +++ b/arch/m68k/kernel/Makefile | |||
@@ -16,5 +16,3 @@ devres-y = ../../../kernel/irq/devres.o | |||
16 | 16 | ||
17 | obj-$(CONFIG_PCI) += bios32.o | 17 | obj-$(CONFIG_PCI) += bios32.o |
18 | obj-y$(CONFIG_MMU_SUN3) += dma.o # no, it's not a typo | 18 | obj-y$(CONFIG_MMU_SUN3) += dma.o # no, it's not a typo |
19 | |||
20 | EXTRA_AFLAGS := -traditional | ||
diff --git a/arch/m68k/kernel/setup.c b/arch/m68k/kernel/setup.c index a9fb83a8c180..ea1e44da19b9 100644 --- a/arch/m68k/kernel/setup.c +++ b/arch/m68k/kernel/setup.c | |||
@@ -26,6 +26,7 @@ | |||
26 | 26 | ||
27 | #include <asm/bootinfo.h> | 27 | #include <asm/bootinfo.h> |
28 | #include <asm/setup.h> | 28 | #include <asm/setup.h> |
29 | #include <asm/fpu.h> | ||
29 | #include <asm/irq.h> | 30 | #include <asm/irq.h> |
30 | #include <asm/io.h> | 31 | #include <asm/io.h> |
31 | #include <asm/machdep.h> | 32 | #include <asm/machdep.h> |
@@ -40,6 +41,11 @@ | |||
40 | #include <asm/dvma.h> | 41 | #include <asm/dvma.h> |
41 | #endif | 42 | #endif |
42 | 43 | ||
44 | #if !FPSTATESIZE || !NR_IRQS | ||
45 | #warning No CPU/platform type selected, your kernel will not work! | ||
46 | #warning Are you building an allnoconfig kernel? | ||
47 | #endif | ||
48 | |||
43 | unsigned long m68k_machtype; | 49 | unsigned long m68k_machtype; |
44 | EXPORT_SYMBOL(m68k_machtype); | 50 | EXPORT_SYMBOL(m68k_machtype); |
45 | unsigned long m68k_cputype; | 51 | unsigned long m68k_cputype; |
@@ -116,6 +122,7 @@ extern int bvme6000_parse_bootinfo(const struct bi_record *); | |||
116 | extern int mvme16x_parse_bootinfo(const struct bi_record *); | 122 | extern int mvme16x_parse_bootinfo(const struct bi_record *); |
117 | extern int mvme147_parse_bootinfo(const struct bi_record *); | 123 | extern int mvme147_parse_bootinfo(const struct bi_record *); |
118 | extern int hp300_parse_bootinfo(const struct bi_record *); | 124 | extern int hp300_parse_bootinfo(const struct bi_record *); |
125 | extern int apollo_parse_bootinfo(const struct bi_record *); | ||
119 | 126 | ||
120 | extern void config_amiga(void); | 127 | extern void config_amiga(void); |
121 | extern void config_atari(void); | 128 | extern void config_atari(void); |
@@ -183,6 +190,8 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record) | |||
183 | unknown = mvme147_parse_bootinfo(record); | 190 | unknown = mvme147_parse_bootinfo(record); |
184 | else if (MACH_IS_HP300) | 191 | else if (MACH_IS_HP300) |
185 | unknown = hp300_parse_bootinfo(record); | 192 | unknown = hp300_parse_bootinfo(record); |
193 | else if (MACH_IS_APOLLO) | ||
194 | unknown = apollo_parse_bootinfo(record); | ||
186 | else | 195 | else |
187 | unknown = 1; | 196 | unknown = 1; |
188 | } | 197 | } |
diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds index 7537cc5e6159..99b0784c0552 100644 --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds | |||
@@ -1,6 +1,7 @@ | |||
1 | /* ld script to make m68k Linux kernel */ | 1 | /* ld script to make m68k Linux kernel */ |
2 | 2 | ||
3 | #include <asm-generic/vmlinux.lds.h> | 3 | #include <asm-generic/vmlinux.lds.h> |
4 | #include <asm/page.h> | ||
4 | 5 | ||
5 | OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") | 6 | OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") |
6 | OUTPUT_ARCH(m68k) | 7 | OUTPUT_ARCH(m68k) |
@@ -41,7 +42,7 @@ SECTIONS | |||
41 | _edata = .; /* End of data section */ | 42 | _edata = .; /* End of data section */ |
42 | 43 | ||
43 | /* will be freed after init */ | 44 | /* will be freed after init */ |
44 | . = ALIGN(4096); /* Init code and data */ | 45 | . = ALIGN(PAGE_SIZE); /* Init code and data */ |
45 | __init_begin = .; | 46 | __init_begin = .; |
46 | .init.text : { | 47 | .init.text : { |
47 | _sinittext = .; | 48 | _sinittext = .; |
diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index cdc313e7c299..8a4919e4d36a 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds | |||
@@ -1,6 +1,7 @@ | |||
1 | /* ld script to make m68k Linux kernel */ | 1 | /* ld script to make m68k Linux kernel */ |
2 | 2 | ||
3 | #include <asm-generic/vmlinux.lds.h> | 3 | #include <asm-generic/vmlinux.lds.h> |
4 | #include <asm/page.h> | ||
4 | 5 | ||
5 | OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") | 6 | OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") |
6 | OUTPUT_ARCH(m68k) | 7 | OUTPUT_ARCH(m68k) |
@@ -34,7 +35,7 @@ SECTIONS | |||
34 | _edata = .; | 35 | _edata = .; |
35 | 36 | ||
36 | /* will be freed after init */ | 37 | /* will be freed after init */ |
37 | . = ALIGN(8192); /* Init code and data */ | 38 | . = ALIGN(PAGE_SIZE); /* Init code and data */ |
38 | __init_begin = .; | 39 | __init_begin = .; |
39 | .init.text : { | 40 | .init.text : { |
40 | _sinittext = .; | 41 | _sinittext = .; |
@@ -61,12 +62,12 @@ __init_begin = .; | |||
61 | } | 62 | } |
62 | SECURITY_INIT | 63 | SECURITY_INIT |
63 | #ifdef CONFIG_BLK_DEV_INITRD | 64 | #ifdef CONFIG_BLK_DEV_INITRD |
64 | . = ALIGN(8192); | 65 | . = ALIGN(PAGE_SIZE); |
65 | __initramfs_start = .; | 66 | __initramfs_start = .; |
66 | .init.ramfs : { *(.init.ramfs) } | 67 | .init.ramfs : { *(.init.ramfs) } |
67 | __initramfs_end = .; | 68 | __initramfs_end = .; |
68 | #endif | 69 | #endif |
69 | . = ALIGN(8192); | 70 | . = ALIGN(PAGE_SIZE); |
70 | __init_end = .; | 71 | __init_end = .; |
71 | .data.init.task : { *(.data.init_task) } | 72 | .data.init.task : { *(.data.init_task) } |
72 | 73 | ||
diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile index a18af095cd7c..af9abf8d9d98 100644 --- a/arch/m68k/lib/Makefile +++ b/arch/m68k/lib/Makefile | |||
@@ -2,7 +2,5 @@ | |||
2 | # Makefile for m68k-specific library files.. | 2 | # Makefile for m68k-specific library files.. |
3 | # | 3 | # |
4 | 4 | ||
5 | EXTRA_AFLAGS := -traditional | ||
6 | |||
7 | lib-y := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \ | 5 | lib-y := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \ |
8 | checksum.o string.o uaccess.o | 6 | checksum.o string.o uaccess.o |
diff --git a/arch/m68k/mac/Makefile b/arch/m68k/mac/Makefile index 1d265ba365ad..daebd80bdef0 100644 --- a/arch/m68k/mac/Makefile +++ b/arch/m68k/mac/Makefile | |||
@@ -2,5 +2,5 @@ | |||
2 | # Makefile for Linux arch/m68k/mac source directory | 2 | # Makefile for Linux arch/m68k/mac source directory |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := config.o bootparse.o macints.o iop.o via.o oss.o psc.o \ | 5 | obj-y := config.o macints.o iop.o via.o oss.o psc.o \ |
6 | baboon.o macboing.o debug.o misc.o | 6 | baboon.o macboing.o debug.o misc.o |
diff --git a/arch/m68k/mac/baboon.c b/arch/m68k/mac/baboon.c index 673a1085984d..dae9c982aa89 100644 --- a/arch/m68k/mac/baboon.c +++ b/arch/m68k/mac/baboon.c | |||
@@ -23,9 +23,7 @@ | |||
23 | /* #define DEBUG_IRQS */ | 23 | /* #define DEBUG_IRQS */ |
24 | 24 | ||
25 | int baboon_present; | 25 | int baboon_present; |
26 | volatile struct baboon *baboon; | 26 | static volatile struct baboon *baboon; |
27 | |||
28 | irqreturn_t baboon_irq(int, void *); | ||
29 | 27 | ||
30 | #if 0 | 28 | #if 0 |
31 | extern int macide_ack_intr(struct ata_channel *); | 29 | extern int macide_ack_intr(struct ata_channel *); |
@@ -50,20 +48,10 @@ void __init baboon_init(void) | |||
50 | } | 48 | } |
51 | 49 | ||
52 | /* | 50 | /* |
53 | * Register the Baboon interrupt dispatcher on nubus slot $C. | ||
54 | */ | ||
55 | |||
56 | void __init baboon_register_interrupts(void) | ||
57 | { | ||
58 | request_irq(IRQ_NUBUS_C, baboon_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST, | ||
59 | "baboon", (void *) baboon); | ||
60 | } | ||
61 | |||
62 | /* | ||
63 | * Baboon interrupt handler. This works a lot like a VIA. | 51 | * Baboon interrupt handler. This works a lot like a VIA. |
64 | */ | 52 | */ |
65 | 53 | ||
66 | irqreturn_t baboon_irq(int irq, void *dev_id) | 54 | static irqreturn_t baboon_irq(int irq, void *dev_id) |
67 | { | 55 | { |
68 | int irq_bit, irq_num; | 56 | int irq_bit, irq_num; |
69 | unsigned char events; | 57 | unsigned char events; |
@@ -95,6 +83,16 @@ irqreturn_t baboon_irq(int irq, void *dev_id) | |||
95 | return IRQ_HANDLED; | 83 | return IRQ_HANDLED; |
96 | } | 84 | } |
97 | 85 | ||
86 | /* | ||
87 | * Register the Baboon interrupt dispatcher on nubus slot $C. | ||
88 | */ | ||
89 | |||
90 | void __init baboon_register_interrupts(void) | ||
91 | { | ||
92 | request_irq(IRQ_NUBUS_C, baboon_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST, | ||
93 | "baboon", (void *) baboon); | ||
94 | } | ||
95 | |||
98 | void baboon_irq_enable(int irq) { | 96 | void baboon_irq_enable(int irq) { |
99 | #ifdef DEBUG_IRQUSE | 97 | #ifdef DEBUG_IRQUSE |
100 | printk("baboon_irq_enable(%d)\n", irq); | 98 | printk("baboon_irq_enable(%d)\n", irq); |
diff --git a/arch/m68k/mac/bootparse.c b/arch/m68k/mac/bootparse.c deleted file mode 100644 index 36d223609823..000000000000 --- a/arch/m68k/mac/bootparse.c +++ /dev/null | |||
@@ -1,122 +0,0 @@ | |||
1 | #include <linux/string.h> | ||
2 | #include <linux/kernel.h> | ||
3 | #include <linux/sched.h> | ||
4 | #include <asm/irq.h> | ||
5 | #include <asm/setup.h> | ||
6 | #include <asm/bootinfo.h> | ||
7 | #include <asm/macintosh.h> | ||
8 | |||
9 | /* | ||
10 | * Booter vars | ||
11 | */ | ||
12 | |||
13 | int boothowto; | ||
14 | int _boothowto; | ||
15 | |||
16 | /* | ||
17 | * Called early to parse the environment (passed to us from the booter) | ||
18 | * into a bootinfo struct. Will die as soon as we have our own booter | ||
19 | */ | ||
20 | |||
21 | #define atol(x) simple_strtoul(x,NULL,0) | ||
22 | |||
23 | void parse_booter(char *env) | ||
24 | { | ||
25 | char *name; | ||
26 | char *value; | ||
27 | #if 0 | ||
28 | while(0 && *env) | ||
29 | #else | ||
30 | while(*env) | ||
31 | #endif | ||
32 | { | ||
33 | name=env; | ||
34 | value=name; | ||
35 | while(*value!='='&&*value) | ||
36 | value++; | ||
37 | if(*value=='=') | ||
38 | *value++=0; | ||
39 | env=value; | ||
40 | while(*env) | ||
41 | env++; | ||
42 | env++; | ||
43 | #if 0 | ||
44 | if(strcmp(name,"VIDEO_ADDR")==0) | ||
45 | mac_mch.videoaddr=atol(value); | ||
46 | if(strcmp(name,"ROW_BYTES")==0) | ||
47 | mac_mch.videorow=atol(value); | ||
48 | if(strcmp(name,"SCREEN_DEPTH")==0) | ||
49 | mac_mch.videodepth=atol(value); | ||
50 | if(strcmp(name,"DIMENSIONS")==0) | ||
51 | mac_mch.dimensions=atol(value); | ||
52 | #endif | ||
53 | if(strcmp(name,"BOOTTIME")==0) | ||
54 | mac_bi_data.boottime=atol(value); | ||
55 | if(strcmp(name,"GMTBIAS")==0) | ||
56 | mac_bi_data.gmtbias=atol(value); | ||
57 | if(strcmp(name,"BOOTERVER")==0) | ||
58 | mac_bi_data.bootver=atol(value); | ||
59 | if(strcmp(name,"MACOS_VIDEO")==0) | ||
60 | mac_bi_data.videological=atol(value); | ||
61 | if(strcmp(name,"MACOS_SCC")==0) | ||
62 | mac_bi_data.sccbase=atol(value); | ||
63 | if(strcmp(name,"MACHINEID")==0) | ||
64 | mac_bi_data.id=atol(value); | ||
65 | if(strcmp(name,"MEMSIZE")==0) | ||
66 | mac_bi_data.memsize=atol(value); | ||
67 | if(strcmp(name,"SERIAL_MODEM_FLAGS")==0) | ||
68 | mac_bi_data.serialmf=atol(value); | ||
69 | if(strcmp(name,"SERIAL_MODEM_HSKICLK")==0) | ||
70 | mac_bi_data.serialhsk=atol(value); | ||
71 | if(strcmp(name,"SERIAL_MODEM_GPICLK")==0) | ||
72 | mac_bi_data.serialgpi=atol(value); | ||
73 | if(strcmp(name,"SERIAL_PRINT_FLAGS")==0) | ||
74 | mac_bi_data.printmf=atol(value); | ||
75 | if(strcmp(name,"SERIAL_PRINT_HSKICLK")==0) | ||
76 | mac_bi_data.printhsk=atol(value); | ||
77 | if(strcmp(name,"SERIAL_PRINT_GPICLK")==0) | ||
78 | mac_bi_data.printgpi=atol(value); | ||
79 | if(strcmp(name,"PROCESSOR")==0) | ||
80 | mac_bi_data.cpuid=atol(value); | ||
81 | if(strcmp(name,"ROMBASE")==0) | ||
82 | mac_bi_data.rombase=atol(value); | ||
83 | if(strcmp(name,"TIMEDBRA")==0) | ||
84 | mac_bi_data.timedbra=atol(value); | ||
85 | if(strcmp(name,"ADBDELAY")==0) | ||
86 | mac_bi_data.adbdelay=atol(value); | ||
87 | } | ||
88 | #if 0 /* XXX: TODO with m68k_mach_* */ | ||
89 | /* Fill in the base stuff */ | ||
90 | boot_info.machtype=MACH_MAC; | ||
91 | /* Read this from the macinfo we got ! */ | ||
92 | /* boot_info.cputype=CPU_68020|FPUB_68881;*/ | ||
93 | /* boot_info.memory[0].addr=0;*/ | ||
94 | /* boot_info.memory[0].size=((mac_bi_data.id>>7)&31)<<20;*/ | ||
95 | boot_info.num_memory=1; /* On a MacII */ | ||
96 | boot_info.ramdisk_size=0; /* For now */ | ||
97 | *boot_info.command_line=0; | ||
98 | #endif | ||
99 | } | ||
100 | |||
101 | |||
102 | void print_booter(char *env) | ||
103 | { | ||
104 | char *name; | ||
105 | char *value; | ||
106 | while(*env) | ||
107 | { | ||
108 | name=env; | ||
109 | value=name; | ||
110 | while(*value!='='&&*value) | ||
111 | value++; | ||
112 | if(*value=='=') | ||
113 | *value++=0; | ||
114 | env=value; | ||
115 | while(*env) | ||
116 | env++; | ||
117 | env++; | ||
118 | printk("%s=%s\n", name,value); | ||
119 | } | ||
120 | } | ||
121 | |||
122 | |||
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c index ad3e3bacae39..c45e18449f32 100644 --- a/arch/m68k/mac/config.c +++ b/arch/m68k/mac/config.c | |||
@@ -46,7 +46,6 @@ | |||
46 | /* Mac bootinfo struct */ | 46 | /* Mac bootinfo struct */ |
47 | 47 | ||
48 | struct mac_booter_data mac_bi_data; | 48 | struct mac_booter_data mac_bi_data; |
49 | int mac_bisize = sizeof mac_bi_data; | ||
50 | 49 | ||
51 | /* New m68k bootinfo stuff and videobase */ | 50 | /* New m68k bootinfo stuff and videobase */ |
52 | 51 | ||
@@ -55,10 +54,8 @@ extern struct mem_info m68k_memory[NUM_MEMINFO]; | |||
55 | 54 | ||
56 | extern struct mem_info m68k_ramdisk; | 55 | extern struct mem_info m68k_ramdisk; |
57 | 56 | ||
58 | void *mac_env; /* Loaded by the boot asm */ | ||
59 | |||
60 | /* The phys. video addr. - might be bogus on some machines */ | 57 | /* The phys. video addr. - might be bogus on some machines */ |
61 | unsigned long mac_orig_videoaddr; | 58 | static unsigned long mac_orig_videoaddr; |
62 | 59 | ||
63 | /* Mac specific timer functions */ | 60 | /* Mac specific timer functions */ |
64 | extern unsigned long mac_gettimeoffset(void); | 61 | extern unsigned long mac_gettimeoffset(void); |
@@ -79,6 +76,8 @@ extern void mac_mksound(unsigned int, unsigned int); | |||
79 | extern void nubus_sweep_video(void); | 76 | extern void nubus_sweep_video(void); |
80 | 77 | ||
81 | static void mac_get_model(char *str); | 78 | static void mac_get_model(char *str); |
79 | static void mac_identify(void); | ||
80 | static void mac_report_hardware(void); | ||
82 | 81 | ||
83 | static void __init mac_sched_init(irq_handler_t vector) | 82 | static void __init mac_sched_init(irq_handler_t vector) |
84 | { | 83 | { |
@@ -765,7 +764,7 @@ static struct mac_model mac_data_table[] = { | |||
765 | } | 764 | } |
766 | }; | 765 | }; |
767 | 766 | ||
768 | void __init mac_identify(void) | 767 | static void __init mac_identify(void) |
769 | { | 768 | { |
770 | struct mac_model *m; | 769 | struct mac_model *m; |
771 | 770 | ||
@@ -821,7 +820,7 @@ void __init mac_identify(void) | |||
821 | baboon_init(); | 820 | baboon_init(); |
822 | } | 821 | } |
823 | 822 | ||
824 | void __init mac_report_hardware(void) | 823 | static void __init mac_report_hardware(void) |
825 | { | 824 | { |
826 | printk(KERN_INFO "Apple Macintosh %s\n", macintosh_config->name); | 825 | printk(KERN_INFO "Apple Macintosh %s\n", macintosh_config->name); |
827 | } | 826 | } |
diff --git a/arch/m68k/mac/debug.c b/arch/m68k/mac/debug.c index e8a57138b4a6..2165740786a5 100644 --- a/arch/m68k/mac/debug.c +++ b/arch/m68k/mac/debug.c | |||
@@ -51,6 +51,8 @@ extern void mac_serial_print(const char *); | |||
51 | static int peng, line; | 51 | static int peng, line; |
52 | #endif | 52 | #endif |
53 | 53 | ||
54 | #if 0 | ||
55 | |||
54 | void mac_debugging_short(int pos, short num) | 56 | void mac_debugging_short(int pos, short num) |
55 | { | 57 | { |
56 | #ifdef DEBUG_SCREEN | 58 | #ifdef DEBUG_SCREEN |
@@ -125,6 +127,8 @@ void mac_debugging_long(int pos, long addr) | |||
125 | #endif | 127 | #endif |
126 | } | 128 | } |
127 | 129 | ||
130 | #endif /* 0 */ | ||
131 | |||
128 | #ifdef DEBUG_SERIAL | 132 | #ifdef DEBUG_SERIAL |
129 | /* | 133 | /* |
130 | * TODO: serial debug code | 134 | * TODO: serial debug code |
@@ -142,12 +146,6 @@ struct mac_SCC { | |||
142 | 146 | ||
143 | # define scc (*((volatile struct mac_SCC*)mac_bi_data.sccbase)) | 147 | # define scc (*((volatile struct mac_SCC*)mac_bi_data.sccbase)) |
144 | 148 | ||
145 | /* Flag that serial port is already initialized and used */ | ||
146 | int mac_SCC_init_done; | ||
147 | /* Can be set somewhere, if a SCC master reset has already be done and should | ||
148 | * not be repeated; used by kgdb */ | ||
149 | int mac_SCC_reset_done; | ||
150 | |||
151 | static int scc_port = -1; | 149 | static int scc_port = -1; |
152 | 150 | ||
153 | static struct console mac_console_driver = { | 151 | static struct console mac_console_driver = { |
@@ -171,8 +169,8 @@ static struct console mac_console_driver = { | |||
171 | * this driver if Mac. | 169 | * this driver if Mac. |
172 | */ | 170 | */ |
173 | 171 | ||
174 | void mac_debug_console_write(struct console *co, const char *str, | 172 | static void mac_debug_console_write(struct console *co, const char *str, |
175 | unsigned int count) | 173 | unsigned int count) |
176 | { | 174 | { |
177 | mac_serial_print(str); | 175 | mac_serial_print(str); |
178 | } | 176 | } |
@@ -209,8 +207,8 @@ static inline void mac_scca_out(char c) | |||
209 | scc.cha_a_data = c; | 207 | scc.cha_a_data = c; |
210 | } | 208 | } |
211 | 209 | ||
212 | void mac_sccb_console_write(struct console *co, const char *str, | 210 | static void mac_sccb_console_write(struct console *co, const char *str, |
213 | unsigned int count) | 211 | unsigned int count) |
214 | { | 212 | { |
215 | while (count--) { | 213 | while (count--) { |
216 | if (*str == '\n') | 214 | if (*str == '\n') |
@@ -219,8 +217,8 @@ void mac_sccb_console_write(struct console *co, const char *str, | |||
219 | } | 217 | } |
220 | } | 218 | } |
221 | 219 | ||
222 | void mac_scca_console_write(struct console *co, const char *str, | 220 | static void mac_scca_console_write(struct console *co, const char *str, |
223 | unsigned int count) | 221 | unsigned int count) |
224 | { | 222 | { |
225 | while (count--) { | 223 | while (count--) { |
226 | if (*str == '\n') | 224 | if (*str == '\n') |
@@ -265,14 +263,8 @@ void mac_scca_console_write(struct console *co, const char *str, | |||
265 | barrier(); \ | 263 | barrier(); \ |
266 | } while(0) | 264 | } while(0) |
267 | 265 | ||
268 | #ifndef CONFIG_SERIAL_CONSOLE | ||
269 | static void __init mac_init_scc_port(int cflag, int port) | 266 | static void __init mac_init_scc_port(int cflag, int port) |
270 | #else | ||
271 | void mac_init_scc_port(int cflag, int port) | ||
272 | #endif | ||
273 | { | 267 | { |
274 | extern int mac_SCC_reset_done; | ||
275 | |||
276 | /* | 268 | /* |
277 | * baud rates: 1200, 1800, 2400, 4800, 9600, 19.2k, 38.4k, 57.6k, 115.2k | 269 | * baud rates: 1200, 1800, 2400, 4800, 9600, 19.2k, 38.4k, 57.6k, 115.2k |
278 | */ | 270 | */ |
@@ -340,22 +332,9 @@ void mac_init_scc_port(int cflag, int port) | |||
340 | SCCA_WRITE(3, reg3 | 1); | 332 | SCCA_WRITE(3, reg3 | 1); |
341 | SCCA_WRITE(5, reg5 | 8); | 333 | SCCA_WRITE(5, reg5 | 8); |
342 | } | 334 | } |
343 | |||
344 | mac_SCC_reset_done = 1; | ||
345 | mac_SCC_init_done = 1; | ||
346 | } | 335 | } |
347 | #endif /* DEBUG_SERIAL */ | 336 | #endif /* DEBUG_SERIAL */ |
348 | 337 | ||
349 | void mac_init_scca_port(int cflag) | ||
350 | { | ||
351 | mac_init_scc_port(cflag, 0); | ||
352 | } | ||
353 | |||
354 | void mac_init_sccb_port(int cflag) | ||
355 | { | ||
356 | mac_init_scc_port(cflag, 1); | ||
357 | } | ||
358 | |||
359 | static int __init mac_debug_setup(char *arg) | 338 | static int __init mac_debug_setup(char *arg) |
360 | { | 339 | { |
361 | if (!MACH_IS_MAC) | 340 | if (!MACH_IS_MAC) |
diff --git a/arch/m68k/mac/oss.c b/arch/m68k/mac/oss.c index 3c943d2ec570..43d83e054b8e 100644 --- a/arch/m68k/mac/oss.c +++ b/arch/m68k/mac/oss.c | |||
@@ -30,8 +30,8 @@ | |||
30 | int oss_present; | 30 | int oss_present; |
31 | volatile struct mac_oss *oss; | 31 | volatile struct mac_oss *oss; |
32 | 32 | ||
33 | irqreturn_t oss_irq(int, void *); | 33 | static irqreturn_t oss_irq(int, void *); |
34 | irqreturn_t oss_nubus_irq(int, void *); | 34 | static irqreturn_t oss_nubus_irq(int, void *); |
35 | 35 | ||
36 | extern irqreturn_t via1_irq(int, void *); | 36 | extern irqreturn_t via1_irq(int, void *); |
37 | extern irqreturn_t mac_scc_dispatch(int, void *); | 37 | extern irqreturn_t mac_scc_dispatch(int, void *); |
@@ -92,7 +92,7 @@ void __init oss_nubus_init(void) | |||
92 | * and SCSI; everything else is routed to its own autovector IRQ. | 92 | * and SCSI; everything else is routed to its own autovector IRQ. |
93 | */ | 93 | */ |
94 | 94 | ||
95 | irqreturn_t oss_irq(int irq, void *dev_id) | 95 | static irqreturn_t oss_irq(int irq, void *dev_id) |
96 | { | 96 | { |
97 | int events; | 97 | int events; |
98 | 98 | ||
@@ -126,7 +126,7 @@ irqreturn_t oss_irq(int irq, void *dev_id) | |||
126 | * Unlike the VIA/RBV this is on its own autovector interrupt level. | 126 | * Unlike the VIA/RBV this is on its own autovector interrupt level. |
127 | */ | 127 | */ |
128 | 128 | ||
129 | irqreturn_t oss_nubus_irq(int irq, void *dev_id) | 129 | static irqreturn_t oss_nubus_irq(int irq, void *dev_id) |
130 | { | 130 | { |
131 | int events, irq_bit, i; | 131 | int events, irq_bit, i; |
132 | 132 | ||
diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c index d66f723b17c3..f84a4dd64f94 100644 --- a/arch/m68k/mac/psc.c +++ b/arch/m68k/mac/psc.c | |||
@@ -36,7 +36,7 @@ irqreturn_t psc_irq(int, void *); | |||
36 | * Debugging dump, used in various places to see what's going on. | 36 | * Debugging dump, used in various places to see what's going on. |
37 | */ | 37 | */ |
38 | 38 | ||
39 | void psc_debug_dump(void) | 39 | static void psc_debug_dump(void) |
40 | { | 40 | { |
41 | int i; | 41 | int i; |
42 | 42 | ||
@@ -55,7 +55,7 @@ void psc_debug_dump(void) | |||
55 | * expanded to cover what I think are the other 7 channels. | 55 | * expanded to cover what I think are the other 7 channels. |
56 | */ | 56 | */ |
57 | 57 | ||
58 | void psc_dma_die_die_die(void) | 58 | static void psc_dma_die_die_die(void) |
59 | { | 59 | { |
60 | int i; | 60 | int i; |
61 | 61 | ||
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index fa485df4160e..f3b27d04a31f 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c | |||
@@ -45,7 +45,7 @@ volatile long *via_memory_bogon=(long *)&via_memory_bogon; | |||
45 | int rbv_present; | 45 | int rbv_present; |
46 | int via_alt_mapping; | 46 | int via_alt_mapping; |
47 | EXPORT_SYMBOL(via_alt_mapping); | 47 | EXPORT_SYMBOL(via_alt_mapping); |
48 | __u8 rbv_clear; | 48 | static __u8 rbv_clear; |
49 | 49 | ||
50 | /* | 50 | /* |
51 | * Globals for accessing the VIA chip registers without having to | 51 | * Globals for accessing the VIA chip registers without having to |
diff --git a/arch/m68k/math-emu/Makefile b/arch/m68k/math-emu/Makefile index 539940401814..a0935bf98362 100644 --- a/arch/m68k/math-emu/Makefile +++ b/arch/m68k/math-emu/Makefile | |||
@@ -2,8 +2,6 @@ | |||
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | 4 | ||
5 | EXTRA_AFLAGS := -traditional | ||
6 | |||
7 | #EXTRA_AFLAGS += -DFPU_EMU_DEBUG | 5 | #EXTRA_AFLAGS += -DFPU_EMU_DEBUG |
8 | #EXTRA_CFLAGS += -DFPU_EMU_DEBUG | 6 | #EXTRA_CFLAGS += -DFPU_EMU_DEBUG |
9 | 7 | ||
diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c index 30d34f285024..226795bdf355 100644 --- a/arch/m68k/mm/motorola.c +++ b/arch/m68k/mm/motorola.c | |||
@@ -285,7 +285,6 @@ void __init paging_init(void) | |||
285 | * to a couple of allocated pages | 285 | * to a couple of allocated pages |
286 | */ | 286 | */ |
287 | empty_zero_page = alloc_bootmem_pages(PAGE_SIZE); | 287 | empty_zero_page = alloc_bootmem_pages(PAGE_SIZE); |
288 | memset(empty_zero_page, 0, PAGE_SIZE); | ||
289 | 288 | ||
290 | /* | 289 | /* |
291 | * Set up SFC/DFC registers | 290 | * Set up SFC/DFC registers |
diff --git a/arch/m68k/mm/sun3mmu.c b/arch/m68k/mm/sun3mmu.c index 6a6513aa1ce8..edceefc18870 100644 --- a/arch/m68k/mm/sun3mmu.c +++ b/arch/m68k/mm/sun3mmu.c | |||
@@ -53,7 +53,6 @@ void __init paging_init(void) | |||
53 | wp_works_ok = 0; | 53 | wp_works_ok = 0; |
54 | #endif | 54 | #endif |
55 | empty_zero_page = alloc_bootmem_pages(PAGE_SIZE); | 55 | empty_zero_page = alloc_bootmem_pages(PAGE_SIZE); |
56 | memset(empty_zero_page, 0, PAGE_SIZE); | ||
57 | 56 | ||
58 | address = PAGE_OFFSET; | 57 | address = PAGE_OFFSET; |
59 | pg_dir = swapper_pg_dir; | 58 | pg_dir = swapper_pg_dir; |
diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c index 476e18eca758..be9de2f3dc48 100644 --- a/arch/m68k/q40/config.c +++ b/arch/m68k/q40/config.c | |||
@@ -41,14 +41,12 @@ static void q40_get_model(char *model); | |||
41 | static int q40_get_hardware_list(char *buffer); | 41 | static int q40_get_hardware_list(char *buffer); |
42 | extern void q40_sched_init(irq_handler_t handler); | 42 | extern void q40_sched_init(irq_handler_t handler); |
43 | 43 | ||
44 | extern unsigned long q40_gettimeoffset(void); | 44 | static unsigned long q40_gettimeoffset(void); |
45 | extern int q40_hwclk(int, struct rtc_time *); | 45 | static int q40_hwclk(int, struct rtc_time *); |
46 | extern unsigned int q40_get_ss(void); | 46 | static unsigned int q40_get_ss(void); |
47 | extern int q40_set_clock_mmss(unsigned long); | 47 | static int q40_set_clock_mmss(unsigned long); |
48 | static int q40_get_rtc_pll(struct rtc_pll_info *pll); | 48 | static int q40_get_rtc_pll(struct rtc_pll_info *pll); |
49 | static int q40_set_rtc_pll(struct rtc_pll_info *pll); | 49 | static int q40_set_rtc_pll(struct rtc_pll_info *pll); |
50 | extern void q40_reset(void); | ||
51 | void q40_halt(void); | ||
52 | extern void q40_waitbut(void); | 50 | extern void q40_waitbut(void); |
53 | void q40_set_vectors(void); | 51 | void q40_set_vectors(void); |
54 | 52 | ||
@@ -127,7 +125,7 @@ static void q40_heartbeat(int on) | |||
127 | } | 125 | } |
128 | #endif | 126 | #endif |
129 | 127 | ||
130 | void q40_reset(void) | 128 | static void q40_reset(void) |
131 | { | 129 | { |
132 | halted = 1; | 130 | halted = 1; |
133 | printk("\n\n*******************************************\n" | 131 | printk("\n\n*******************************************\n" |
@@ -137,7 +135,8 @@ void q40_reset(void) | |||
137 | while (1) | 135 | while (1) |
138 | ; | 136 | ; |
139 | } | 137 | } |
140 | void q40_halt(void) | 138 | |
139 | static void q40_halt(void) | ||
141 | { | 140 | { |
142 | halted = 1; | 141 | halted = 1; |
143 | printk("\n\n*******************\n" | 142 | printk("\n\n*******************\n" |
@@ -165,7 +164,8 @@ static unsigned int serports[] = | |||
165 | { | 164 | { |
166 | 0x3f8,0x2f8,0x3e8,0x2e8,0 | 165 | 0x3f8,0x2f8,0x3e8,0x2e8,0 |
167 | }; | 166 | }; |
168 | void q40_disable_irqs(void) | 167 | |
168 | static void q40_disable_irqs(void) | ||
169 | { | 169 | { |
170 | unsigned i, j; | 170 | unsigned i, j; |
171 | 171 | ||
@@ -227,7 +227,7 @@ static inline unsigned char bin2bcd(unsigned char b) | |||
227 | } | 227 | } |
228 | 228 | ||
229 | 229 | ||
230 | unsigned long q40_gettimeoffset(void) | 230 | static unsigned long q40_gettimeoffset(void) |
231 | { | 231 | { |
232 | return 5000 * (ql_ticks != 0); | 232 | return 5000 * (ql_ticks != 0); |
233 | } | 233 | } |
@@ -248,7 +248,7 @@ unsigned long q40_gettimeoffset(void) | |||
248 | * }; | 248 | * }; |
249 | */ | 249 | */ |
250 | 250 | ||
251 | int q40_hwclk(int op, struct rtc_time *t) | 251 | static int q40_hwclk(int op, struct rtc_time *t) |
252 | { | 252 | { |
253 | if (op) { | 253 | if (op) { |
254 | /* Write.... */ | 254 | /* Write.... */ |
@@ -285,7 +285,7 @@ int q40_hwclk(int op, struct rtc_time *t) | |||
285 | return 0; | 285 | return 0; |
286 | } | 286 | } |
287 | 287 | ||
288 | unsigned int q40_get_ss(void) | 288 | static unsigned int q40_get_ss(void) |
289 | { | 289 | { |
290 | return bcd2bin(Q40_RTC_SECS); | 290 | return bcd2bin(Q40_RTC_SECS); |
291 | } | 291 | } |
@@ -295,7 +295,7 @@ unsigned int q40_get_ss(void) | |||
295 | * clock is out by > 30 minutes. Logic lifted from atari code. | 295 | * clock is out by > 30 minutes. Logic lifted from atari code. |
296 | */ | 296 | */ |
297 | 297 | ||
298 | int q40_set_clock_mmss(unsigned long nowtime) | 298 | static int q40_set_clock_mmss(unsigned long nowtime) |
299 | { | 299 | { |
300 | int retval = 0; | 300 | int retval = 0; |
301 | short real_seconds = nowtime % 60, real_minutes = (nowtime / 60) % 60; | 301 | short real_seconds = nowtime % 60, real_minutes = (nowtime / 60) % 60; |
diff --git a/arch/m68k/sun3/Makefile b/arch/m68k/sun3/Makefile index be1a8470d636..38ba0e0cedad 100644 --- a/arch/m68k/sun3/Makefile +++ b/arch/m68k/sun3/Makefile | |||
@@ -2,6 +2,6 @@ | |||
2 | # Makefile for Linux arch/m68k/sun3 source directory | 2 | # Makefile for Linux arch/m68k/sun3 source directory |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := sun3ints.o sun3dvma.o sbus.o idprom.o | 5 | obj-y := sun3ints.o sun3dvma.o idprom.o |
6 | 6 | ||
7 | obj-$(CONFIG_SUN3) += config.o mmu_emu.o leds.o dvma.o intersil.o | 7 | obj-$(CONFIG_SUN3) += config.o mmu_emu.o leds.o dvma.o intersil.o |
diff --git a/arch/m68k/sun3/config.c b/arch/m68k/sun3/config.c index c0fbd278fbb1..732087d0735c 100644 --- a/arch/m68k/sun3/config.c +++ b/arch/m68k/sun3/config.c | |||
@@ -36,7 +36,7 @@ extern char _text, _end; | |||
36 | char sun3_reserved_pmeg[SUN3_PMEGS_NUM]; | 36 | char sun3_reserved_pmeg[SUN3_PMEGS_NUM]; |
37 | 37 | ||
38 | extern unsigned long sun3_gettimeoffset(void); | 38 | extern unsigned long sun3_gettimeoffset(void); |
39 | extern void sun3_sched_init(irq_handler_t handler); | 39 | static void sun3_sched_init(irq_handler_t handler); |
40 | extern void sun3_get_model (char* model); | 40 | extern void sun3_get_model (char* model); |
41 | extern void idprom_init (void); | 41 | extern void idprom_init (void); |
42 | extern int sun3_hwclk(int set, struct rtc_time *t); | 42 | extern int sun3_hwclk(int set, struct rtc_time *t); |
@@ -114,7 +114,8 @@ static void sun3_halt (void) | |||
114 | 114 | ||
115 | /* sun3 bootmem allocation */ | 115 | /* sun3 bootmem allocation */ |
116 | 116 | ||
117 | void __init sun3_bootmem_alloc(unsigned long memory_start, unsigned long memory_end) | 117 | static void __init sun3_bootmem_alloc(unsigned long memory_start, |
118 | unsigned long memory_end) | ||
118 | { | 119 | { |
119 | unsigned long start_page; | 120 | unsigned long start_page; |
120 | 121 | ||
@@ -164,7 +165,7 @@ void __init config_sun3(void) | |||
164 | sun3_bootmem_alloc(memory_start, memory_end); | 165 | sun3_bootmem_alloc(memory_start, memory_end); |
165 | } | 166 | } |
166 | 167 | ||
167 | void __init sun3_sched_init(irq_handler_t timer_routine) | 168 | static void __init sun3_sched_init(irq_handler_t timer_routine) |
168 | { | 169 | { |
169 | sun3_disable_interrupts(); | 170 | sun3_disable_interrupts(); |
170 | intersil_clock->cmd_reg=(INTERSIL_RUN|INTERSIL_INT_DISABLE|INTERSIL_24H_MODE); | 171 | intersil_clock->cmd_reg=(INTERSIL_RUN|INTERSIL_INT_DISABLE|INTERSIL_24H_MODE); |
diff --git a/arch/m68k/sun3/dvma.c b/arch/m68k/sun3/dvma.c index d2b3093f2405..d522eaab4551 100644 --- a/arch/m68k/sun3/dvma.c +++ b/arch/m68k/sun3/dvma.c | |||
@@ -19,7 +19,7 @@ | |||
19 | 19 | ||
20 | static unsigned long ptelist[120]; | 20 | static unsigned long ptelist[120]; |
21 | 21 | ||
22 | inline unsigned long dvma_page(unsigned long kaddr, unsigned long vaddr) | 22 | static unsigned long dvma_page(unsigned long kaddr, unsigned long vaddr) |
23 | { | 23 | { |
24 | unsigned long pte; | 24 | unsigned long pte; |
25 | unsigned long j; | 25 | unsigned long j; |
diff --git a/arch/m68k/sun3/idprom.c b/arch/m68k/sun3/idprom.c index dca6ab6a4ede..c86ac37d1983 100644 --- a/arch/m68k/sun3/idprom.c +++ b/arch/m68k/sun3/idprom.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: idprom.c,v 1.22 1996/11/13 05:09:25 davem Exp $ | 1 | /* |
2 | * idprom.c: Routines to load the idprom into kernel addresses and | 2 | * idprom.c: Routines to load the idprom into kernel addresses and |
3 | * interpret the data contained within. | 3 | * interpret the data contained within. |
4 | * | 4 | * |
@@ -25,7 +25,7 @@ static struct idprom idprom_buffer; | |||
25 | * of the Sparc CPU and have a meaningful IDPROM machtype value that we | 25 | * of the Sparc CPU and have a meaningful IDPROM machtype value that we |
26 | * know about. See asm-sparc/machines.h for empirical constants. | 26 | * know about. See asm-sparc/machines.h for empirical constants. |
27 | */ | 27 | */ |
28 | struct Sun_Machine_Models Sun_Machines[NUM_SUN_MACHINES] = { | 28 | static struct Sun_Machine_Models Sun_Machines[NUM_SUN_MACHINES] = { |
29 | /* First, Sun3's */ | 29 | /* First, Sun3's */ |
30 | { .name = "Sun 3/160 Series", .id_machtype = (SM_SUN3 | SM_3_160) }, | 30 | { .name = "Sun 3/160 Series", .id_machtype = (SM_SUN3 | SM_3_160) }, |
31 | { .name = "Sun 3/50", .id_machtype = (SM_SUN3 | SM_3_50) }, | 31 | { .name = "Sun 3/50", .id_machtype = (SM_SUN3 | SM_3_50) }, |
diff --git a/arch/m68k/sun3/mmu_emu.c b/arch/m68k/sun3/mmu_emu.c index fb0f6a20cc3c..60f9d4500d72 100644 --- a/arch/m68k/sun3/mmu_emu.c +++ b/arch/m68k/sun3/mmu_emu.c | |||
@@ -55,7 +55,7 @@ unsigned char pmeg_ctx[PMEGS_NUM]; | |||
55 | 55 | ||
56 | /* pointers to the mm structs for each task in each | 56 | /* pointers to the mm structs for each task in each |
57 | context. 0xffffffff is a marker for kernel context */ | 57 | context. 0xffffffff is a marker for kernel context */ |
58 | struct mm_struct *ctx_alloc[CONTEXTS_NUM] = { | 58 | static struct mm_struct *ctx_alloc[CONTEXTS_NUM] = { |
59 | [0] = (struct mm_struct *)0xffffffff | 59 | [0] = (struct mm_struct *)0xffffffff |
60 | }; | 60 | }; |
61 | 61 | ||
diff --git a/arch/m68k/sun3/prom/Makefile b/arch/m68k/sun3/prom/Makefile index 6e48ae2a7175..da7eac06bca0 100644 --- a/arch/m68k/sun3/prom/Makefile +++ b/arch/m68k/sun3/prom/Makefile | |||
@@ -1,4 +1,3 @@ | |||
1 | # $Id: Makefile,v 1.5 1995/11/25 00:59:48 davem Exp $ | ||
2 | # Makefile for the Sun Boot PROM interface library under | 1 | # Makefile for the Sun Boot PROM interface library under |
3 | # Linux. | 2 | # Linux. |
4 | # | 3 | # |
diff --git a/arch/m68k/sun3/prom/console.c b/arch/m68k/sun3/prom/console.c index 52c1427863de..2bcb6e4bfe54 100644 --- a/arch/m68k/sun3/prom/console.c +++ b/arch/m68k/sun3/prom/console.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: console.c,v 1.10 1996/12/18 06:46:54 tridge Exp $ | 1 | /* |
2 | * console.c: Routines that deal with sending and receiving IO | 2 | * console.c: Routines that deal with sending and receiving IO |
3 | * to/from the current console device using the PROM. | 3 | * to/from the current console device using the PROM. |
4 | * | 4 | * |
@@ -104,8 +104,6 @@ prom_query_input_device() | |||
104 | return PROMDEV_ITTYB; | 104 | return PROMDEV_ITTYB; |
105 | } | 105 | } |
106 | return PROMDEV_I_UNK; | 106 | return PROMDEV_I_UNK; |
107 | case PROM_AP1000: | ||
108 | return PROMDEV_I_UNK; | ||
109 | }; | 107 | }; |
110 | } | 108 | } |
111 | #endif | 109 | #endif |
@@ -166,8 +164,6 @@ prom_query_output_device() | |||
166 | }; | 164 | }; |
167 | } | 165 | } |
168 | break; | 166 | break; |
169 | case PROM_AP1000: | ||
170 | return PROMDEV_I_UNK; | ||
171 | }; | 167 | }; |
172 | return PROMDEV_O_UNK; | 168 | return PROMDEV_O_UNK; |
173 | } | 169 | } |
diff --git a/arch/m68k/sun3/prom/init.c b/arch/m68k/sun3/prom/init.c index 202adfcc316e..d8e6349336b4 100644 --- a/arch/m68k/sun3/prom/init.c +++ b/arch/m68k/sun3/prom/init.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: init.c,v 1.9 1996/12/18 06:46:55 tridge Exp $ | 1 | /* |
2 | * init.c: Initialize internal variables used by the PROM | 2 | * init.c: Initialize internal variables used by the PROM |
3 | * library functions. | 3 | * library functions. |
4 | * | 4 | * |
@@ -31,11 +31,6 @@ extern void prom_ranges_init(void); | |||
31 | 31 | ||
32 | void __init prom_init(struct linux_romvec *rp) | 32 | void __init prom_init(struct linux_romvec *rp) |
33 | { | 33 | { |
34 | #ifdef CONFIG_AP1000 | ||
35 | extern struct linux_romvec *ap_prom_init(void); | ||
36 | rp = ap_prom_init(); | ||
37 | #endif | ||
38 | |||
39 | romvec = rp; | 34 | romvec = rp; |
40 | #ifndef CONFIG_SUN3 | 35 | #ifndef CONFIG_SUN3 |
41 | switch(romvec->pv_romvers) { | 36 | switch(romvec->pv_romvers) { |
@@ -53,10 +48,6 @@ void __init prom_init(struct linux_romvec *rp) | |||
53 | prom_printf("PROMLIB: Sun IEEE Prom not supported yet\n"); | 48 | prom_printf("PROMLIB: Sun IEEE Prom not supported yet\n"); |
54 | prom_halt(); | 49 | prom_halt(); |
55 | break; | 50 | break; |
56 | case 42: /* why not :-) */ | ||
57 | prom_vers = PROM_AP1000; | ||
58 | break; | ||
59 | |||
60 | default: | 51 | default: |
61 | prom_printf("PROMLIB: Bad PROM version %d\n", | 52 | prom_printf("PROMLIB: Bad PROM version %d\n", |
62 | romvec->pv_romvers); | 53 | romvec->pv_romvers); |
diff --git a/arch/m68k/sun3/prom/misc.c b/arch/m68k/sun3/prom/misc.c index b88716f2c68c..3d60e1337f75 100644 --- a/arch/m68k/sun3/prom/misc.c +++ b/arch/m68k/sun3/prom/misc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: misc.c,v 1.15 1997/05/14 20:45:00 davem Exp $ | 1 | /* |
2 | * misc.c: Miscellaneous prom functions that don't belong | 2 | * misc.c: Miscellaneous prom functions that don't belong |
3 | * anywhere else. | 3 | * anywhere else. |
4 | * | 4 | * |
diff --git a/arch/m68k/sun3/prom/printf.c b/arch/m68k/sun3/prom/printf.c index e7bfde377b5e..df85018f487a 100644 --- a/arch/m68k/sun3/prom/printf.c +++ b/arch/m68k/sun3/prom/printf.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $Id: printf.c,v 1.5 1996/04/04 16:31:07 tridge Exp $ | 1 | /* |
2 | * printf.c: Internal prom library printf facility. | 2 | * printf.c: Internal prom library printf facility. |
3 | * | 3 | * |
4 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | 4 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) |
@@ -37,10 +37,6 @@ prom_printf(char *fmt, ...) | |||
37 | 37 | ||
38 | bptr = ppbuf; | 38 | bptr = ppbuf; |
39 | 39 | ||
40 | #ifdef CONFIG_AP1000 | ||
41 | ap_write(1,bptr,strlen(bptr)); | ||
42 | #else | ||
43 | |||
44 | #ifdef CONFIG_KGDB | 40 | #ifdef CONFIG_KGDB |
45 | if (kgdb_initialized) { | 41 | if (kgdb_initialized) { |
46 | printk("kgdb_initialized = %d\n", kgdb_initialized); | 42 | printk("kgdb_initialized = %d\n", kgdb_initialized); |
@@ -54,7 +50,6 @@ prom_printf(char *fmt, ...) | |||
54 | prom_putchar(ch); | 50 | prom_putchar(ch); |
55 | } | 51 | } |
56 | #endif | 52 | #endif |
57 | #endif | ||
58 | va_end(args); | 53 | va_end(args); |
59 | return; | 54 | return; |
60 | } | 55 | } |
diff --git a/arch/m68k/sun3/sbus.c b/arch/m68k/sun3/sbus.c deleted file mode 100644 index babdbfa3cda7..000000000000 --- a/arch/m68k/sun3/sbus.c +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | /* | ||
2 | * SBus helper functions | ||
3 | * | ||
4 | * Sun3 don't have a sbus, but many of the used devices are also | ||
5 | * used on Sparc machines with sbus. To avoid having a lot of | ||
6 | * duplicate code, we provide necessary glue stuff to make using | ||
7 | * of the sbus driver code possible. | ||
8 | * | ||
9 | * (C) 1999 Thomas Bogendoerfer (tsbogend@alpha.franken.de) | ||
10 | */ | ||
11 | |||
12 | #include <linux/types.h> | ||
13 | #include <linux/compiler.h> | ||
14 | #include <linux/init.h> | ||
15 | |||
16 | int __init sbus_init(void) | ||
17 | { | ||
18 | return 0; | ||
19 | } | ||
20 | |||
21 | void *sparc_alloc_io (u32 address, void *virtual, int len, char *name, | ||
22 | u32 bus_type, int rdonly) | ||
23 | { | ||
24 | return (void *)address; | ||
25 | } | ||
26 | |||
27 | subsys_initcall(sbus_init); | ||
diff --git a/arch/m68k/sun3/sun3dvma.c b/arch/m68k/sun3/sun3dvma.c index 8709677fa025..f9277e8b4159 100644 --- a/arch/m68k/sun3/sun3dvma.c +++ b/arch/m68k/sun3/sun3dvma.c | |||
@@ -29,7 +29,7 @@ static inline void dvma_unmap_iommu(unsigned long a, int b) | |||
29 | extern void sun3_dvma_init(void); | 29 | extern void sun3_dvma_init(void); |
30 | #endif | 30 | #endif |
31 | 31 | ||
32 | unsigned long iommu_use[IOMMU_TOTAL_ENTRIES]; | 32 | static unsigned long iommu_use[IOMMU_TOTAL_ENTRIES]; |
33 | 33 | ||
34 | #define dvma_index(baddr) ((baddr - DVMA_START) >> DVMA_PAGE_SHIFT) | 34 | #define dvma_index(baddr) ((baddr - DVMA_START) >> DVMA_PAGE_SHIFT) |
35 | 35 | ||
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c index cf93481adb1d..7364cd67455e 100644 --- a/arch/m68k/sun3/sun3ints.c +++ b/arch/m68k/sun3/sun3ints.c | |||
@@ -30,7 +30,7 @@ void sun3_enable_interrupts(void) | |||
30 | sun3_enable_irq(0); | 30 | sun3_enable_irq(0); |
31 | } | 31 | } |
32 | 32 | ||
33 | int led_pattern[8] = { | 33 | static int led_pattern[8] = { |
34 | ~(0x80), ~(0x01), | 34 | ~(0x80), ~(0x01), |
35 | ~(0x40), ~(0x02), | 35 | ~(0x40), ~(0x02), |
36 | ~(0x20), ~(0x04), | 36 | ~(0x20), ~(0x04), |