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
include
asm
fiq.h
Go to the documentation of this file.
1
/*
2
* arch/arm/include/asm/fiq.h
3
*
4
* Support for FIQ on ARM architectures.
5
* Written by Philip Blundell <
[email protected]
>, 1998
6
* Re-written by Russell King
7
*
8
* NOTE: The FIQ mode registers are not magically preserved across
9
* suspend/resume.
10
*
11
* Drivers which require these registers to be preserved across power
12
* management operations must implement appropriate suspend/resume handlers to
13
* save and restore them.
14
*/
15
16
#ifndef __ASM_FIQ_H
17
#define __ASM_FIQ_H
18
19
#include <asm/ptrace.h>
20
21
struct
fiq_handler
{
22
struct
fiq_handler
*
next
;
23
/* Name
24
*/
25
const
char
*
name
;
26
/* Called to ask driver to relinquish/
27
* reacquire FIQ
28
* return zero to accept, or -<errno>
29
*/
30
int
(*
fiq_op
)(
void
*,
int
relinquish);
31
/* data for the relinquish/reacquire functions
32
*/
33
void
*
dev_id
;
34
};
35
36
extern
int
claim_fiq
(
struct
fiq_handler
*
f
);
37
extern
void
release_fiq
(
struct
fiq_handler
*
f
);
38
extern
void
set_fiq_handler
(
void
*
start
,
unsigned
int
length
);
39
extern
void
enable_fiq
(
int
fiq);
40
extern
void
disable_fiq
(
int
fiq);
41
42
/* helpers defined in fiqasm.S: */
43
extern
void
__set_fiq_regs
(
unsigned
long
const
*
regs
);
44
extern
void
__get_fiq_regs
(
unsigned
long
*
regs
);
45
46
static
inline
void
set_fiq_regs(
struct
pt_regs
const
*
regs
)
47
{
48
__set_fiq_regs
(®s->ARM_r8);
49
}
50
51
static
inline
void
get_fiq_regs(
struct
pt_regs
*
regs
)
52
{
53
__get_fiq_regs
(®s->ARM_r8);
54
}
55
56
#endif
Generated on Thu Jan 10 2013 12:55:06 for Linux Kernel by
1.8.2