Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
5d284e35
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5d284e35
编写于
4月 27, 2011
作者:
E
Eric Miao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARM: pxa: avoid accessing interrupt registers directly
Signed-off-by:
N
Eric Miao
<
eric.y.miao@gmail.com
>
上级
9c864410
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
11 addition
and
36 deletion
+11
-36
arch/arm/mach-pxa/include/mach/irqs.h
arch/arm/mach-pxa/include/mach/irqs.h
+7
-0
arch/arm/mach-pxa/include/mach/regs-intc.h
arch/arm/mach-pxa/include/mach/regs-intc.h
+0
-30
arch/arm/mach-pxa/irq.c
arch/arm/mach-pxa/irq.c
+2
-2
arch/arm/mach-pxa/pxa3xx.c
arch/arm/mach-pxa/pxa3xx.c
+2
-3
arch/arm/mach-pxa/pxa95x.c
arch/arm/mach-pxa/pxa95x.c
+0
-1
未找到文件。
arch/arm/mach-pxa/include/mach/irqs.h
浏览文件 @
5d284e35
...
@@ -104,4 +104,11 @@
...
@@ -104,4 +104,11 @@
#define NR_IRQS (IRQ_BOARD_START)
#define NR_IRQS (IRQ_BOARD_START)
#ifndef __ASSEMBLY__
struct
irq_data
;
void
pxa_mask_irq
(
struct
irq_data
*
);
void
pxa_unmask_irq
(
struct
irq_data
*
);
#endif
#endif
/* __ASM_MACH_IRQS_H */
#endif
/* __ASM_MACH_IRQS_H */
arch/arm/mach-pxa/include/mach/regs-intc.h
已删除
100644 → 0
浏览文件 @
9c864410
#ifndef __ASM_MACH_REGS_INTC_H
#define __ASM_MACH_REGS_INTC_H
#include <mach/hardware.h>
/*
* Interrupt Controller
*/
#define ICIP __REG(0x40D00000)
/* Interrupt Controller IRQ Pending Register */
#define ICMR __REG(0x40D00004)
/* Interrupt Controller Mask Register */
#define ICLR __REG(0x40D00008)
/* Interrupt Controller Level Register */
#define ICFP __REG(0x40D0000C)
/* Interrupt Controller FIQ Pending Register */
#define ICPR __REG(0x40D00010)
/* Interrupt Controller Pending Register */
#define ICCR __REG(0x40D00014)
/* Interrupt Controller Control Register */
#define ICHP __REG(0x40D00018)
/* Interrupt Controller Highest Priority Register */
#define ICIP2 __REG(0x40D0009C)
/* Interrupt Controller IRQ Pending Register 2 */
#define ICMR2 __REG(0x40D000A0)
/* Interrupt Controller Mask Register 2 */
#define ICLR2 __REG(0x40D000A4)
/* Interrupt Controller Level Register 2 */
#define ICFP2 __REG(0x40D000A8)
/* Interrupt Controller FIQ Pending Register 2 */
#define ICPR2 __REG(0x40D000AC)
/* Interrupt Controller Pending Register 2 */
#define ICIP3 __REG(0x40D00130)
/* Interrupt Controller IRQ Pending Register 3 */
#define ICMR3 __REG(0x40D00134)
/* Interrupt Controller Mask Register 3 */
#define ICLR3 __REG(0x40D00138)
/* Interrupt Controller Level Register 3 */
#define ICFP3 __REG(0x40D0013C)
/* Interrupt Controller FIQ Pending Register 3 */
#define ICPR3 __REG(0x40D00140)
/* Interrupt Controller Pending Register 3 */
#endif
/* __ASM_MACH_REGS_INTC_H */
arch/arm/mach-pxa/irq.c
浏览文件 @
5d284e35
...
@@ -64,7 +64,7 @@ static inline void __iomem *irq_base(int i)
...
@@ -64,7 +64,7 @@ static inline void __iomem *irq_base(int i)
return
(
void
__iomem
*
)
io_p2v
(
phys_base
[
i
]);
return
(
void
__iomem
*
)
io_p2v
(
phys_base
[
i
]);
}
}
static
void
pxa_mask_irq
(
struct
irq_data
*
d
)
void
pxa_mask_irq
(
struct
irq_data
*
d
)
{
{
void
__iomem
*
base
=
irq_data_get_irq_chip_data
(
d
);
void
__iomem
*
base
=
irq_data_get_irq_chip_data
(
d
);
uint32_t
icmr
=
__raw_readl
(
base
+
ICMR
);
uint32_t
icmr
=
__raw_readl
(
base
+
ICMR
);
...
@@ -73,7 +73,7 @@ static void pxa_mask_irq(struct irq_data *d)
...
@@ -73,7 +73,7 @@ static void pxa_mask_irq(struct irq_data *d)
__raw_writel
(
icmr
,
base
+
ICMR
);
__raw_writel
(
icmr
,
base
+
ICMR
);
}
}
static
void
pxa_unmask_irq
(
struct
irq_data
*
d
)
void
pxa_unmask_irq
(
struct
irq_data
*
d
)
{
{
void
__iomem
*
base
=
irq_data_get_irq_chip_data
(
d
);
void
__iomem
*
base
=
irq_data_get_irq_chip_data
(
d
);
uint32_t
icmr
=
__raw_readl
(
base
+
ICMR
);
uint32_t
icmr
=
__raw_readl
(
base
+
ICMR
);
...
...
arch/arm/mach-pxa/pxa3xx.c
浏览文件 @
5d284e35
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
#include <mach/ohci.h>
#include <mach/ohci.h>
#include <mach/pm.h>
#include <mach/pm.h>
#include <mach/dma.h>
#include <mach/dma.h>
#include <mach/regs-intc.h>
#include <mach/smemc.h>
#include <mach/smemc.h>
#include "generic.h"
#include "generic.h"
...
@@ -328,13 +327,13 @@ static void pxa_ack_ext_wakeup(struct irq_data *d)
...
@@ -328,13 +327,13 @@ static void pxa_ack_ext_wakeup(struct irq_data *d)
static
void
pxa_mask_ext_wakeup
(
struct
irq_data
*
d
)
static
void
pxa_mask_ext_wakeup
(
struct
irq_data
*
d
)
{
{
ICMR2
&=
~
(
1
<<
((
d
->
irq
-
PXA_IRQ
(
0
))
&
0x1f
)
);
pxa_mask_irq
(
d
);
PECR
&=
~
PECR_IE
(
d
->
irq
-
IRQ_WAKEUP0
);
PECR
&=
~
PECR_IE
(
d
->
irq
-
IRQ_WAKEUP0
);
}
}
static
void
pxa_unmask_ext_wakeup
(
struct
irq_data
*
d
)
static
void
pxa_unmask_ext_wakeup
(
struct
irq_data
*
d
)
{
{
ICMR2
|=
1
<<
((
d
->
irq
-
PXA_IRQ
(
0
))
&
0x1f
);
pxa_unmask_irq
(
d
);
PECR
|=
PECR_IE
(
d
->
irq
-
IRQ_WAKEUP0
);
PECR
|=
PECR_IE
(
d
->
irq
-
IRQ_WAKEUP0
);
}
}
...
...
arch/arm/mach-pxa/pxa95x.c
浏览文件 @
5d284e35
...
@@ -27,7 +27,6 @@
...
@@ -27,7 +27,6 @@
#include <mach/reset.h>
#include <mach/reset.h>
#include <mach/pm.h>
#include <mach/pm.h>
#include <mach/dma.h>
#include <mach/dma.h>
#include <mach/regs-intc.h>
#include "generic.h"
#include "generic.h"
#include "devices.h"
#include "devices.h"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录