Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
21f762b4
Commit
21f762b4
authored
Jan 01, 2003
by
Russell King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] Add basic support for enable/disable_irq_wake.
parent
5d9432fb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
2 deletions
+33
-2
arch/arm/kernel/armksyms.c
arch/arm/kernel/armksyms.c
+2
-1
arch/arm/kernel/irq.c
arch/arm/kernel/irq.c
+25
-0
include/asm-arm/irq.h
include/asm-arm/irq.h
+2
-1
include/asm-arm/mach/irq.h
include/asm-arm/mach/irq.h
+4
-0
No files found.
arch/arm/kernel/armksyms.c
View file @
21f762b4
...
@@ -127,7 +127,8 @@ EXPORT_SYMBOL(enable_irq);
...
@@ -127,7 +127,8 @@ EXPORT_SYMBOL(enable_irq);
EXPORT_SYMBOL
(
disable_irq
);
EXPORT_SYMBOL
(
disable_irq
);
EXPORT_SYMBOL
(
probe_irq_mask
);
EXPORT_SYMBOL
(
probe_irq_mask
);
EXPORT_SYMBOL
(
set_irq_type
);
EXPORT_SYMBOL
(
set_irq_type
);
EXPORT_SYMBOL
(
set_irq_wake
);
EXPORT_SYMBOL
(
enable_irq_wake
);
EXPORT_SYMBOL
(
disable_irq_wake
);
EXPORT_SYMBOL
(
pm_idle
);
EXPORT_SYMBOL
(
pm_idle
);
EXPORT_SYMBOL
(
pm_power_off
);
EXPORT_SYMBOL
(
pm_power_off
);
EXPORT_SYMBOL
(
fp_init
);
EXPORT_SYMBOL
(
fp_init
);
...
...
arch/arm/kernel/irq.c
View file @
21f762b4
...
@@ -129,6 +129,31 @@ void enable_irq(unsigned int irq)
...
@@ -129,6 +129,31 @@ void enable_irq(unsigned int irq)
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
}
/*
* Enable wake on selected irq
*/
void
enable_irq_wake
(
unsigned
int
irq
)
{
struct
irqdesc
*
desc
=
irq_desc
+
irq
;
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
desc
->
chip
->
wake
)
desc
->
chip
->
wake
(
irq
,
1
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
void
disable_irq_wake
(
unsigned
int
irq
)
{
struct
irqdesc
*
desc
=
irq_desc
+
irq
;
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
desc
->
chip
->
wake
)
desc
->
chip
->
wake
(
irq
,
0
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
int
show_interrupts
(
struct
seq_file
*
p
,
void
*
v
)
int
show_interrupts
(
struct
seq_file
*
p
,
void
*
v
)
{
{
int
i
;
int
i
;
...
...
include/asm-arm/irq.h
View file @
21f762b4
...
@@ -40,7 +40,8 @@ extern void enable_irq(unsigned int);
...
@@ -40,7 +40,8 @@ extern void enable_irq(unsigned int);
#define IRQT_PROBE (1 << 4)
#define IRQT_PROBE (1 << 4)
int
set_irq_type
(
unsigned
int
irq
,
unsigned
int
type
);
int
set_irq_type
(
unsigned
int
irq
,
unsigned
int
type
);
void
disable_irq_wake
(
unsigned
int
irq
);
void
enable_irq_wake
(
unsigned
int
irq
);
int
setup_irq
(
unsigned
int
,
struct
irqaction
*
);
int
setup_irq
(
unsigned
int
,
struct
irqaction
*
);
#endif
#endif
...
...
include/asm-arm/mach/irq.h
View file @
21f762b4
...
@@ -40,6 +40,10 @@ struct irqchip {
...
@@ -40,6 +40,10 @@ struct irqchip {
* Set the type of the IRQ.
* Set the type of the IRQ.
*/
*/
int
(
*
type
)(
unsigned
int
,
unsigned
int
);
int
(
*
type
)(
unsigned
int
,
unsigned
int
);
/*
* Set wakeup-enable on the selected IRQ
*/
int
(
*
wake
)(
unsigned
int
,
unsigned
int
);
};
};
struct
irqdesc
{
struct
irqdesc
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment