Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
310a09d8
Commit
310a09d8
authored
Oct 23, 2007
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[MIPS] Alchemy: Nuke homebrew setup_irq(), it's broken and unnecessary.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
be5f1f21
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
34 deletions
+9
-34
arch/mips/au1000/common/irq.c
arch/mips/au1000/common/irq.c
+0
-32
arch/mips/au1000/common/time.c
arch/mips/au1000/common/time.c
+9
-2
No files found.
arch/mips/au1000/common/irq.c
View file @
310a09d8
...
...
@@ -318,38 +318,6 @@ static struct irq_chip level_irq_type = {
.
end
=
end_irq
,
};
#ifdef CONFIG_PM
void
startup_match20_interrupt
(
irq_handler_t
handler
)
{
struct
irq_desc
*
desc
=
&
irq_desc
[
AU1000_TOY_MATCH2_INT
];
static
struct
irqaction
action
;
memset
(
&
action
,
0
,
sizeof
(
struct
irqaction
));
/*
* This is a big problem.... since we didn't use request_irq
* when kernel/irq.c calls probe_irq_xxx this interrupt will
* be probed for usage. This will end up disabling the device :(
* Give it a bogus "action" pointer -- this will keep it from
* getting auto-probed!
*
* By setting the status to match that of request_irq() we
* can avoid it. --cgray
*/
action
.
dev_id
=
handler
;
action
.
flags
=
IRQF_DISABLED
;
cpus_clear
(
action
.
mask
);
action
.
name
=
"Au1xxx TOY"
;
action
.
handler
=
handler
;
action
.
next
=
NULL
;
desc
->
action
=
&
action
;
desc
->
status
&=
~
(
IRQ_DISABLED
|
IRQ_AUTODETECT
|
IRQ_WAITING
|
IRQ_INPROGRESS
);
local_enable_irq
(
AU1000_TOY_MATCH2_INT
);
}
#endif
static
void
__init
setup_local_irq
(
unsigned
int
irq_nr
,
int
type
,
int
int_req
)
{
unsigned
int
bit
=
irq_nr
-
AU1000_INTC0_INT_BASE
;
...
...
arch/mips/au1000/common/time.c
View file @
310a09d8
...
...
@@ -67,7 +67,7 @@ static DEFINE_SPINLOCK(time_lock);
unsigned
long
wtimer
;
#ifdef CONFIG_PM
irqreturn_t
counter0_irq
(
int
irq
,
void
*
dev_id
)
static
irqreturn_t
counter0_irq
(
int
irq
,
void
*
dev_id
)
{
unsigned
long
pc0
;
int
time_elapsed
;
...
...
@@ -117,6 +117,13 @@ irqreturn_t counter0_irq(int irq, void *dev_id)
return
IRQ_HANDLED
;
}
struct
irqaction
counter0_action
=
{
.
handler
=
counter0_irq
,
.
flags
=
IRQF_DISABLED
,
.
name
=
"alchemy-toy"
,
.
dev_id
=
NULL
,
};
/* When we wakeup from sleep, we have to "catch up" on all of the
* timer ticks we have missed.
*/
...
...
@@ -280,7 +287,7 @@ void __init plat_timer_setup(struct irqaction *irq)
au_writel
(
last_match20
+
MATCH20_INC
,
SYS_TOYMATCH2
);
au_sync
();
while
(
au_readl
(
SYS_COUNTER_CNTRL
)
&
SYS_CNTRL_M20
);
s
tartup_match20_interrupt
(
counter0_irq
);
s
etup_irq
(
AU1000_TOY_MATCH2_INT
,
&
counter0_action
);
/* We can use the real 'wait' instruction.
*/
...
...
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