1 |
1275 |
phoenix |
#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 */
|