]>
Commit | Line | Data |
---|---|---|
2874c5fd | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
1da177e4 LT |
2 | /* |
3 | * linux/arch/arm/kernel/isa.c | |
4 | * | |
5 | * Copyright (C) 1999 Phil Blundell | |
6 | * | |
7034b0e6 RK |
7 | * ISA shared memory and I/O port support, and is required to support |
8 | * iopl, inb, outb and friends in userspace via glibc emulation. | |
1da177e4 | 9 | */ |
1da177e4 LT |
10 | #include <linux/stddef.h> |
11 | #include <linux/types.h> | |
12 | #include <linux/fs.h> | |
13 | #include <linux/sysctl.h> | |
14 | #include <linux/init.h> | |
87e0d6cc | 15 | #include <linux/io.h> |
1da177e4 LT |
16 | |
17 | static unsigned int isa_membase, isa_portbase, isa_portshift; | |
18 | ||
37649de2 | 19 | static struct ctl_table ctl_isa_vars[4] = { |
7034b0e6 | 20 | { |
7034b0e6 RK |
21 | .procname = "membase", |
22 | .data = &isa_membase, | |
23 | .maxlen = sizeof(isa_membase), | |
24 | .mode = 0444, | |
6d456111 | 25 | .proc_handler = proc_dointvec, |
7034b0e6 | 26 | }, { |
7034b0e6 RK |
27 | .procname = "portbase", |
28 | .data = &isa_portbase, | |
29 | .maxlen = sizeof(isa_portbase), | |
30 | .mode = 0444, | |
6d456111 | 31 | .proc_handler = proc_dointvec, |
7034b0e6 | 32 | }, { |
7034b0e6 RK |
33 | .procname = "portshift", |
34 | .data = &isa_portshift, | |
35 | .maxlen = sizeof(isa_portshift), | |
36 | .mode = 0444, | |
6d456111 | 37 | .proc_handler = proc_dointvec, |
50469619 | 38 | }, {} |
1da177e4 LT |
39 | }; |
40 | ||
41 | static struct ctl_table_header *isa_sysctl_header; | |
42 | ||
37649de2 | 43 | static struct ctl_table ctl_isa[2] = { |
7034b0e6 | 44 | { |
7034b0e6 RK |
45 | .procname = "isa", |
46 | .mode = 0555, | |
47 | .child = ctl_isa_vars, | |
50469619 | 48 | }, {} |
7034b0e6 RK |
49 | }; |
50 | ||
37649de2 | 51 | static struct ctl_table ctl_bus[2] = { |
7034b0e6 | 52 | { |
7034b0e6 RK |
53 | .procname = "bus", |
54 | .mode = 0555, | |
55 | .child = ctl_isa, | |
50469619 | 56 | }, {} |
7034b0e6 | 57 | }; |
1da177e4 LT |
58 | |
59 | void __init | |
60 | register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift) | |
61 | { | |
62 | isa_membase = membase; | |
63 | isa_portbase = portbase; | |
64 | isa_portshift = portshift; | |
0b4d4147 | 65 | isa_sysctl_header = register_sysctl_table(ctl_bus); |
1da177e4 | 66 | } |