special usb hub handling, IDE disks, and retries all over the place
[linux-2.4.git] / include / asm-arm / mach / amba_kmi.h
1 /*
2  *  linux/include/asm-arm/mach/amba_kmi.h
3  *
4  *  Copyright (C) 2000 Deep Blue Solutions Ltd.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20 struct kmi_info {
21         u_int                   base;
22         u_int                   irq;
23         u_char                  divisor;
24         u_char                  type;
25         u_char                  state;
26         u_char                  prev_rx;
27
28         u_char                  last_tx;
29         u_char                  resend_count;
30         u_short                 res;
31
32         u_char                  present;
33         u_char                  reconnect;
34         u_char                  config_num;
35         u_char                  hotplug_state;
36
37         wait_queue_head_t       wait_q;
38         void                    (*rx)(struct kmi_info *, u_int val,
39                                       struct pt_regs *regs);
40         char                    name[8];
41 };
42
43 #define KMI_KEYBOARD            0
44 #define KMI_MOUSE               1
45
46 int register_kmi(struct kmi_info *kmi);