Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/input/serio/i8042-ip22io.h
15111 views
1
#ifndef _I8042_IP22_H
2
#define _I8042_IP22_H
3
4
#include <asm/sgi/ioc.h>
5
#include <asm/sgi/ip22.h>
6
7
/*
8
* This program is free software; you can redistribute it and/or modify it
9
* under the terms of the GNU General Public License version 2 as published by
10
* the Free Software Foundation.
11
*/
12
13
/*
14
* Names.
15
*/
16
17
#define I8042_KBD_PHYS_DESC "hpc3ps2/serio0"
18
#define I8042_AUX_PHYS_DESC "hpc3ps2/serio1"
19
#define I8042_MUX_PHYS_DESC "hpc3ps2/serio%d"
20
21
/*
22
* IRQs.
23
*/
24
25
#define I8042_KBD_IRQ SGI_KEYBD_IRQ
26
#define I8042_AUX_IRQ SGI_KEYBD_IRQ
27
28
/*
29
* Register numbers.
30
*/
31
32
#define I8042_COMMAND_REG ((unsigned long)&sgioc->kbdmouse.command)
33
#define I8042_STATUS_REG ((unsigned long)&sgioc->kbdmouse.command)
34
#define I8042_DATA_REG ((unsigned long)&sgioc->kbdmouse.data)
35
36
static inline int i8042_read_data(void)
37
{
38
return sgioc->kbdmouse.data;
39
}
40
41
static inline int i8042_read_status(void)
42
{
43
return sgioc->kbdmouse.command;
44
}
45
46
static inline void i8042_write_data(int val)
47
{
48
sgioc->kbdmouse.data = val;
49
}
50
51
static inline void i8042_write_command(int val)
52
{
53
sgioc->kbdmouse.command = val;
54
}
55
56
static inline int i8042_platform_init(void)
57
{
58
#if 0
59
/* XXX sgi_kh is a virtual address */
60
if (!request_mem_region(sgi_kh, sizeof(struct hpc_keyb), "i8042"))
61
return -EBUSY;
62
#endif
63
64
i8042_reset = 1;
65
66
return 0;
67
}
68
69
static inline void i8042_platform_exit(void)
70
{
71
#if 0
72
release_mem_region(JAZZ_KEYBOARD_ADDRESS, sizeof(struct hpc_keyb));
73
#endif
74
}
75
76
#endif /* _I8042_IP22_H */
77
78