Commit 65458d5a authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Linus Torvalds

[PATCH] M68k update (part 47)

M68k VT updates:
  - Include <linux/vt_kern.h> instead of copying the kd_mksound() prototype
  - Lots of stuff depends on CONFIG_VT:
      o SYSRQ_KEY
      o kd_mksound()
      o mach_keyb_init()
      o mach_kbdrate()
      o mach_kbd_leds()
      o mach_kbd_translate()
      o mach_sysrq_xlate()
      o Atari keyboard and joystick drivers
  - There's no need to provide dummy routines for kbd{rate,_leds}()
  - dummy_con depends on CONFIG_DUMMY_CONSOLE
parent 5c98be72
......@@ -20,6 +20,7 @@
#include <linux/console.h>
#include <linux/rtc.h>
#include <linux/init.h>
#include <linux/vt_kern.h>
#ifdef CONFIG_ZORRO
#include <linux/zorro.h>
#endif
......@@ -127,8 +128,6 @@ static char amiga_sysrq_xlate[128] =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"; /* 0x70 - 0x7f */
#endif
extern void (*kd_mksound)(unsigned int, unsigned int);
/*
* Motherboard Resources present in all Amiga models
......@@ -389,10 +388,11 @@ void __init config_amiga(void)
request_resource(&iomem_resource, &((struct resource *)&mb_resources)[i]);
mach_sched_init = amiga_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = amiga_keyb_init;
mach_kbdrate = amiga_kbdrate;
mach_kbd_translate = amiga_kbd_translate;
SYSRQ_KEY = 0xff;
#endif
mach_init_IRQ = amiga_init_IRQ;
mach_default_handler = &amiga_default_handler;
mach_request_irq = amiga_request_irq;
......@@ -432,8 +432,11 @@ void __init config_amiga(void)
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif
#ifdef CONFIG_VT
kd_mksound = amiga_mksound;
#endif
#ifdef CONFIG_MAGIC_SYSRQ
SYSRQ_KEY = 0xff;
mach_sysrq_key = 0x5f; /* HELP */
mach_sysrq_shift_state = 0x03; /* SHIFT+ALTGR */
mach_sysrq_shift_mask = 0xff; /* all modifiers except CapsLock */
......
......@@ -5,6 +5,7 @@
#include <linux/tty.h>
#include <linux/console.h>
#include <linux/rtc.h>
#include <linux/vt_kern.h>
#include <asm/setup.h>
#include <asm/bootinfo.h>
......@@ -41,7 +42,6 @@ extern void dn_dummy_reset(void);
extern void dn_dummy_waitbut(void);
extern struct fb_info *dn_fb_init(long *);
extern void dn_dummy_debug_init(void);
extern void (*kd_mksound)(unsigned int, unsigned int);
extern void dn_dummy_video_setup(char *,int *);
extern void dn_process_int(int irq, struct pt_regs *fp);
#ifdef CONFIG_HEARTBEAT
......@@ -165,8 +165,10 @@ void config_apollo(void) {
dn_setup_model();
mach_sched_init=dn_sched_init; /* */
#ifdef CONFIG_VT
mach_keyb_init=dn_keyb_init;
mach_kbdrate=dn_dummy_kbdrate;
#endif
mach_init_IRQ=dn_init_IRQ;
mach_default_handler=NULL;
mach_request_irq = dn_request_irq;
......@@ -187,7 +189,9 @@ void config_apollo(void) {
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif
#ifdef CONFIG_VT
kd_mksound = dn_mksound;
#endif
#ifdef CONFIG_HEARTBEAT
mach_heartbeat = dn_heartbeat;
#endif
......
......@@ -14,11 +14,6 @@
static irq_handler_t dn_irqs[16];
extern void write_keyb_cmd(u_short length, u_char *cmd);
static char BellOnCommand[] = { 0xFF, 0x21, 0x81 },
BellOffCommand[] = { 0xFF, 0x21, 0x82 };
extern void dn_serial_print (const char *str);
void dn_process_int(int irq, struct pt_regs *fp) {
......@@ -122,6 +117,11 @@ struct fb_info *dn_dummy_fb_init(long *mem_start) {
}
#ifdef CONFIG_VT
extern void write_keyb_cmd(u_short length, u_char *cmd);
static char BellOnCommand[] = { 0xFF, 0x21, 0x81 },
BellOffCommand[] = { 0xFF, 0x21, 0x82 };
static void dn_nosound (unsigned long ignored) {
write_keyb_cmd(sizeof(BellOffCommand),BellOffCommand);
......@@ -143,6 +143,8 @@ void dn_mksound( unsigned int count, unsigned int ticks ) {
else
write_keyb_cmd(sizeof(BellOffCommand),BellOffCommand);
}
#endif /* CONFIG_VT */
void dn_dummy_video_setup(char *options,int *ints) {
......
......@@ -11,10 +11,12 @@ O_TARGET := atari.o
export-objs := atari_ksyms.o
obj-y := config.o time.o debug.o atakeyb.o ataints.o stdma.o \
atasound.o joystick.o stram.o atari_ksyms.o
obj-y := config.o time.o debug.o ataints.o stdma.o \
atasound.o stram.o atari_ksyms.o
ifdef CONFIG_PCI
obj-$(CONFIG_VT) += atakeyb.o joystick.o
ifeq ($(CONFIG_PCI),y)
obj-$(CONFIG_HADES) += hades-pci.o
endif
......
......@@ -31,6 +31,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/vt_kern.h>
#include <asm/bootinfo.h>
#include <asm/setup.h>
......@@ -100,7 +101,6 @@ static char atari_sysrq_xlate[128] =
"0.\r\000\000\000\000\000\000\000\000\000\000\000\000\000"; /* 0x70 - 0x7f */
#endif
extern void (*kd_mksound)(unsigned int, unsigned int);
/* I've moved hwreg_present() and hwreg_present_bywrite() out into
* mm/hwtest.c, to avoid having multiple copies of the same routine
......@@ -254,13 +254,12 @@ void __init config_atari(void)
to 4GB. */
mach_sched_init = atari_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = atari_keyb_init;
mach_kbdrate = atari_kbdrate;
mach_kbd_translate = atari_kbd_translate;
#ifdef CONFIG_MAGIC_SYSRQ
SYSRQ_KEY = 0xff;
#endif
mach_kbd_leds = atari_kbd_leds;
#endif
mach_init_IRQ = atari_init_IRQ;
mach_request_irq = atari_request_irq;
mach_free_irq = atari_free_irq;
......@@ -278,8 +277,11 @@ void __init config_atari(void)
conswitchp = &dummy_con;
#endif
mach_max_dma_address = 0xffffff;
#ifdef CONFIG_VT
kd_mksound = atari_mksound;
#endif
#ifdef CONFIG_MAGIC_SYSRQ
SYSRQ_KEY = 0xff;
mach_sysrq_key = 98; /* HELP */
mach_sysrq_shift_state = 8; /* Alt */
mach_sysrq_shift_mask = 0xff; /* all modifiers except CapsLock */
......
......@@ -134,8 +134,10 @@ void __init config_bvme6000(void)
mach_max_dma_address = 0xffffffff;
mach_sched_init = bvme6000_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = bvme6000_keyb_init;
mach_kbdrate = bvme6000_kbdrate;
#endif
mach_init_IRQ = bvme6000_init_IRQ;
mach_gettimeoffset = bvme6000_gettimeoffset;
mach_hwclk = bvme6000_hwclk;
......
......@@ -29,10 +29,9 @@ extern int show_hp300_interrupts(struct seq_file *, void *);
#ifdef CONFIG_VT
extern int hp300_keyb_init(void);
#else
/* Dummy function for when there is no keyboard. */
int __init hp300_keyb_init(void)
static int hp300_kbdrate(struct kbd_repeat *k)
{
return 0;
}
#endif
......@@ -46,15 +45,6 @@ static void hp300_pulse(int x)
}
#endif
static int hp300_kbdrate(struct kbd_repeat *k)
{
return 0;
}
static void hp300_kbd_leds(unsigned int leds)
{
}
static void hp300_get_model(char *model)
{
strcpy(model, "HP9000/300");
......@@ -63,9 +53,10 @@ static void hp300_get_model(char *model)
void __init config_hp300(void)
{
mach_sched_init = hp300_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = hp300_keyb_init;
mach_kbdrate = hp300_kbdrate;
mach_kbd_leds = hp300_kbd_leds;
#endif
mach_init_IRQ = hp300_init_IRQ;
mach_request_irq = hp300_request_irq;
mach_free_irq = hp300_free_irq;
......
......@@ -72,11 +72,12 @@ char m68k_debug_device[6] = "";
void (*mach_sched_init) (void (*handler)(int, void *, struct pt_regs *)) __initdata = NULL;
/* machine dependent keyboard functions */
#ifdef CONFIG_VT
int (*mach_keyb_init) (void) __initdata = NULL;
int (*mach_kbdrate) (struct kbd_repeat *) = NULL;
void (*mach_kbd_leds) (unsigned int) = NULL;
int (*mach_kbd_translate)(unsigned char scancode, unsigned char *keycode, char raw_mode) = NULL;
unsigned int SYSRQ_KEY;
#endif
/* machine dependent irq functions */
void (*mach_init_IRQ) (void) __initdata = NULL;
void (*(*mach_default_handler)[]) (int, void *, struct pt_regs *) = NULL;
......@@ -104,6 +105,7 @@ void (*mach_l2_flush) (int) = NULL;
#endif
#ifdef CONFIG_MAGIC_SYSRQ
unsigned int SYSRQ_KEY;
int mach_sysrq_key = -1;
int mach_sysrq_shift_state = 0;
int mach_sysrq_shift_mask = 0;
......
......@@ -21,6 +21,7 @@
#include <linux/delay.h>
/* keyb */
#include <linux/init.h>
#include <linux/vt_kern.h>
#define BOOTINFO_COMPAT_1_0
#include <asm/setup.h>
......@@ -77,7 +78,6 @@ extern void oss_init(void);
extern void psc_init(void);
extern void baboon_init(void);
extern void (*kd_mksound)(unsigned int, unsigned int);
extern void mac_mksound(unsigned int, unsigned int);
extern void nubus_sweep_video(void);
......@@ -86,8 +86,6 @@ extern void nubus_sweep_video(void);
extern void mac_debug_init(void);
extern void mac_debugging_long(int, long);
extern void (*kd_mksound)(unsigned int, unsigned int);
extern int mackbd_init_hw(void);
extern void mackbd_leds(unsigned int leds);
extern int mackbd_translate(unsigned char keycode, unsigned char *keycodep, char raw_mode);
......@@ -208,7 +206,7 @@ void __init config_mac(void)
if (!MACH_IS_MAC) {
printk("ERROR: no Mac, but config_mac() called!! \n");
}
#ifdef CONFIG_VT
#ifdef CONFIG_INPUT_ADBHID
mach_keyb_init = mac_hid_init_hw;
......@@ -229,8 +227,10 @@ void __init config_mac(void)
mach_keyb_init = mackbd_init_hw;
mach_kbd_leds = mackbd_leds;
mach_kbd_translate = mackbd_translate;
#ifdef CONFIG_MAGIC_SYSRQ
mach_sysrq_xlate = mackbd_sysrq_xlate;
SYSRQ_KEY = 0x69;
#endif /* CONFIG_MAGIC_SYSRQ */
#endif /* CONFIG_INPUT_ADBHID */
#endif /* CONFIG_VT */
......@@ -255,12 +255,16 @@ void __init config_mac(void)
mach_reset = mac_reset;
mach_halt = mac_poweroff;
mach_power_off = mac_poweroff;
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif
mach_max_dma_address = 0xffffffff;
#if 0
mach_debug_init = mac_debug_init;
#endif
#ifdef CONFIG_VT
kd_mksound = mac_mksound;
#endif
#ifdef CONFIG_HEARTBEAT
#if 0
mach_heartbeat = mac_heartbeat;
......
......@@ -103,8 +103,10 @@ void __init config_mvme147(void)
{
mach_max_dma_address = 0x01000000;
mach_sched_init = mvme147_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = mvme147_keyb_init;
mach_kbdrate = mvme147_kbdrate;
#endif
mach_init_IRQ = mvme147_init_IRQ;
mach_gettimeoffset = mvme147_gettimeoffset;
mach_hwclk = mvme147_hwclk;
......
......@@ -145,13 +145,17 @@ void __init config_mvme16x(void)
mach_max_dma_address = 0xffffffff;
mach_sched_init = mvme16x_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = mvme16x_keyb_init;
mach_kbdrate = mvme16x_kbdrate;
#endif
mach_init_IRQ = mvme16x_init_IRQ;
mach_gettimeoffset = mvme16x_gettimeoffset;
mach_hwclk = mvme16x_hwclk;
mach_set_clock_mmss = mvme16x_set_clock_mmss;
#ifdef CONFIG_VT
/* kd_mksound = mvme16x_mksound; */
#endif
mach_reset = mvme16x_reset;
mach_free_irq = mvme16x_free_irq;
mach_process_int = mvme16x_process_int;
......
......@@ -23,6 +23,7 @@
#include <linux/major.h>
#include <linux/serial_reg.h>
#include <linux/rtc.h>
#include <linux/vt_kern.h>
#include <asm/io.h>
#include <asm/rtc.h>
......@@ -61,7 +62,6 @@ void q40_halt(void);
extern void q40_waitbut(void);
void q40_set_vectors (void);
extern void (*kd_mksound)(unsigned int, unsigned int);
void q40_mksound(unsigned int /*freq*/, unsigned int /*ticks*/ );
extern char *saved_command_line;
......@@ -185,8 +185,10 @@ void __init config_q40(void)
{
mach_sched_init = q40_sched_init;
#ifdef CONFIG_VT
mach_keyb_init = q40kbd_init_hw;
mach_kbd_translate = q40kbd_translate;
#endif
mach_init_IRQ = q40_init_IRQ;
mach_gettimeoffset = q40_gettimeoffset;
mach_hwclk = q40_hwclk;
......@@ -202,7 +204,9 @@ void __init config_q40(void)
mach_default_handler = &q40_sys_default_handler;
mach_get_model = q40_get_model;
mach_get_hardware_list = q40_get_hardware_list;
#ifdef CONFIG_VT
kd_mksound = q40_mksound;
#endif
#ifdef CONFIG_MAGIC_SYSRQ
mach_sysrq_key = 0x54;
......@@ -211,7 +215,9 @@ void __init config_q40(void)
mach_heartbeat = q40_heartbeat;
#endif
mach_halt = q40_halt;
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif
/* disable a few things that SMSQ might have left enabled */
q40_disable_irqs();
......
......@@ -151,7 +151,9 @@ void __init config_sun3(void)
mach_default_handler = &sun3_default_handler;
mach_request_irq = sun3_request_irq;
mach_free_irq = sun3_free_irq;
#ifdef CONFIG_VT
// mach_keyb_init = sun3_keyb_init;
#endif
enable_irq = sun3_enable_irq;
disable_irq = sun3_disable_irq;
mach_process_int = sun3_process_int;
......@@ -162,7 +164,7 @@ void __init config_sun3(void)
mach_hwclk = sun3_hwclk;
mach_halt = sun3_halt;
mach_get_hardware_list = sun3_get_hardware_list;
#if !defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_FB)
#if !defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_DUMMY_CONSOLE)
conswitchp = &dummy_con;
#endif
......@@ -175,8 +177,9 @@ void __init config_sun3(void)
sun3_bootmem_alloc(memory_start, memory_end);
#ifdef CONFIG_SUN3X_ZS
sun_serial_setup();
#endif
}
void __init sun3_sched_init(void (*timer_routine)(int, void *, struct pt_regs *))
......
......@@ -61,9 +61,11 @@ void __init config_sun3x(void)
mach_get_irq_list = show_sun3_interrupts;
mach_max_dma_address = 0xffffffff; /* we can DMA anywhere, whee */
#ifdef CONFIG_VT
mach_keyb_init = sun3x_keyb_init;
mach_kbdrate = sun3x_kbdrate;
mach_kbd_leds = sun3x_kbd_leds;
#endif
mach_default_handler = &sun3_default_handler;
mach_sched_init = sun3x_sched_init;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment