Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
6e8f54fa
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
6e8f54fa
编写于
11月 29, 2010
作者:
L
Lennert Buytenhek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARM: ixp2000: irq_data conversion.
Signed-off-by:
N
Lennert Buytenhek
<
buytenh@secretlab.ca
>
上级
a0ad2a7e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
56 addition
and
50 deletion
+56
-50
arch/arm/mach-ixp2000/core.c
arch/arm/mach-ixp2000/core.c
+38
-32
arch/arm/mach-ixp2000/ixdp2x00.c
arch/arm/mach-ixp2000/ixdp2x00.c
+9
-9
arch/arm/mach-ixp2000/ixdp2x01.c
arch/arm/mach-ixp2000/ixdp2x01.c
+9
-9
未找到文件。
arch/arm/mach-ixp2000/core.c
浏览文件 @
6e8f54fa
...
...
@@ -309,9 +309,9 @@ static void ixp2000_GPIO_irq_handler(unsigned int irq, struct irq_desc *desc)
}
}
static
int
ixp2000_GPIO_irq_type
(
unsigned
int
irq
,
unsigned
int
type
)
static
int
ixp2000_GPIO_irq_type
(
struct
irq_data
*
d
,
unsigned
int
type
)
{
int
line
=
irq
-
IRQ_IXP2000_GPIO0
;
int
line
=
d
->
irq
-
IRQ_IXP2000_GPIO0
;
/*
* First, configure this GPIO line as an input.
...
...
@@ -342,8 +342,10 @@ static int ixp2000_GPIO_irq_type(unsigned int irq, unsigned int type)
return
0
;
}
static
void
ixp2000_GPIO_irq_mask_ack
(
unsigned
int
irq
)
static
void
ixp2000_GPIO_irq_mask_ack
(
struct
irq_data
*
d
)
{
unsigned
int
irq
=
d
->
irq
;
ixp2000_reg_write
(
IXP2000_GPIO_INCR
,
(
1
<<
(
irq
-
IRQ_IXP2000_GPIO0
)));
ixp2000_reg_write
(
IXP2000_GPIO_EDSR
,
(
1
<<
(
irq
-
IRQ_IXP2000_GPIO0
)));
...
...
@@ -351,38 +353,42 @@ static void ixp2000_GPIO_irq_mask_ack(unsigned int irq)
ixp2000_reg_wrb
(
IXP2000_GPIO_INST
,
(
1
<<
(
irq
-
IRQ_IXP2000_GPIO0
)));
}
static
void
ixp2000_GPIO_irq_mask
(
unsigned
int
irq
)
static
void
ixp2000_GPIO_irq_mask
(
struct
irq_data
*
d
)
{
unsigned
int
irq
=
d
->
irq
;
ixp2000_reg_wrb
(
IXP2000_GPIO_INCR
,
(
1
<<
(
irq
-
IRQ_IXP2000_GPIO0
)));
}
static
void
ixp2000_GPIO_irq_unmask
(
unsigned
int
irq
)
static
void
ixp2000_GPIO_irq_unmask
(
struct
irq_data
*
d
)
{
unsigned
int
irq
=
d
->
irq
;
ixp2000_reg_write
(
IXP2000_GPIO_INSR
,
(
1
<<
(
irq
-
IRQ_IXP2000_GPIO0
)));
}
static
struct
irq_chip
ixp2000_GPIO_irq_chip
=
{
.
ack
=
ixp2000_GPIO_irq_mask_ack
,
.
mask
=
ixp2000_GPIO_irq_mask
,
.
unmask
=
ixp2000_GPIO_irq_unmask
,
.
set_type
=
ixp2000_GPIO_irq_type
,
.
irq_ack
=
ixp2000_GPIO_irq_mask_ack
,
.
irq_mask
=
ixp2000_GPIO_irq_mask
,
.
irq_unmask
=
ixp2000_GPIO_irq_unmask
,
.
irq_
set_type
=
ixp2000_GPIO_irq_type
,
};
static
void
ixp2000_pci_irq_mask
(
unsigned
int
irq
)
static
void
ixp2000_pci_irq_mask
(
struct
irq_data
*
d
)
{
unsigned
long
temp
=
*
IXP2000_PCI_XSCALE_INT_ENABLE
;
if
(
irq
==
IRQ_IXP2000_PCIA
)
if
(
d
->
irq
==
IRQ_IXP2000_PCIA
)
ixp2000_reg_wrb
(
IXP2000_PCI_XSCALE_INT_ENABLE
,
(
temp
&
~
(
1
<<
26
)));
else
if
(
irq
==
IRQ_IXP2000_PCIB
)
else
if
(
d
->
irq
==
IRQ_IXP2000_PCIB
)
ixp2000_reg_wrb
(
IXP2000_PCI_XSCALE_INT_ENABLE
,
(
temp
&
~
(
1
<<
27
)));
}
static
void
ixp2000_pci_irq_unmask
(
unsigned
int
irq
)
static
void
ixp2000_pci_irq_unmask
(
struct
irq_data
*
d
)
{
unsigned
long
temp
=
*
IXP2000_PCI_XSCALE_INT_ENABLE
;
if
(
irq
==
IRQ_IXP2000_PCIA
)
if
(
d
->
irq
==
IRQ_IXP2000_PCIA
)
ixp2000_reg_write
(
IXP2000_PCI_XSCALE_INT_ENABLE
,
(
temp
|
(
1
<<
26
)));
else
if
(
irq
==
IRQ_IXP2000_PCIB
)
else
if
(
d
->
irq
==
IRQ_IXP2000_PCIB
)
ixp2000_reg_write
(
IXP2000_PCI_XSCALE_INT_ENABLE
,
(
temp
|
(
1
<<
27
)));
}
...
...
@@ -401,44 +407,44 @@ static void ixp2000_err_irq_handler(unsigned int irq, struct irq_desc *desc)
}
}
static
void
ixp2000_err_irq_mask
(
unsigned
int
irq
)
static
void
ixp2000_err_irq_mask
(
struct
irq_data
*
d
)
{
ixp2000_reg_write
(
IXP2000_IRQ_ERR_ENABLE_CLR
,
(
1
<<
(
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
(
1
<<
(
d
->
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
}
static
void
ixp2000_err_irq_unmask
(
unsigned
int
irq
)
static
void
ixp2000_err_irq_unmask
(
struct
irq_data
*
d
)
{
ixp2000_reg_write
(
IXP2000_IRQ_ERR_ENABLE_SET
,
(
1
<<
(
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
(
1
<<
(
d
->
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
}
static
struct
irq_chip
ixp2000_err_irq_chip
=
{
.
ack
=
ixp2000_err_irq_mask
,
.
mask
=
ixp2000_err_irq_mask
,
.
unmask
=
ixp2000_err_irq_unmask
.
irq_
ack
=
ixp2000_err_irq_mask
,
.
irq_
mask
=
ixp2000_err_irq_mask
,
.
irq_
unmask
=
ixp2000_err_irq_unmask
};
static
struct
irq_chip
ixp2000_pci_irq_chip
=
{
.
ack
=
ixp2000_pci_irq_mask
,
.
mask
=
ixp2000_pci_irq_mask
,
.
unmask
=
ixp2000_pci_irq_unmask
.
irq_
ack
=
ixp2000_pci_irq_mask
,
.
irq_
mask
=
ixp2000_pci_irq_mask
,
.
irq_
unmask
=
ixp2000_pci_irq_unmask
};
static
void
ixp2000_irq_mask
(
unsigned
int
irq
)
static
void
ixp2000_irq_mask
(
struct
irq_data
*
d
)
{
ixp2000_reg_wrb
(
IXP2000_IRQ_ENABLE_CLR
,
(
1
<<
irq
));
ixp2000_reg_wrb
(
IXP2000_IRQ_ENABLE_CLR
,
(
1
<<
d
->
irq
));
}
static
void
ixp2000_irq_unmask
(
unsigned
int
irq
)
static
void
ixp2000_irq_unmask
(
struct
irq_data
*
d
)
{
ixp2000_reg_write
(
IXP2000_IRQ_ENABLE_SET
,
(
1
<<
irq
));
ixp2000_reg_write
(
IXP2000_IRQ_ENABLE_SET
,
(
1
<<
d
->
irq
));
}
static
struct
irq_chip
ixp2000_irq_chip
=
{
.
ack
=
ixp2000_irq_mask
,
.
mask
=
ixp2000_irq_mask
,
.
unmask
=
ixp2000_irq_unmask
.
irq_
ack
=
ixp2000_irq_mask
,
.
irq_
mask
=
ixp2000_irq_mask
,
.
irq_
unmask
=
ixp2000_irq_unmask
};
void
__init
ixp2000_init_irq
(
void
)
...
...
arch/arm/mach-ixp2000/ixdp2x00.c
浏览文件 @
6e8f54fa
...
...
@@ -63,7 +63,7 @@ static struct slowport_cfg slowport_cpld_cfg = {
};
#endif
static
void
ixdp2x00_irq_mask
(
unsigned
int
irq
)
static
void
ixdp2x00_irq_mask
(
struct
irq_data
*
d
)
{
unsigned
long
dummy
;
static
struct
slowport_cfg
old_cfg
;
...
...
@@ -78,7 +78,7 @@ static void ixdp2x00_irq_mask(unsigned int irq)
#endif
dummy
=
*
board_irq_mask
;
dummy
|=
IXP2000_BOARD_IRQ_MASK
(
irq
);
dummy
|=
IXP2000_BOARD_IRQ_MASK
(
d
->
irq
);
ixp2000_reg_wrb
(
board_irq_mask
,
dummy
);
#ifdef CONFIG_ARCH_IXDP2400
...
...
@@ -87,7 +87,7 @@ static void ixdp2x00_irq_mask(unsigned int irq)
#endif
}
static
void
ixdp2x00_irq_unmask
(
unsigned
int
irq
)
static
void
ixdp2x00_irq_unmask
(
struct
irq_data
*
d
)
{
unsigned
long
dummy
;
static
struct
slowport_cfg
old_cfg
;
...
...
@@ -98,7 +98,7 @@ static void ixdp2x00_irq_unmask(unsigned int irq)
#endif
dummy
=
*
board_irq_mask
;
dummy
&=
~
IXP2000_BOARD_IRQ_MASK
(
irq
);
dummy
&=
~
IXP2000_BOARD_IRQ_MASK
(
d
->
irq
);
ixp2000_reg_wrb
(
board_irq_mask
,
dummy
);
if
(
machine_is_ixdp2400
())
...
...
@@ -111,7 +111,7 @@ static void ixdp2x00_irq_handler(unsigned int irq, struct irq_desc *desc)
static
struct
slowport_cfg
old_cfg
;
int
i
;
desc
->
chip
->
mask
(
irq
);
desc
->
irq_data
.
chip
->
irq_mask
(
&
desc
->
irq_data
);
#ifdef CONFIG_ARCH_IXDP2400
if
(
machine_is_ixdp2400
())
...
...
@@ -133,13 +133,13 @@ static void ixdp2x00_irq_handler(unsigned int irq, struct irq_desc *desc)
}
}
desc
->
chip
->
unmask
(
irq
);
desc
->
irq_data
.
chip
->
irq_unmask
(
&
desc
->
irq_data
);
}
static
struct
irq_chip
ixdp2x00_cpld_irq_chip
=
{
.
ack
=
ixdp2x00_irq_mask
,
.
mask
=
ixdp2x00_irq_mask
,
.
unmask
=
ixdp2x00_irq_unmask
.
irq_
ack
=
ixdp2x00_irq_mask
,
.
irq_
mask
=
ixdp2x00_irq_mask
,
.
irq_
unmask
=
ixdp2x00_irq_unmask
};
void
__init
ixdp2x00_init_irq
(
volatile
unsigned
long
*
stat_reg
,
volatile
unsigned
long
*
mask_reg
,
unsigned
long
nr_of_irqs
)
...
...
arch/arm/mach-ixp2000/ixdp2x01.c
浏览文件 @
6e8f54fa
...
...
@@ -48,16 +48,16 @@
/*************************************************************************
* IXDP2x01 IRQ Handling
*************************************************************************/
static
void
ixdp2x01_irq_mask
(
unsigned
int
irq
)
static
void
ixdp2x01_irq_mask
(
struct
irq_data
*
d
)
{
ixp2000_reg_wrb
(
IXDP2X01_INT_MASK_SET_REG
,
IXP2000_BOARD_IRQ_MASK
(
irq
));
IXP2000_BOARD_IRQ_MASK
(
d
->
irq
));
}
static
void
ixdp2x01_irq_unmask
(
unsigned
int
irq
)
static
void
ixdp2x01_irq_unmask
(
struct
irq_data
*
d
)
{
ixp2000_reg_write
(
IXDP2X01_INT_MASK_CLR_REG
,
IXP2000_BOARD_IRQ_MASK
(
irq
));
IXP2000_BOARD_IRQ_MASK
(
d
->
irq
));
}
static
u32
valid_irq_mask
;
...
...
@@ -67,7 +67,7 @@ static void ixdp2x01_irq_handler(unsigned int irq, struct irq_desc *desc)
u32
ex_interrupt
;
int
i
;
desc
->
chip
->
mask
(
irq
);
desc
->
irq_data
.
chip
->
irq_mask
(
&
desc
->
irq_data
);
ex_interrupt
=
*
IXDP2X01_INT_STAT_REG
&
valid_irq_mask
;
...
...
@@ -83,13 +83,13 @@ static void ixdp2x01_irq_handler(unsigned int irq, struct irq_desc *desc)
}
}
desc
->
chip
->
unmask
(
irq
);
desc
->
irq_data
.
chip
->
irq_unmask
(
&
desc
->
irq_data
);
}
static
struct
irq_chip
ixdp2x01_irq_chip
=
{
.
mask
=
ixdp2x01_irq_mask
,
.
ack
=
ixdp2x01_irq_mask
,
.
unmask
=
ixdp2x01_irq_unmask
.
irq_
mask
=
ixdp2x01_irq_mask
,
.
irq_
ack
=
ixdp2x01_irq_mask
,
.
irq_
unmask
=
ixdp2x01_irq_unmask
};
/*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录