Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mips
sni
eisa.c
Go to the documentation of this file.
1
/*
2
* Virtual EISA root driver.
3
* Acts as a placeholder if we don't have a proper EISA bridge.
4
*
5
* (C) 2003 Marc Zyngier <
[email protected]
>
6
* modified for SNI usage by Thomas Bogendoerfer
7
*
8
* This code is released under the GPL version 2.
9
*/
10
11
#include <linux/kernel.h>
12
#include <
linux/platform_device.h
>
13
#include <
linux/eisa.h
>
14
#include <
linux/init.h
>
15
16
/* The default EISA device parent (virtual root device).
17
* Now use a platform device, since that's the obvious choice. */
18
19
static
struct
platform_device
eisa_root_dev = {
20
.name =
"eisa"
,
21
.id = 0,
22
};
23
24
static
struct
eisa_root_device
eisa_bus_root = {
25
.dev = &eisa_root_dev.
dev
,
26
.bus_base_addr = 0,
27
.res = &
ioport_resource
,
28
.slots =
EISA_MAX_SLOTS
,
29
.dma_mask = 0xffffffff,
30
.force_probe = 1,
31
};
32
33
int
__init
sni_eisa_root_init
(
void
)
34
{
35
int
r
;
36
37
r =
platform_device_register
(&eisa_root_dev);
38
if
(!r)
39
return
r
;
40
41
dev_set_drvdata
(&eisa_root_dev.
dev
, &eisa_bus_root);
42
43
if
(
eisa_root_register
(&eisa_bus_root)) {
44
/* A real bridge may have been registered before
45
* us. So quietly unregister. */
46
platform_device_unregister
(&eisa_root_dev);
47
return
-1;
48
}
49
return
0;
50
}
Generated on Thu Jan 10 2013 13:12:19 for Linux Kernel by
1.8.2