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