Warning: This file is not a C or C++ file. It does not have highlighting.

1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef _I8042_IP22_H
3#define _I8042_IP22_H
4
5#include <asm/sgi/ioc.h>
6#include <asm/sgi/ip22.h>
7
8
9/*
10 * Names.
11 */
12
13#define I8042_KBD_PHYS_DESC "hpc3ps2/serio0"
14#define I8042_AUX_PHYS_DESC "hpc3ps2/serio1"
15#define I8042_MUX_PHYS_DESC "hpc3ps2/serio%d"
16
17/*
18 * IRQs.
19 */
20
21#define I8042_KBD_IRQ SGI_KEYBD_IRQ
22#define I8042_AUX_IRQ SGI_KEYBD_IRQ
23
24/*
25 * Register numbers.
26 */
27
28#define I8042_COMMAND_REG ((unsigned long)&sgioc->kbdmouse.command)
29#define I8042_STATUS_REG ((unsigned long)&sgioc->kbdmouse.command)
30#define I8042_DATA_REG ((unsigned long)&sgioc->kbdmouse.data)
31
32static inline int i8042_read_data(void)
33{
34 return sgioc->kbdmouse.data;
35}
36
37static inline int i8042_read_status(void)
38{
39 return sgioc->kbdmouse.command;
40}
41
42static inline void i8042_write_data(int val)
43{
44 sgioc->kbdmouse.data = val;
45}
46
47static inline void i8042_write_command(int val)
48{
49 sgioc->kbdmouse.command = val;
50}
51
52static inline int i8042_platform_init(void)
53{
54#if 0
55 /* XXX sgi_kh is a virtual address */
56 if (!request_mem_region(sgi_kh, sizeof(struct hpc_keyb), "i8042"))
57 return -EBUSY;
58#endif
59
60 i8042_reset = I8042_RESET_ALWAYS;
61
62 return 0;
63}
64
65static inline void i8042_platform_exit(void)
66{
67#if 0
68 release_mem_region(JAZZ_KEYBOARD_ADDRESS, sizeof(struct hpc_keyb));
69#endif
70}
71
72#endif /* _I8042_IP22_H */
73

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/drivers/input/serio/i8042-ip22io.h