special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / drivers / sbus / char / sunkbd.h
1 /* $Id: sunkbd.h,v 1.4 2000/02/09 11:15:54 davem Exp $
2  * sunkbd.h: Defines needed by SUN Keyboard drivers
3  *
4  * Copyright (C) 1997  Eddie C. Dost  (ecd@skynet.be)
5  */
6
7 #ifndef _SPARC_SUNKBD_H
8 #define _SPARC_SUNKBD_H 1
9
10 #include <linux/config.h>
11
12 /* Keyboard defines for L1-A processing... */
13 #define SUNKBD_RESET            0xff
14 #define SUNKBD_L1               0x01
15 #define SUNKBD_UP               0x80
16 #define SUNKBD_A                0x4d
17
18 struct l1a_kbd_state {
19         int kbd_id;
20         int l1_down;
21 };
22
23 extern struct l1a_kbd_state l1a_state;
24
25 extern void keyboard_zsinit(void (*kbd_put_char)(unsigned char));
26 extern void sunkbd_inchar(unsigned char, struct pt_regs *);
27 extern void batten_down_hatches(void);
28
29 extern void sun_kbd_bh(unsigned long);
30 extern int sun_kbd_init(void);
31 extern void sun_compute_shiftstate(void);
32 extern void sun_setledstate(struct kbd_struct *, unsigned int);
33 extern unsigned char sun_getledstate(void);
34 extern int sun_setkeycode(unsigned int, unsigned int);
35 extern int sun_getkeycode(unsigned int);
36
37 #ifdef CONFIG_PCI
38
39 extern ushort *sun_key_maps[MAX_NR_KEYMAPS];
40 extern unsigned int sun_keymap_count;
41
42 extern char sun_func_buf[];
43 extern char *sun_func_table[MAX_NR_FUNC];
44 extern int sun_funcbufsize;
45 extern int sun_funcbufleft;
46
47 extern struct kbdiacr sun_accent_table[MAX_DIACR];
48 extern unsigned int sun_accent_table_size;
49
50 #endif /* CONFIG_PCI */
51
52 #endif /* !(_SPARC_SUNKBD_H) */