1 #ifndef _ASM_IA64_KEYBOARD_H
2 #define _ASM_IA64_KEYBOARD_H
3 
4 /*
5  * This file contains the ia64 architecture specific keyboard definitions.
6  *
7  * Copyright (C) 1998, 1999, 2001 Hewlett-Packard Co
8  * Copyright (C) 1998, 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
9  */
10 
11 # ifdef __KERNEL__
12 
13 #include <linux/irq.h>
14 #include <linux/kd.h>
15 
16 #define KEYBOARD_IRQ			isa_irq_to_vector(1)
17 #define DISABLE_KBD_DURING_INTERRUPTS	0
18 
19 extern unsigned char acpi_kbd_controller_present;
20 extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
21 extern int pckbd_getkeycode(unsigned int scancode);
22 extern int pckbd_pretranslate(unsigned char scancode, char raw_mode);
23 extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
24 			   char raw_mode);
25 extern char pckbd_unexpected_up(unsigned char keycode);
26 extern void pckbd_leds(unsigned char leds);
27 extern void pckbd_init_hw(void);
28 extern unsigned char pckbd_sysrq_xlate[128];
29 
30 #define kbd_controller_present() acpi_kbd_controller_present
31 #define kbd_setkeycode		pckbd_setkeycode
32 #define kbd_getkeycode		pckbd_getkeycode
33 #define kbd_pretranslate	pckbd_pretranslate
34 #define kbd_translate		pckbd_translate
35 #define kbd_unexpected_up	pckbd_unexpected_up
36 #define kbd_leds		pckbd_leds
37 #define kbd_init_hw		pckbd_init_hw
38 #define kbd_sysrq_xlate		pckbd_sysrq_xlate
39 
40 #define INIT_KBD
41 
42 #define SYSRQ_KEY		0x54
43 #define E1_PAUSE   119		/* PAUSE key */
44 
45 /* resource allocation */
46 #define kbd_request_region()
47 #define kbd_request_irq(handler) request_irq(KEYBOARD_IRQ, handler, 0, "keyboard", NULL)
48 
49 /* How to access the keyboard macros on this platform.  */
50 #define kbd_read_input()	inb(KBD_DATA_REG)
51 #define kbd_read_status()	inb(KBD_STATUS_REG)
52 #define kbd_write_output(val)	outb(val, KBD_DATA_REG)
53 #define kbd_write_command(val)	outb(val, KBD_CNTL_REG)
54 
55 /* Some stoneage hardware needs delays after some operations.  */
56 #define kbd_pause() do { } while(0)
57 
58 /*
59  * Machine specific bits for the PS/2 driver
60  */
61 
62 #define AUX_IRQ				isa_irq_to_vector(12)
63 
64 #define aux_request_irq(hand, dev_id)					\
65 	request_irq(AUX_IRQ, hand, SA_SHIRQ, "PS/2 Mouse", dev_id)
66 
67 #define aux_free_irq(dev_id) free_irq(AUX_IRQ, dev_id)
68 
69 # endif /* __KERNEL__ */
70 #endif /* _ASM_IA64_KEYBOARD_H */
71