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
arm
mach-shark
pci.c
Go to the documentation of this file.
1
/*
2
* linux/arch/arm/mach-shark/pci.c
3
*
4
* PCI bios-type initialisation for PCI machines
5
*
6
* Bits taken from various places.
7
*/
8
#include <linux/kernel.h>
9
#include <linux/pci.h>
10
#include <
linux/init.h
>
11
#include <
linux/io.h
>
12
#include <
video/vga.h
>
13
14
#include <asm/irq.h>
15
#include <
asm/mach/pci.h
>
16
#include <
asm/mach-types.h
>
17
18
#define IO_START 0x40000000
19
20
static
int
__init
shark_map_irq(
const
struct
pci_dev
*
dev
,
u8
slot
,
u8
pin
)
21
{
22
if
(dev->
bus
->number == 0)
23
if
(dev->
devfn
== 0)
24
return
255;
25
else
26
return
11;
27
else
28
return
255;
29
}
30
31
extern
void
__init
via82c505_preinit
(
void
);
32
33
static
struct
hw_pci
shark_pci
__initdata
= {
34
.setup =
via82c505_setup
,
35
.map_irq = shark_map_irq,
36
.nr_controllers = 1,
37
.ops = &
via82c505_ops
,
38
.preinit =
via82c505_preinit
,
39
};
40
41
static
int
__init
shark_pci_init(
void
)
42
{
43
if
(!machine_is_shark())
44
return
-
ENODEV
;
45
46
pcibios_min_io = 0x6000;
47
pcibios_min_mem = 0x50000000;
48
vga_base
= 0xe8000000;
49
50
pci_ioremap_io(0,
IO_START
);
51
52
pci_common_init
(&shark_pci);
53
54
return
0;
55
}
56
57
subsys_initcall
(shark_pci_init);
Generated on Thu Jan 10 2013 12:51:57 for Linux Kernel by
1.8.2