diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2011-02-14 02:10:55 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2011-02-21 23:51:15 -0500 |
commit | c81a24ff8f4efda02ffaa0c3170155550bcae339 (patch) | |
tree | e26a5c26cda9291b4d4881be128db254cbf66fe5 /arch | |
parent | b3ed3a174c419702eddf9fb28636f6e4baa29d03 (diff) |
ARM: EXYNOS4: Update IRQ part
This patch updates IRQ part of EXYNOS4 according to the change of
ARCH name, EXYNOS4.
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-exynos4/include/mach/irqs.h (renamed from arch/arm/mach-s5pv310/include/mach/irqs.h) | 8 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/include/mach/regs-irq.h (renamed from arch/arm/mach-s5pv310/include/mach/regs-irq.h) | 8 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/irq-combiner.c (renamed from arch/arm/mach-s5pv310/irq-combiner.c) | 4 | ||||
-rw-r--r-- | arch/arm/mach-exynos4/irq-eint.c (renamed from arch/arm/mach-s5pv310/irq-eint.c) | 62 |
4 files changed, 41 insertions, 41 deletions
diff --git a/arch/arm/mach-s5pv310/include/mach/irqs.h b/arch/arm/mach-exynos4/include/mach/irqs.h index 536b0b59fc83..2dc590085a9b 100644 --- a/arch/arm/mach-s5pv310/include/mach/irqs.h +++ b/arch/arm/mach-exynos4/include/mach/irqs.h | |||
@@ -1,9 +1,9 @@ | |||
1 | /* linux/arch/arm/mach-s5pv310/include/mach/irqs.h | 1 | /* linux/arch/arm/mach-exynos4/include/mach/irqs.h |
2 | * | 2 | * |
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com/ | 4 | * http://www.samsung.com |
5 | * | 5 | * |
6 | * S5PV310 - IRQ definitions | 6 | * EXYNOS4 - IRQ definitions |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
diff --git a/arch/arm/mach-s5pv310/include/mach/regs-irq.h b/arch/arm/mach-exynos4/include/mach/regs-irq.h index c6e09c7f9161..9c7b4bfd546f 100644 --- a/arch/arm/mach-s5pv310/include/mach/regs-irq.h +++ b/arch/arm/mach-exynos4/include/mach/regs-irq.h | |||
@@ -1,9 +1,9 @@ | |||
1 | /* linux/arch/arm/mach-s5pv310/include/mach/regs-irq.h | 1 | /* linux/arch/arm/mach-exynos4/include/mach/regs-irq.h |
2 | * | 2 | * |
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com/ | 4 | * http://www.samsung.com |
5 | * | 5 | * |
6 | * S5PV310 - IRQ register definitions | 6 | * EXYNOS4 - IRQ register definitions |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
diff --git a/arch/arm/mach-s5pv310/irq-combiner.c b/arch/arm/mach-exynos4/irq-combiner.c index 1ea4a9e83bbe..31618d91ce15 100644 --- a/arch/arm/mach-s5pv310/irq-combiner.c +++ b/arch/arm/mach-exynos4/irq-combiner.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* linux/arch/arm/mach-s5pv310/irq-combiner.c | 1 | /* linux/arch/arm/mach-exynos4/irq-combiner.c |
2 | * | 2 | * |
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com | 4 | * http://www.samsung.com |
5 | * | 5 | * |
6 | * Based on arch/arm/common/gic.c | 6 | * Based on arch/arm/common/gic.c |
diff --git a/arch/arm/mach-s5pv310/irq-eint.c b/arch/arm/mach-exynos4/irq-eint.c index 477bd9e97f0f..4f7ad4a796e4 100644 --- a/arch/arm/mach-s5pv310/irq-eint.c +++ b/arch/arm/mach-exynos4/irq-eint.c | |||
@@ -1,9 +1,9 @@ | |||
1 | /* linux/arch/arm/mach-s5pv310/irq-eint.c | 1 | /* linux/arch/arm/mach-exynos4/irq-eint.c |
2 | * | 2 | * |
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com | 4 | * http://www.samsung.com |
5 | * | 5 | * |
6 | * S5PV310 - IRQ EINT support | 6 | * EXYNOS4 - IRQ EINT support |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or modify | 8 | * This program is free software; you can redistribute it and/or modify |
9 | * it under the terms of the GNU General Public License version 2 as | 9 | * it under the terms of the GNU General Public License version 2 as |
@@ -27,7 +27,7 @@ static DEFINE_SPINLOCK(eint_lock); | |||
27 | 27 | ||
28 | static unsigned int eint0_15_data[16]; | 28 | static unsigned int eint0_15_data[16]; |
29 | 29 | ||
30 | static unsigned int s5pv310_get_irq_nr(unsigned int number) | 30 | static unsigned int exynos4_get_irq_nr(unsigned int number) |
31 | { | 31 | { |
32 | u32 ret = 0; | 32 | u32 ret = 0; |
33 | 33 | ||
@@ -48,7 +48,7 @@ static unsigned int s5pv310_get_irq_nr(unsigned int number) | |||
48 | return ret; | 48 | return ret; |
49 | } | 49 | } |
50 | 50 | ||
51 | static inline void s5pv310_irq_eint_mask(struct irq_data *data) | 51 | static inline void exynos4_irq_eint_mask(struct irq_data *data) |
52 | { | 52 | { |
53 | u32 mask; | 53 | u32 mask; |
54 | 54 | ||
@@ -59,7 +59,7 @@ static inline void s5pv310_irq_eint_mask(struct irq_data *data) | |||
59 | spin_unlock(&eint_lock); | 59 | spin_unlock(&eint_lock); |
60 | } | 60 | } |
61 | 61 | ||
62 | static void s5pv310_irq_eint_unmask(struct irq_data *data) | 62 | static void exynos4_irq_eint_unmask(struct irq_data *data) |
63 | { | 63 | { |
64 | u32 mask; | 64 | u32 mask; |
65 | 65 | ||
@@ -70,19 +70,19 @@ static void s5pv310_irq_eint_unmask(struct irq_data *data) | |||
70 | spin_unlock(&eint_lock); | 70 | spin_unlock(&eint_lock); |
71 | } | 71 | } |
72 | 72 | ||
73 | static inline void s5pv310_irq_eint_ack(struct irq_data *data) | 73 | static inline void exynos4_irq_eint_ack(struct irq_data *data) |
74 | { | 74 | { |
75 | __raw_writel(eint_irq_to_bit(data->irq), | 75 | __raw_writel(eint_irq_to_bit(data->irq), |
76 | S5P_EINT_PEND(EINT_REG_NR(data->irq))); | 76 | S5P_EINT_PEND(EINT_REG_NR(data->irq))); |
77 | } | 77 | } |
78 | 78 | ||
79 | static void s5pv310_irq_eint_maskack(struct irq_data *data) | 79 | static void exynos4_irq_eint_maskack(struct irq_data *data) |
80 | { | 80 | { |
81 | s5pv310_irq_eint_mask(data); | 81 | exynos4_irq_eint_mask(data); |
82 | s5pv310_irq_eint_ack(data); | 82 | exynos4_irq_eint_ack(data); |
83 | } | 83 | } |
84 | 84 | ||
85 | static int s5pv310_irq_eint_set_type(struct irq_data *data, unsigned int type) | 85 | static int exynos4_irq_eint_set_type(struct irq_data *data, unsigned int type) |
86 | { | 86 | { |
87 | int offs = EINT_OFFSET(data->irq); | 87 | int offs = EINT_OFFSET(data->irq); |
88 | int shift; | 88 | int shift; |
@@ -145,19 +145,19 @@ static int s5pv310_irq_eint_set_type(struct irq_data *data, unsigned int type) | |||
145 | return 0; | 145 | return 0; |
146 | } | 146 | } |
147 | 147 | ||
148 | static struct irq_chip s5pv310_irq_eint = { | 148 | static struct irq_chip exynos4_irq_eint = { |
149 | .name = "s5pv310-eint", | 149 | .name = "exynos4-eint", |
150 | .irq_mask = s5pv310_irq_eint_mask, | 150 | .irq_mask = exynos4_irq_eint_mask, |
151 | .irq_unmask = s5pv310_irq_eint_unmask, | 151 | .irq_unmask = exynos4_irq_eint_unmask, |
152 | .irq_mask_ack = s5pv310_irq_eint_maskack, | 152 | .irq_mask_ack = exynos4_irq_eint_maskack, |
153 | .irq_ack = s5pv310_irq_eint_ack, | 153 | .irq_ack = exynos4_irq_eint_ack, |
154 | .irq_set_type = s5pv310_irq_eint_set_type, | 154 | .irq_set_type = exynos4_irq_eint_set_type, |
155 | #ifdef CONFIG_PM | 155 | #ifdef CONFIG_PM |
156 | .irq_set_wake = s3c_irqext_wake, | 156 | .irq_set_wake = s3c_irqext_wake, |
157 | #endif | 157 | #endif |
158 | }; | 158 | }; |
159 | 159 | ||
160 | /* s5pv310_irq_demux_eint | 160 | /* exynos4_irq_demux_eint |
161 | * | 161 | * |
162 | * This function demuxes the IRQ from from EINTs 16 to 31. | 162 | * This function demuxes the IRQ from from EINTs 16 to 31. |
163 | * It is designed to be inlined into the specific handler | 163 | * It is designed to be inlined into the specific handler |
@@ -165,7 +165,7 @@ static struct irq_chip s5pv310_irq_eint = { | |||
165 | * | 165 | * |
166 | * Each EINT pend/mask registers handle eight of them. | 166 | * Each EINT pend/mask registers handle eight of them. |
167 | */ | 167 | */ |
168 | static inline void s5pv310_irq_demux_eint(unsigned int start) | 168 | static inline void exynos4_irq_demux_eint(unsigned int start) |
169 | { | 169 | { |
170 | unsigned int irq; | 170 | unsigned int irq; |
171 | 171 | ||
@@ -182,13 +182,13 @@ static inline void s5pv310_irq_demux_eint(unsigned int start) | |||
182 | } | 182 | } |
183 | } | 183 | } |
184 | 184 | ||
185 | static void s5pv310_irq_demux_eint16_31(unsigned int irq, struct irq_desc *desc) | 185 | static void exynos4_irq_demux_eint16_31(unsigned int irq, struct irq_desc *desc) |
186 | { | 186 | { |
187 | s5pv310_irq_demux_eint(IRQ_EINT(16)); | 187 | exynos4_irq_demux_eint(IRQ_EINT(16)); |
188 | s5pv310_irq_demux_eint(IRQ_EINT(24)); | 188 | exynos4_irq_demux_eint(IRQ_EINT(24)); |
189 | } | 189 | } |
190 | 190 | ||
191 | static void s5pv310_irq_eint0_15(unsigned int irq, struct irq_desc *desc) | 191 | static void exynos4_irq_eint0_15(unsigned int irq, struct irq_desc *desc) |
192 | { | 192 | { |
193 | u32 *irq_data = get_irq_data(irq); | 193 | u32 *irq_data = get_irq_data(irq); |
194 | struct irq_chip *chip = get_irq_chip(irq); | 194 | struct irq_chip *chip = get_irq_chip(irq); |
@@ -203,27 +203,27 @@ static void s5pv310_irq_eint0_15(unsigned int irq, struct irq_desc *desc) | |||
203 | chip->irq_unmask(&desc->irq_data); | 203 | chip->irq_unmask(&desc->irq_data); |
204 | } | 204 | } |
205 | 205 | ||
206 | int __init s5pv310_init_irq_eint(void) | 206 | int __init exynos4_init_irq_eint(void) |
207 | { | 207 | { |
208 | int irq; | 208 | int irq; |
209 | 209 | ||
210 | for (irq = 0 ; irq <= 31 ; irq++) { | 210 | for (irq = 0 ; irq <= 31 ; irq++) { |
211 | set_irq_chip(IRQ_EINT(irq), &s5pv310_irq_eint); | 211 | set_irq_chip(IRQ_EINT(irq), &exynos4_irq_eint); |
212 | set_irq_handler(IRQ_EINT(irq), handle_level_irq); | 212 | set_irq_handler(IRQ_EINT(irq), handle_level_irq); |
213 | set_irq_flags(IRQ_EINT(irq), IRQF_VALID); | 213 | set_irq_flags(IRQ_EINT(irq), IRQF_VALID); |
214 | } | 214 | } |
215 | 215 | ||
216 | set_irq_chained_handler(IRQ_EINT16_31, s5pv310_irq_demux_eint16_31); | 216 | set_irq_chained_handler(IRQ_EINT16_31, exynos4_irq_demux_eint16_31); |
217 | 217 | ||
218 | for (irq = 0 ; irq <= 15 ; irq++) { | 218 | for (irq = 0 ; irq <= 15 ; irq++) { |
219 | eint0_15_data[irq] = IRQ_EINT(irq); | 219 | eint0_15_data[irq] = IRQ_EINT(irq); |
220 | 220 | ||
221 | set_irq_data(s5pv310_get_irq_nr(irq), &eint0_15_data[irq]); | 221 | set_irq_data(exynos4_get_irq_nr(irq), &eint0_15_data[irq]); |
222 | set_irq_chained_handler(s5pv310_get_irq_nr(irq), | 222 | set_irq_chained_handler(exynos4_get_irq_nr(irq), |
223 | s5pv310_irq_eint0_15); | 223 | exynos4_irq_eint0_15); |
224 | } | 224 | } |
225 | 225 | ||
226 | return 0; | 226 | return 0; |
227 | } | 227 | } |
228 | 228 | ||
229 | arch_initcall(s5pv310_init_irq_eint); | 229 | arch_initcall(exynos4_init_irq_eint); |