1 /* 2 * linux/arch/m68k/hp300/config.c 3 * 4 * Copyright (C) 1998 Philip Blundell <philb@gnu.org> 5 * 6 * This file contains the HP300-specific initialisation code. It gets 7 * called by setup.c. 8 */ 9 10 #include <linux/config.h> 11 #include <linux/types.h> 12 #include <linux/mm.h> 13 #include <linux/kd.h> 14 #include <linux/tty.h> 15 #include <linux/console.h> 16 #include <linux/interrupt.h> 17 #include <linux/init.h> 18 #include <asm/machdep.h> 19 #include <asm/blinken.h> 20 #include <asm/hwtest.h> /* hwreg_present() */ 21 22 #include "ints.h" 23 #include "time.h" 24 25 extern void hp300_reset(void); 26 extern void (*hp300_default_handler[])(int, void *, struct pt_regs *); 27 extern int hp300_get_irq_list(char *buf); 28 29 #ifdef CONFIG_VT 30 extern int hp300_keyb_init(void); hp300_kbdrate(struct kbd_repeat * k)31static int hp300_kbdrate(struct kbd_repeat *k) 32 { 33 return 0; 34 } 35 #endif 36 37 #ifdef CONFIG_HEARTBEAT hp300_pulse(int x)38static void hp300_pulse(int x) 39 { 40 if (x) 41 blinken_leds(0xfe); 42 else 43 blinken_leds(0xff); 44 } 45 #endif 46 hp300_get_model(char * model)47static void hp300_get_model(char *model) 48 { 49 strcpy(model, "HP9000/300"); 50 } 51 config_hp300(void)52void __init config_hp300(void) 53 { 54 mach_sched_init = hp300_sched_init; 55 #ifdef CONFIG_VT 56 mach_keyb_init = hp300_keyb_init; 57 mach_kbdrate = hp300_kbdrate; 58 #endif 59 mach_init_IRQ = hp300_init_IRQ; 60 mach_request_irq = hp300_request_irq; 61 mach_free_irq = hp300_free_irq; 62 mach_get_model = hp300_get_model; 63 mach_get_irq_list = hp300_get_irq_list; 64 mach_gettimeoffset = hp300_gettimeoffset; 65 mach_default_handler = &hp300_default_handler; 66 #if 0 67 mach_gettod = hp300_gettod; 68 #endif 69 mach_reset = hp300_reset; 70 #ifdef CONFIG_HEARTBEAT 71 mach_heartbeat = hp300_pulse; 72 #endif 73 #ifdef CONFIG_DUMMY_CONSOLE 74 conswitchp = &dummy_con; 75 #endif 76 mach_max_dma_address = 0xffffffff; 77 } 78