Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openthos
linux
提交
64c4813d
L
linux
项目概览
openthos
/
linux
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
64c4813d
编写于
9月 05, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/home/rmk/linux-2.6-arm
上级
babf68de
664399e1
变更
34
隐藏空白更改
内联
并排
Showing
34 changed file
with
102 addition
and
92 deletion
+102
-92
arch/arm/common/locomo.c
arch/arm/common/locomo.c
+12
-12
arch/arm/common/sa1111.c
arch/arm/common/sa1111.c
+4
-4
arch/arm/kernel/ecard.c
arch/arm/kernel/ecard.c
+2
-2
arch/arm/kernel/irq.c
arch/arm/kernel/irq.c
+10
-10
arch/arm/kernel/smp.c
arch/arm/kernel/smp.c
+1
-1
arch/arm/mach-footbridge/isa-irq.c
arch/arm/mach-footbridge/isa-irq.c
+1
-1
arch/arm/mach-h720x/common.c
arch/arm/mach-h720x/common.c
+1
-1
arch/arm/mach-h720x/cpu-h7202.c
arch/arm/mach-h720x/cpu-h7202.c
+1
-1
arch/arm/mach-imx/irq.c
arch/arm/mach-imx/irq.c
+2
-2
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-integrator/integrator_cp.c
+1
-1
arch/arm/mach-ixp2000/core.c
arch/arm/mach-ixp2000/core.c
+5
-5
arch/arm/mach-ixp2000/ixdp2x00.c
arch/arm/mach-ixp2000/ixdp2x00.c
+1
-1
arch/arm/mach-ixp2000/ixdp2x01.c
arch/arm/mach-ixp2000/ixdp2x01.c
+1
-1
arch/arm/mach-lh7a40x/common.h
arch/arm/mach-lh7a40x/common.h
+1
-1
arch/arm/mach-omap1/fpga.c
arch/arm/mach-omap1/fpga.c
+1
-1
arch/arm/mach-pxa/irq.c
arch/arm/mach-pxa/irq.c
+6
-6
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/lubbock.c
+1
-1
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mainstone.c
+1
-1
arch/arm/mach-s3c2410/bast-irq.c
arch/arm/mach-s3c2410/bast-irq.c
+1
-1
arch/arm/mach-s3c2410/irq.c
arch/arm/mach-s3c2410/irq.c
+11
-11
arch/arm/mach-s3c2410/pm.c
arch/arm/mach-s3c2410/pm.c
+4
-2
arch/arm/mach-s3c2410/s3c2440-irq.c
arch/arm/mach-s3c2410/s3c2440-irq.c
+4
-4
arch/arm/mach-sa1100/irq.c
arch/arm/mach-sa1100/irq.c
+5
-5
arch/arm/mach-sa1100/neponset.c
arch/arm/mach-sa1100/neponset.c
+3
-3
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.c
+1
-1
arch/arm/mm/proc-arm6_7.S
arch/arm/mm/proc-arm6_7.S
+4
-4
arch/arm/plat-omap/gpio.c
arch/arm/plat-omap/gpio.c
+1
-1
drivers/pcmcia/pxa2xx_base.c
drivers/pcmcia/pxa2xx_base.c
+1
-1
drivers/pcmcia/pxa2xx_mainstone.c
drivers/pcmcia/pxa2xx_mainstone.c
+1
-1
drivers/pcmcia/pxa2xx_sharpsl.c
drivers/pcmcia/pxa2xx_sharpsl.c
+1
-1
drivers/pcmcia/sa1100_generic.c
drivers/pcmcia/sa1100_generic.c
+1
-1
drivers/pcmcia/sa1111_generic.c
drivers/pcmcia/sa1111_generic.c
+1
-1
drivers/pcmcia/sa11xx_base.c
drivers/pcmcia/sa11xx_base.c
+1
-1
include/asm-arm/mach/irq.h
include/asm-arm/mach/irq.h
+10
-2
未找到文件。
arch/arm/common/locomo.c
浏览文件 @
64c4813d
...
...
@@ -177,7 +177,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc,
d
=
irq_desc
+
irq
;
for
(
i
=
0
;
i
<=
3
;
i
++
,
d
++
,
irq
++
)
{
if
(
req
&
(
0x0100
<<
i
))
{
d
->
handle
(
irq
,
d
,
regs
);
d
esc_handle_irq
(
irq
,
d
,
regs
);
}
}
...
...
@@ -220,7 +220,7 @@ static void locomo_key_handler(unsigned int irq, struct irqdesc *desc,
if
(
locomo_readl
(
mapbase
+
LOCOMO_KEYBOARD
+
LOCOMO_KIC
)
&
0x0001
)
{
d
=
irq_desc
+
LOCOMO_IRQ_KEY_START
;
d
->
handle
(
LOCOMO_IRQ_KEY_START
,
d
,
regs
);
d
esc_handle_irq
(
LOCOMO_IRQ_KEY_START
,
d
,
regs
);
}
}
...
...
@@ -273,7 +273,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,
d
=
irq_desc
+
LOCOMO_IRQ_GPIO_START
;
for
(
i
=
0
;
i
<=
15
;
i
++
,
irq
++
,
d
++
)
{
if
(
req
&
(
0x0001
<<
i
))
{
d
->
handle
(
irq
,
d
,
regs
);
d
esc_handle_irq
(
irq
,
d
,
regs
);
}
}
}
...
...
@@ -328,7 +328,7 @@ static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc,
if
(
locomo_readl
(
mapbase
+
LOCOMO_LTINT
)
&
0x0001
)
{
d
=
irq_desc
+
LOCOMO_IRQ_LT_START
;
d
->
handle
(
LOCOMO_IRQ_LT_START
,
d
,
regs
);
d
esc_handle_irq
(
LOCOMO_IRQ_LT_START
,
d
,
regs
);
}
}
...
...
@@ -379,7 +379,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,
for
(
i
=
0
;
i
<=
3
;
i
++
,
irq
++
,
d
++
)
{
if
(
req
&
(
0x0001
<<
i
))
{
d
->
handle
(
irq
,
d
,
regs
);
d
esc_handle_irq
(
irq
,
d
,
regs
);
}
}
}
...
...
@@ -651,15 +651,15 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
return
ret
;
}
static
void
__locomo_remove
(
struct
locomo
*
lchip
)
static
int
locomo_remove_child
(
struct
device
*
dev
,
void
*
data
)
{
struct
list_head
*
l
,
*
n
;
list_for_each_safe
(
l
,
n
,
&
lchip
->
dev
->
children
)
{
struct
device
*
d
=
list_to_dev
(
l
);
device_unregister
(
dev
);
return
0
;
}
device_unregister
(
d
);
}
static
void
__locomo_remove
(
struct
locomo
*
lchip
)
{
device_for_each_child
(
lchip
->
dev
,
NULL
,
locomo_remove_child
);
if
(
lchip
->
irq
!=
NO_IRQ
)
{
set_irq_chained_handler
(
lchip
->
irq
,
NULL
);
...
...
arch/arm/common/sa1111.c
浏览文件 @
64c4813d
...
...
@@ -268,8 +268,8 @@ static struct irqchip sa1111_low_chip = {
.
mask
=
sa1111_mask_lowirq
,
.
unmask
=
sa1111_unmask_lowirq
,
.
retrigger
=
sa1111_retrigger_lowirq
,
.
type
=
sa1111_type_lowirq
,
.
wake
=
sa1111_wake_lowirq
,
.
set_type
=
sa1111_type_lowirq
,
.
set_wake
=
sa1111_wake_lowirq
,
};
static
void
sa1111_mask_highirq
(
unsigned
int
irq
)
...
...
@@ -364,8 +364,8 @@ static struct irqchip sa1111_high_chip = {
.
mask
=
sa1111_mask_highirq
,
.
unmask
=
sa1111_unmask_highirq
,
.
retrigger
=
sa1111_retrigger_highirq
,
.
type
=
sa1111_type_highirq
,
.
wake
=
sa1111_wake_highirq
,
.
set_type
=
sa1111_type_highirq
,
.
set_wake
=
sa1111_wake_highirq
,
};
static
void
sa1111_setup_irq
(
struct
sa1111
*
sachip
)
...
...
arch/arm/kernel/ecard.c
浏览文件 @
64c4813d
...
...
@@ -585,7 +585,7 @@ ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
if
(
pending
)
{
struct
irqdesc
*
d
=
irq_desc
+
ec
->
irq
;
d
->
handle
(
ec
->
irq
,
d
,
regs
);
d
esc_handle_irq
(
ec
->
irq
,
d
,
regs
);
called
++
;
}
}
...
...
@@ -632,7 +632,7 @@ ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
* Serial cards should go in 0/1, ethernet/scsi in 2/3
* otherwise you will lose serial data at high speeds!
*/
d
->
handle
(
ec
->
irq
,
d
,
regs
);
d
esc_handle_irq
(
ec
->
irq
,
d
,
regs
);
}
else
{
printk
(
KERN_WARNING
"card%d: interrupt from unclaimed "
"card???
\n
"
,
slot
);
...
...
arch/arm/kernel/irq.c
浏览文件 @
64c4813d
...
...
@@ -207,8 +207,8 @@ void enable_irq_wake(unsigned int irq)
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
desc
->
chip
->
wake
)
desc
->
chip
->
wake
(
irq
,
1
);
if
(
desc
->
chip
->
set_
wake
)
desc
->
chip
->
set_
wake
(
irq
,
1
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
EXPORT_SYMBOL
(
enable_irq_wake
);
...
...
@@ -219,8 +219,8 @@ void disable_irq_wake(unsigned int irq)
unsigned
long
flags
;
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
if
(
desc
->
chip
->
wake
)
desc
->
chip
->
wake
(
irq
,
0
);
if
(
desc
->
chip
->
set_
wake
)
desc
->
chip
->
set_
wake
(
irq
,
0
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
EXPORT_SYMBOL
(
disable_irq_wake
);
...
...
@@ -517,7 +517,7 @@ static void do_pending_irqs(struct pt_regs *regs)
list_for_each_safe
(
l
,
n
,
&
head
)
{
desc
=
list_entry
(
l
,
struct
irqdesc
,
pend
);
list_del_init
(
&
desc
->
pend
);
desc
->
handle
(
desc
-
irq_desc
,
desc
,
regs
);
desc
_handle_irq
(
desc
-
irq_desc
,
desc
,
regs
);
}
/*
...
...
@@ -545,7 +545,7 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
irq_enter
();
spin_lock
(
&
irq_controller_lock
);
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
/*
* Now re-run any pending interrupts.
...
...
@@ -624,9 +624,9 @@ int set_irq_type(unsigned int irq, unsigned int type)
}
desc
=
irq_desc
+
irq
;
if
(
desc
->
chip
->
type
)
{
if
(
desc
->
chip
->
set_
type
)
{
spin_lock_irqsave
(
&
irq_controller_lock
,
flags
);
ret
=
desc
->
chip
->
type
(
irq
,
type
);
ret
=
desc
->
chip
->
set_
type
(
irq
,
type
);
spin_unlock_irqrestore
(
&
irq_controller_lock
,
flags
);
}
...
...
@@ -846,8 +846,8 @@ unsigned long probe_irq_on(void)
irq_desc
[
i
].
probing
=
1
;
irq_desc
[
i
].
triggered
=
0
;
if
(
irq_desc
[
i
].
chip
->
type
)
irq_desc
[
i
].
chip
->
type
(
i
,
IRQT_PROBE
);
if
(
irq_desc
[
i
].
chip
->
set_
type
)
irq_desc
[
i
].
chip
->
set_
type
(
i
,
IRQT_PROBE
);
irq_desc
[
i
].
chip
->
unmask
(
i
);
irqs
+=
1
;
}
...
...
arch/arm/kernel/smp.c
浏览文件 @
64c4813d
...
...
@@ -110,7 +110,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
* We need to tell the secondary core where to find
* its stack and the page tables.
*/
secondary_data
.
stack
=
(
void
*
)
idle
->
thread_info
+
THREAD_S
IZE
-
8
;
secondary_data
.
stack
=
(
void
*
)
idle
->
thread_info
+
THREAD_S
TART_SP
;
secondary_data
.
pgdir
=
virt_to_phys
(
pgd
);
wmb
();
...
...
arch/arm/mach-footbridge/isa-irq.c
浏览文件 @
64c4813d
...
...
@@ -95,7 +95,7 @@ isa_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
}
desc
=
irq_desc
+
isa_irq
;
desc
->
handle
(
isa_irq
,
desc
,
regs
);
desc
_handle_irq
(
isa_irq
,
desc
,
regs
);
}
static
struct
irqaction
irq_cascade
=
{
.
handler
=
no_action
,
.
name
=
"cascade"
,
};
...
...
arch/arm/mach-h720x/common.c
浏览文件 @
64c4813d
...
...
@@ -108,7 +108,7 @@ h720x_gpio_handler(unsigned int mask, unsigned int irq,
while
(
mask
)
{
if
(
mask
&
1
)
{
IRQDBG
(
"handling irq %d
\n
"
,
irq
);
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
irq
++
;
desc
++
;
...
...
arch/arm/mach-h720x/cpu-h7202.c
浏览文件 @
64c4813d
...
...
@@ -126,7 +126,7 @@ h7202_timerx_demux_handler(unsigned int irq_unused, struct irqdesc *desc,
desc
=
irq_desc
+
irq
;
while
(
mask
)
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
irq
++
;
desc
++
;
mask
>>=
1
;
...
...
arch/arm/mach-imx/irq.c
浏览文件 @
64c4813d
...
...
@@ -152,7 +152,7 @@ imx_gpio_handler(unsigned int mask, unsigned int irq,
while
(
mask
)
{
if
(
mask
&
1
)
{
DEBUG_IRQ
(
"handling irq %d
\n
"
,
irq
);
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
irq
++
;
desc
++
;
...
...
@@ -214,7 +214,7 @@ static struct irqchip imx_gpio_chip = {
.
ack
=
imx_gpio_ack_irq
,
.
mask
=
imx_gpio_mask_irq
,
.
unmask
=
imx_gpio_unmask_irq
,
.
type
=
imx_gpio_irq_type
,
.
set_
type
=
imx_gpio_irq_type
,
};
void
__init
...
...
arch/arm/mach-integrator/integrator_cp.c
浏览文件 @
64c4813d
...
...
@@ -170,7 +170,7 @@ sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
irq
+=
IRQ_SIC_START
;
desc
=
irq_desc
+
irq
;
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
while
(
status
);
}
...
...
arch/arm/mach-ixp2000/core.c
浏览文件 @
64c4813d
...
...
@@ -317,7 +317,7 @@ static void ixp2000_GPIO_irq_handler(unsigned int irq, struct irqdesc *desc, str
for
(
i
=
0
;
i
<=
7
;
i
++
)
{
if
(
status
&
(
1
<<
i
))
{
desc
=
irq_desc
+
i
+
IRQ_IXP2000_GPIO0
;
desc
->
handle
(
i
+
IRQ_IXP2000_GPIO0
,
desc
,
regs
);
desc
_handle_irq
(
i
+
IRQ_IXP2000_GPIO0
,
desc
,
regs
);
}
}
}
...
...
@@ -380,10 +380,10 @@ static void ixp2000_GPIO_irq_unmask(unsigned int irq)
}
static
struct
irqchip
ixp2000_GPIO_irq_chip
=
{
.
type
=
ixp2000_GPIO_irq_type
,
.
ack
=
ixp2000_GPIO_irq_mask_ac
k
,
.
mask
=
ixp2000_GPIO_irq_mask
,
.
unmask
=
ixp2000_GPIO_irq_unmask
.
ack
=
ixp2000_GPIO_irq_mask_ack
,
.
mask
=
ixp2000_GPIO_irq_mas
k
,
.
unmask
=
ixp2000_GPIO_irq_unmask
.
set_type
=
ixp2000_GPIO_irq_type
,
};
static
void
ixp2000_pci_irq_mask
(
unsigned
int
irq
)
...
...
arch/arm/mach-ixp2000/ixdp2x00.c
浏览文件 @
64c4813d
...
...
@@ -133,7 +133,7 @@ static void ixdp2x00_irq_handler(unsigned int irq, struct irqdesc *desc, struct
struct
irqdesc
*
cpld_desc
;
int
cpld_irq
=
IXP2000_BOARD_IRQ
(
0
)
+
i
;
cpld_desc
=
irq_desc
+
cpld_irq
;
cpld_desc
->
handle
(
cpld_irq
,
cpld_desc
,
regs
);
desc_handle_irq
(
cpld_irq
,
cpld_desc
,
regs
);
}
}
...
...
arch/arm/mach-ixp2000/ixdp2x01.c
浏览文件 @
64c4813d
...
...
@@ -82,7 +82,7 @@ static void ixdp2x01_irq_handler(unsigned int irq, struct irqdesc *desc, struct
struct
irqdesc
*
cpld_desc
;
int
cpld_irq
=
IXP2000_BOARD_IRQ
(
0
)
+
i
;
cpld_desc
=
irq_desc
+
cpld_irq
;
cpld_desc
->
handle
(
cpld_irq
,
cpld_desc
,
regs
);
desc_handle_irq
(
cpld_irq
,
cpld_desc
,
regs
);
}
}
...
...
arch/arm/mach-lh7a40x/common.h
浏览文件 @
64c4813d
...
...
@@ -13,4 +13,4 @@ extern struct sys_timer lh7a40x_timer;
extern
void
lh7a400_init_irq
(
void
);
extern
void
lh7a404_init_irq
(
void
);
#define IRQ_DISPATCH(irq)
irq_desc[irq].handle ((irq), &irq_desc[irq]
, regs)
#define IRQ_DISPATCH(irq)
desc_handle_irq((irq),(irq_desc + irq)
, regs)
arch/arm/mach-omap1/fpga.c
浏览文件 @
64c4813d
...
...
@@ -102,7 +102,7 @@ void innovator_fpga_IRQ_demux(unsigned int irq, struct irqdesc *desc,
fpga_irq
++
,
stat
>>=
1
)
{
if
(
stat
&
1
)
{
d
=
irq_desc
+
fpga_irq
;
d
->
handle
(
fpga_irq
,
d
,
regs
);
d
esc_handle_irq
(
fpga_irq
,
d
,
regs
);
}
}
}
...
...
arch/arm/mach-pxa/irq.c
浏览文件 @
64c4813d
...
...
@@ -133,7 +133,7 @@ static struct irqchip pxa_low_gpio_chip = {
.
ack
=
pxa_ack_low_gpio
,
.
mask
=
pxa_mask_low_irq
,
.
unmask
=
pxa_unmask_low_irq
,
.
type
=
pxa_gpio_irq_type
,
.
set_type
=
pxa_gpio_irq_type
,
};
/*
...
...
@@ -157,7 +157,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc,
mask
>>=
2
;
do
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
irq
++
;
desc
++
;
mask
>>=
1
;
...
...
@@ -172,7 +172,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc,
desc
=
irq_desc
+
irq
;
do
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
irq
++
;
desc
++
;
mask
>>=
1
;
...
...
@@ -187,7 +187,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc,
desc
=
irq_desc
+
irq
;
do
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
irq
++
;
desc
++
;
mask
>>=
1
;
...
...
@@ -203,7 +203,7 @@ static void pxa_gpio_demux_handler(unsigned int irq, struct irqdesc *desc,
desc
=
irq_desc
+
irq
;
do
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
irq
++
;
desc
++
;
mask
>>=
1
;
...
...
@@ -241,7 +241,7 @@ static struct irqchip pxa_muxed_gpio_chip = {
.
ack
=
pxa_ack_muxed_gpio
,
.
mask
=
pxa_mask_muxed_gpio
,
.
unmask
=
pxa_unmask_muxed_gpio
,
.
type
=
pxa_gpio_irq_type
,
.
set_type
=
pxa_gpio_irq_type
,
};
...
...
arch/arm/mach-pxa/lubbock.c
浏览文件 @
64c4813d
...
...
@@ -84,7 +84,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irqdesc *desc,
if
(
likely
(
pending
))
{
irq
=
LUBBOCK_IRQ
(
0
)
+
__ffs
(
pending
);
desc
=
irq_desc
+
irq
;
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
pending
=
LUB_IRQ_SET_CLR
&
lubbock_irq_enabled
;
}
while
(
pending
);
...
...
arch/arm/mach-pxa/mainstone.c
浏览文件 @
64c4813d
...
...
@@ -72,7 +72,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irqdesc *desc,
if
(
likely
(
pending
))
{
irq
=
MAINSTONE_IRQ
(
0
)
+
__ffs
(
pending
);
desc
=
irq_desc
+
irq
;
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
pending
=
MST_INTSETCLR
&
mainstone_irq_enabled
;
}
while
(
pending
);
...
...
arch/arm/mach-s3c2410/bast-irq.c
浏览文件 @
64c4813d
...
...
@@ -124,7 +124,7 @@ bast_irq_pc104_demux(unsigned int irq,
irqno
=
bast_pc104_irqs
[
i
];
desc
=
irq_desc
+
irqno
;
desc
->
handle
(
irqno
,
desc
,
regs
);
desc
_handle_irq
(
irqno
,
desc
,
regs
);
}
stat
>>=
1
;
...
...
arch/arm/mach-s3c2410/irq.c
浏览文件 @
64c4813d
...
...
@@ -184,14 +184,14 @@ struct irqchip s3c_irq_level_chip = {
.
ack
=
s3c_irq_maskack
,
.
mask
=
s3c_irq_mask
,
.
unmask
=
s3c_irq_unmask
,
.
wake
=
s3c_irq_wake
.
set_
wake
=
s3c_irq_wake
};
static
struct
irqchip
s3c_irq_chip
=
{
.
ack
=
s3c_irq_ack
,
.
mask
=
s3c_irq_mask
,
.
unmask
=
s3c_irq_unmask
,
.
wake
=
s3c_irq_wake
.
set_
wake
=
s3c_irq_wake
};
/* S3C2410_EINTMASK
...
...
@@ -350,16 +350,16 @@ static struct irqchip s3c_irqext_chip = {
.
mask
=
s3c_irqext_mask
,
.
unmask
=
s3c_irqext_unmask
,
.
ack
=
s3c_irqext_ack
,
.
type
=
s3c_irqext_type
,
.
wake
=
s3c_irqext_wake
.
set_type
=
s3c_irqext_type
,
.
set_wake
=
s3c_irqext_wake
};
static
struct
irqchip
s3c_irq_eint0t4
=
{
.
ack
=
s3c_irq_ack
,
.
mask
=
s3c_irq_mask
,
.
unmask
=
s3c_irq_unmask
,
.
wake
=
s3c_irq_wake
,
.
type
=
s3c_irqext_type
,
.
set_wake
=
s3c_irq_wake
,
.
set_type
=
s3c_irqext_type
,
};
/* mask values for the parent registers for each of the interrupt types */
...
...
@@ -496,11 +496,11 @@ static void s3c_irq_demux_adc(unsigned int irq,
if
(
subsrc
!=
0
)
{
if
(
subsrc
&
1
)
{
mydesc
=
irq_desc
+
IRQ_TC
;
mydesc
->
handle
(
IRQ_TC
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_TC
,
mydesc
,
regs
);
}
if
(
subsrc
&
2
)
{
mydesc
=
irq_desc
+
IRQ_ADC
;
mydesc
->
handle
(
IRQ_ADC
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_ADC
,
mydesc
,
regs
);
}
}
}
...
...
@@ -529,17 +529,17 @@ static void s3c_irq_demux_uart(unsigned int start,
desc
=
irq_desc
+
start
;
if
(
subsrc
&
1
)
desc
->
handle
(
start
,
desc
,
regs
);
desc
_handle_irq
(
start
,
desc
,
regs
);
desc
++
;
if
(
subsrc
&
2
)
desc
->
handle
(
start
+
1
,
desc
,
regs
);
desc
_handle_irq
(
start
+
1
,
desc
,
regs
);
desc
++
;
if
(
subsrc
&
4
)
desc
->
handle
(
start
+
2
,
desc
,
regs
);
desc
_handle_irq
(
start
+
2
,
desc
,
regs
);
}
}
...
...
arch/arm/mach-s3c2410/pm.c
浏览文件 @
64c4813d
...
...
@@ -585,14 +585,16 @@ static int s3c2410_pm_enter(suspend_state_t state)
s3c2410_pm_check_store
();
// need to make some form of time-delta
/* send the cpu to sleep... */
__raw_writel
(
0x00
,
S3C2410_CLKCON
);
/* turn off clocks over sleep */
s3c2410_cpu_suspend
(
regs_save
);
/* restore the cpu state */
cpu_init
();
/* unset the return-from-sleep flag, to ensure reset */
tmp
=
__raw_readl
(
S3C2410_GSTATUS2
);
...
...
arch/arm/mach-s3c2410/s3c2440-irq.c
浏览文件 @
64c4813d
...
...
@@ -64,11 +64,11 @@ static void s3c_irq_demux_wdtac97(unsigned int irq,
if
(
subsrc
!=
0
)
{
if
(
subsrc
&
1
)
{
mydesc
=
irq_desc
+
IRQ_S3C2440_WDT
;
mydesc
->
handle
(
IRQ_S3C2440_WDT
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_S3C2440_WDT
,
mydesc
,
regs
);
}
if
(
subsrc
&
2
)
{
mydesc
=
irq_desc
+
IRQ_S3C2440_AC97
;
mydesc
->
handle
(
IRQ_S3C2440_AC97
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_S3C2440_AC97
,
mydesc
,
regs
);
}
}
}
...
...
@@ -122,11 +122,11 @@ static void s3c_irq_demux_cam(unsigned int irq,
if
(
subsrc
!=
0
)
{
if
(
subsrc
&
1
)
{
mydesc
=
irq_desc
+
IRQ_S3C2440_CAM_C
;
mydesc
->
handle
(
IRQ_S3C2440_WDT
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_S3C2440_CAM_C
,
mydesc
,
regs
);
}
if
(
subsrc
&
2
)
{
mydesc
=
irq_desc
+
IRQ_S3C2440_CAM_P
;
mydesc
->
handle
(
IRQ_S3C2440_AC97
,
mydesc
,
regs
);
desc_handle_irq
(
IRQ_S3C2440_CAM_P
,
mydesc
,
regs
);
}
}
}
...
...
arch/arm/mach-sa1100/irq.c
浏览文件 @
64c4813d
...
...
@@ -98,8 +98,8 @@ static struct irqchip sa1100_low_gpio_chip = {
.
ack
=
sa1100_low_gpio_ack
,
.
mask
=
sa1100_low_gpio_mask
,
.
unmask
=
sa1100_low_gpio_unmask
,
.
type
=
sa1100_gpio_type
,
.
wake
=
sa1100_low_gpio_wake
,
.
set_type
=
sa1100_gpio_type
,
.
set_wake
=
sa1100_low_gpio_wake
,
};
/*
...
...
@@ -126,7 +126,7 @@ sa1100_high_gpio_handler(unsigned int irq, struct irqdesc *desc,
mask
>>=
11
;
do
{
if
(
mask
&
1
)
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
mask
>>=
1
;
irq
++
;
desc
++
;
...
...
@@ -181,8 +181,8 @@ static struct irqchip sa1100_high_gpio_chip = {
.
ack
=
sa1100_high_gpio_ack
,
.
mask
=
sa1100_high_gpio_mask
,
.
unmask
=
sa1100_high_gpio_unmask
,
.
type
=
sa1100_gpio_type
,
.
wake
=
sa1100_high_gpio_wake
,
.
set_type
=
sa1100_gpio_type
,
.
set_wake
=
sa1100_high_gpio_wake
,
};
/*
...
...
arch/arm/mach-sa1100/neponset.c
浏览文件 @
64c4813d
...
...
@@ -61,12 +61,12 @@ neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
if
(
irr
&
IRR_ETHERNET
)
{
d
=
irq_desc
+
IRQ_NEPONSET_SMC9196
;
d
->
handle
(
IRQ_NEPONSET_SMC9196
,
d
,
regs
);
d
esc_handle_irq
(
IRQ_NEPONSET_SMC9196
,
d
,
regs
);
}
if
(
irr
&
IRR_USAR
)
{
d
=
irq_desc
+
IRQ_NEPONSET_USAR
;
d
->
handle
(
IRQ_NEPONSET_USAR
,
d
,
regs
);
d
esc_handle_irq
(
IRQ_NEPONSET_USAR
,
d
,
regs
);
}
desc
->
chip
->
unmask
(
irq
);
...
...
@@ -74,7 +74,7 @@ neponset_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
if
(
irr
&
IRR_SA1111
)
{
d
=
irq_desc
+
IRQ_NEPONSET_SA1111
;
d
->
handle
(
IRQ_NEPONSET_SA1111
,
d
,
regs
);
d
esc_handle_irq
(
IRQ_NEPONSET_SA1111
,
d
,
regs
);
}
}
}
...
...
arch/arm/mach-versatile/core.c
浏览文件 @
64c4813d
...
...
@@ -108,7 +108,7 @@ sic_handle_irq(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
irq
+=
IRQ_SIC_START
;
desc
=
irq_desc
+
irq
;
desc
->
handle
(
irq
,
desc
,
regs
);
desc
_handle_irq
(
irq
,
desc
,
regs
);
}
while
(
status
);
}
...
...
arch/arm/mm/proc-arm6_7.S
浏览文件 @
64c4813d
...
...
@@ -38,8 +38,8 @@ ENTRY(cpu_arm7_data_abort)
mrc
p15
,
0
,
r1
,
c5
,
c0
,
0
@
get
FSR
mrc
p15
,
0
,
r0
,
c6
,
c0
,
0
@
get
FAR
ldr
r8
,
[
r0
]
@
read
arm
instruction
tst
r8
,
#
1
<<
20
@
L
=
1
->
write
?
orreq
r1
,
r1
,
#
1
<<
8
@
yes
.
tst
r8
,
#
1
<<
20
@
L
=
0
->
write
?
orreq
r1
,
r1
,
#
1
<<
11
@
yes
.
and
r7
,
r8
,
#
15
<<
24
add
pc
,
pc
,
r7
,
lsr
#
22
@
Now
branch
to
the
relevant
processing
routine
nop
...
...
@@ -71,8 +71,8 @@ ENTRY(cpu_arm6_data_abort)
mrc
p15
,
0
,
r1
,
c5
,
c0
,
0
@
get
FSR
mrc
p15
,
0
,
r0
,
c6
,
c0
,
0
@
get
FAR
ldr
r8
,
[
r2
]
@
read
arm
instruction
tst
r8
,
#
1
<<
20
@
L
=
1
->
write
?
orreq
r1
,
r1
,
#
1
<<
8
@
yes
.
tst
r8
,
#
1
<<
20
@
L
=
0
->
write
?
orreq
r1
,
r1
,
#
1
<<
11
@
yes
.
and
r7
,
r8
,
#
14
<<
24
teq
r7
,
#
8
<<
24
@
was
it
ldm
/
stm
movne
pc
,
lr
...
...
arch/arm/plat-omap/gpio.c
浏览文件 @
64c4813d
...
...
@@ -590,7 +590,7 @@ static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc,
if
(
!
(
isr
&
1
))
continue
;
d
=
irq_desc
+
gpio_irq
;
d
->
handle
(
gpio_irq
,
d
,
regs
);
d
esc_handle_irq
(
gpio_irq
,
d
,
regs
);
}
}
...
...
drivers/pcmcia/pxa2xx_base.c
浏览文件 @
64c4813d
...
...
@@ -246,7 +246,7 @@ static void __exit pxa2xx_pcmcia_exit(void)
driver_unregister
(
&
pxa2xx_pcmcia_driver
);
}
module_init
(
pxa2xx_pcmcia_init
);
fs_initcall
(
pxa2xx_pcmcia_init
);
module_exit
(
pxa2xx_pcmcia_exit
);
MODULE_AUTHOR
(
"Stefan Eletzhofer <stefan.eletzhofer@inquant.de> and Ian Molton <spyro@f2s.com>"
);
...
...
drivers/pcmcia/pxa2xx_mainstone.c
浏览文件 @
64c4813d
...
...
@@ -196,7 +196,7 @@ static void __exit mst_pcmcia_exit(void)
platform_device_unregister
(
mst_pcmcia_device
);
}
module_init
(
mst_pcmcia_init
);
fs_initcall
(
mst_pcmcia_init
);
module_exit
(
mst_pcmcia_exit
);
MODULE_LICENSE
(
"GPL"
);
drivers/pcmcia/pxa2xx_sharpsl.c
浏览文件 @
64c4813d
...
...
@@ -257,7 +257,7 @@ static void __exit sharpsl_pcmcia_exit(void)
platform_device_unregister
(
sharpsl_pcmcia_device
);
}
module_init
(
sharpsl_pcmcia_init
);
fs_initcall
(
sharpsl_pcmcia_init
);
module_exit
(
sharpsl_pcmcia_exit
);
MODULE_DESCRIPTION
(
"Sharp SL Series PCMCIA Support"
);
...
...
drivers/pcmcia/sa1100_generic.c
浏览文件 @
64c4813d
...
...
@@ -126,5 +126,5 @@ MODULE_AUTHOR("John Dorsey <john+@cs.cmu.edu>");
MODULE_DESCRIPTION
(
"Linux PCMCIA Card Services: SA-11x0 Socket Controller"
);
MODULE_LICENSE
(
"Dual MPL/GPL"
);
module_init
(
sa11x0_pcmcia_init
);
fs_initcall
(
sa11x0_pcmcia_init
);
module_exit
(
sa11x0_pcmcia_exit
);
drivers/pcmcia/sa1111_generic.c
浏览文件 @
64c4813d
...
...
@@ -189,7 +189,7 @@ static void __exit sa1111_drv_pcmcia_exit(void)
sa1111_driver_unregister
(
&
pcmcia_driver
);
}
module_init
(
sa1111_drv_pcmcia_init
);
fs_initcall
(
sa1111_drv_pcmcia_init
);
module_exit
(
sa1111_drv_pcmcia_exit
);
MODULE_DESCRIPTION
(
"SA1111 PCMCIA card socket driver"
);
...
...
drivers/pcmcia/sa11xx_base.c
浏览文件 @
64c4813d
...
...
@@ -189,7 +189,7 @@ static int __init sa11xx_pcmcia_init(void)
{
return
0
;
}
module_init
(
sa11xx_pcmcia_init
);
fs_initcall
(
sa11xx_pcmcia_init
);
static
void
__exit
sa11xx_pcmcia_exit
(
void
)
{}
...
...
include/asm-arm/mach/irq.h
浏览文件 @
64c4813d
...
...
@@ -42,11 +42,11 @@ struct irqchip {
/*
* Set the type of the IRQ.
*/
int
(
*
type
)(
unsigned
int
,
unsigned
int
);
int
(
*
set_
type
)(
unsigned
int
,
unsigned
int
);
/*
* Set wakeup-enable on the selected IRQ
*/
int
(
*
wake
)(
unsigned
int
,
unsigned
int
);
int
(
*
set_
wake
)(
unsigned
int
,
unsigned
int
);
#ifdef CONFIG_SMP
/*
...
...
@@ -91,6 +91,14 @@ struct irqdesc {
extern
struct
irqdesc
irq_desc
[];
/*
* Helpful inline function for calling irq descriptor handlers.
*/
static
inline
void
desc_handle_irq
(
unsigned
int
irq
,
struct
irqdesc
*
desc
,
struct
pt_regs
*
regs
)
{
desc
->
handle
(
irq
,
desc
,
regs
);
}
/*
* This is internal. Do not use it.
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录