1 /* 2 * linux/arch/arm/kernel/isa.c 3 * 4 * Copyright (C) 1999 Phil Blundell 5 * 6 * ISA shared memory and I/O port support 7 */ 8 9 /* 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License 12 * as published by the Free Software Foundation; either version 13 * 2 of the License, or (at your option) any later version. 14 */ 15 16 /* 17 * Nothing about this is actually ARM specific. One day we could move 18 * it into kernel/resource.c or some place like that. 19 */ 20 21 #include <linux/stddef.h> 22 #include <linux/types.h> 23 #include <linux/fs.h> 24 #include <linux/sysctl.h> 25 #include <linux/init.h> 26 27 static unsigned int isa_membase, isa_portbase, isa_portshift; 28 29 static ctl_table ctl_isa_vars[4] = { 30 {BUS_ISA_MEM_BASE, "membase", &isa_membase, 31 sizeof(isa_membase), 0444, NULL, &proc_dointvec}, 32 {BUS_ISA_PORT_BASE, "portbase", &isa_portbase, 33 sizeof(isa_portbase), 0444, NULL, &proc_dointvec}, 34 {BUS_ISA_PORT_SHIFT, "portshift", &isa_portshift, 35 sizeof(isa_portshift), 0444, NULL, &proc_dointvec}, 36 {0} 37 }; 38 39 static struct ctl_table_header *isa_sysctl_header; 40 41 static ctl_table ctl_isa[2] = {{CTL_BUS_ISA, "isa", NULL, 0, 0555, ctl_isa_vars}, 42 {0}}; 43 static ctl_table ctl_bus[2] = {{CTL_BUS, "bus", NULL, 0, 0555, ctl_isa}, 44 {0}}; 45 46 void __init 47 register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift) 48 { 49 isa_membase = membase; 50 isa_portbase = portbase; 51 isa_portshift = portshift; 52 isa_sysctl_header = register_sysctl_table(ctl_bus, 0); 53 } 54