Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
310a09d8
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
310a09d8
编写于
10月 23, 2007
作者:
R
Ralf Baechle
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[MIPS] Alchemy: Nuke homebrew setup_irq(), it's broken and unnecessary.
Signed-off-by:
N
Ralf Baechle
<
ralf@linux-mips.org
>
上级
be5f1f21
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
34 deletion
+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
未找到文件。
arch/mips/au1000/common/irq.c
浏览文件 @
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
浏览文件 @
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.
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录