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
include
linux
io.h
Go to the documentation of this file.
1
/*
2
* Copyright 2006 PathScale, Inc. All Rights Reserved.
3
*
4
* This file is free software; you can redistribute it and/or modify
5
* it under the terms of version 2 of the GNU General Public License
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software Foundation,
15
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
16
*/
17
18
#ifndef _LINUX_IO_H
19
#define _LINUX_IO_H
20
21
#include <linux/types.h>
22
#include <asm/io.h>
23
#include <asm/page.h>
24
25
struct
device
;
26
27
void
__iowrite32_copy
(
void
__iomem
*to,
const
void
*
from
,
size_t
count
);
28
void
__iowrite64_copy
(
void
__iomem
*to,
const
void
*
from
,
size_t
count
);
29
30
#ifdef CONFIG_MMU
31
int
ioremap_page_range
(
unsigned
long
addr
,
unsigned
long
end
,
32
phys_addr_t
phys_addr
,
pgprot_t
prot);
33
#else
34
static
inline
int
ioremap_page_range
(
unsigned
long
addr
,
unsigned
long
end
,
35
phys_addr_t
phys_addr
,
pgprot_t
prot)
36
{
37
return
0;
38
}
39
#endif
40
41
/*
42
* Managed iomap interface
43
*/
44
#ifdef CONFIG_HAS_IOPORT
45
void
__iomem
* devm_ioport_map(
struct
device
*
dev
,
unsigned
long
port
,
46
unsigned
int
nr
);
47
void
devm_ioport_unmap(
struct
device
*
dev
,
void
__iomem
*
addr
);
48
#else
49
static
inline
void
__iomem
*devm_ioport_map(
struct
device
*
dev
,
50
unsigned
long
port
,
51
unsigned
int
nr
)
52
{
53
return
NULL
;
54
}
55
56
static
inline
void
devm_ioport_unmap(
struct
device
*
dev
,
void
__iomem
*
addr
)
57
{
58
}
59
#endif
60
61
void
__iomem
*
devm_ioremap
(
struct
device
*
dev
,
resource_size_t
offset
,
62
unsigned
long
size
);
63
void
__iomem
*
devm_ioremap_nocache
(
struct
device
*
dev
,
resource_size_t
offset
,
64
unsigned
long
size
);
65
void
devm_iounmap
(
struct
device
*
dev
,
void
__iomem
*
addr
);
66
int
check_signature
(
const
volatile
void
__iomem
*
io_addr
,
67
const
unsigned
char
*
signature
,
int
length
);
68
void
devm_ioremap_release
(
struct
device
*
dev
,
void
*
res
);
69
70
/*
71
* Some systems do not have legacy ISA devices.
72
* /dev/port is not a valid interface on these systems.
73
* So for those archs, <asm/io.h> should define the following symbol.
74
*/
75
#ifndef arch_has_dev_port
76
#define arch_has_dev_port() (1)
77
#endif
78
79
#endif
/* _LINUX_IO_H */
Generated on Thu Jan 10 2013 12:49:49 for Linux Kernel by
1.8.2