2005-04-17 02:20:36 +04:00
/*
* linux / arch / arm / kernel / isa . c
*
* Copyright ( C ) 1999 Phil Blundell
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation ; either version
* 2 of the License , or ( at your option ) any later version .
2006-08-28 15:44:03 +04:00
*
* ISA shared memory and I / O port support , and is required to support
* iopl , inb , outb and friends in userspace via glibc emulation .
2005-04-17 02:20:36 +04:00
*/
# include <linux/stddef.h>
# include <linux/types.h>
# include <linux/fs.h>
# include <linux/sysctl.h>
# include <linux/init.h>
2009-01-08 18:42:40 +03:00
# include <linux/io.h>
2005-04-17 02:20:36 +04:00
static unsigned int isa_membase , isa_portbase , isa_portshift ;
static ctl_table ctl_isa_vars [ 4 ] = {
2006-08-28 15:44:03 +04:00
{
. procname = " membase " ,
. data = & isa_membase ,
. maxlen = sizeof ( isa_membase ) ,
. mode = 0444 ,
2009-11-16 14:11:48 +03:00
. proc_handler = proc_dointvec ,
2006-08-28 15:44:03 +04:00
} , {
. procname = " portbase " ,
. data = & isa_portbase ,
. maxlen = sizeof ( isa_portbase ) ,
. mode = 0444 ,
2009-11-16 14:11:48 +03:00
. proc_handler = proc_dointvec ,
2006-08-28 15:44:03 +04:00
} , {
. procname = " portshift " ,
. data = & isa_portshift ,
. maxlen = sizeof ( isa_portshift ) ,
. mode = 0444 ,
2009-11-16 14:11:48 +03:00
. proc_handler = proc_dointvec ,
2009-04-03 16:11:21 +04:00
} , { }
2005-04-17 02:20:36 +04:00
} ;
static struct ctl_table_header * isa_sysctl_header ;
2006-08-28 15:44:03 +04:00
static ctl_table ctl_isa [ 2 ] = {
{
. procname = " isa " ,
. mode = 0555 ,
. child = ctl_isa_vars ,
2009-04-03 16:11:21 +04:00
} , { }
2006-08-28 15:44:03 +04:00
} ;
static ctl_table ctl_bus [ 2 ] = {
{
. procname = " bus " ,
. mode = 0555 ,
. child = ctl_isa ,
2009-04-03 16:11:21 +04:00
} , { }
2006-08-28 15:44:03 +04:00
} ;
2005-04-17 02:20:36 +04:00
void __init
register_isa_ports ( unsigned int membase , unsigned int portbase , unsigned int portshift )
{
isa_membase = membase ;
isa_portbase = portbase ;
isa_portshift = portshift ;
2007-02-14 11:34:09 +03:00
isa_sysctl_header = register_sysctl_table ( ctl_bus ) ;
2005-04-17 02:20:36 +04:00
}