1 | // SPDX-License-Identifier: GPL-2.0-or-later |
2 | /* |
3 | * linux/arch/arm/kernel/isa.c |
4 | * |
5 | * Copyright (C) 1999 Phil Blundell |
6 | * |
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. |
9 | */ |
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> |
15 | #include <linux/io.h> |
16 | |
17 | static unsigned int isa_membase, isa_portbase, isa_portshift; |
18 | |
19 | static struct ctl_table ctl_isa_vars[] = { |
20 | { |
21 | .procname = "membase" , |
22 | .data = &isa_membase, |
23 | .maxlen = sizeof(isa_membase), |
24 | .mode = 0444, |
25 | .proc_handler = proc_dointvec, |
26 | }, { |
27 | .procname = "portbase" , |
28 | .data = &isa_portbase, |
29 | .maxlen = sizeof(isa_portbase), |
30 | .mode = 0444, |
31 | .proc_handler = proc_dointvec, |
32 | }, { |
33 | .procname = "portshift" , |
34 | .data = &isa_portshift, |
35 | .maxlen = sizeof(isa_portshift), |
36 | .mode = 0444, |
37 | .proc_handler = proc_dointvec, |
38 | }, |
39 | }; |
40 | |
41 | static struct ctl_table_header *; |
42 | |
43 | void __init |
44 | register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift) |
45 | { |
46 | isa_membase = membase; |
47 | isa_portbase = portbase; |
48 | isa_portshift = portshift; |
49 | isa_sysctl_header = register_sysctl("bus/isa" , ctl_isa_vars); |
50 | } |
51 | |