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