[U-Boot] [PATCH 6/6] S3C24x0: extract interrupts from timer
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sat May 9 15:35:18 CEST 2009
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
applied to arm/testing
Best Regards,
J.
cpu/arm920t/interrupts.c | 8 ++------
cpu/arm920t/s3c24x0/Makefile | 14 ++++++++------
cpu/arm920t/{ => s3c24x0}/interrupts.c | 19 +++++++++----------
cpu/arm920t/s3c24x0/timer.c | 9 ---------
include/common.h | 2 --
5 files changed, 19 insertions(+), 33 deletions(-)
copy cpu/arm920t/{ => s3c24x0}/interrupts.c (78%)
diff --git a/cpu/arm920t/interrupts.c b/cpu/arm920t/interrupts.c
index a589b80..73e8ae8 100644
--- a/cpu/arm920t/interrupts.c
+++ b/cpu/arm920t/interrupts.c
@@ -32,16 +32,12 @@
#include <common.h>
#include <asm/proc-armv/ptrace.h>
+#if defined (CONFIG_ARCH_INTEGRATOR)
void do_irq (struct pt_regs *pt_regs)
{
-#if defined (ARM920_IRQ_CALLBACK)
- ARM920_IRQ_CALLBACK();
-#elif defined (CONFIG_ARCH_INTEGRATOR)
/* ASSUMED to be a timer interrupt */
/* Just clear it - count handled in */
/* integratorap.c */
*(volatile ulong *)(CONFIG_SYS_TIMERBASE + 0x0C) = 0;
-#else
-#error do_irq() not defined for this cpu type
-#endif
}
+#endif
diff --git a/cpu/arm920t/s3c24x0/Makefile b/cpu/arm920t/s3c24x0/Makefile
index 5d2be2c..7e8d6ed 100644
--- a/cpu/arm920t/s3c24x0/Makefile
+++ b/cpu/arm920t/s3c24x0/Makefile
@@ -25,13 +25,15 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(SOC).a
-COBJS += speed.o
-COBJS += timer.o
-COBJS += usb.o
-COBJS += usb_ohci.o
+COBJS-$(CONFIG_USE_IRQ) += interrupts.o
+COBJS-y += speed.o
+COBJS-y += timer.o
+COBJS-y += usb.o
+COBJS-y += usb_ohci.o
-SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
-OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
+
+SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
+OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y))
all: $(obj).depend $(LIB)
diff --git a/cpu/arm920t/interrupts.c b/cpu/arm920t/s3c24x0/interrupts.c
similarity index 78%
copy from cpu/arm920t/interrupts.c
copy to cpu/arm920t/s3c24x0/interrupts.c
index a589b80..11ec95e 100644
--- a/cpu/arm920t/interrupts.c
+++ b/cpu/arm920t/s3c24x0/interrupts.c
@@ -30,18 +30,17 @@
*/
#include <common.h>
+
+#if defined(CONFIG_S3C2400)
+#include <s3c2400.h>
+#elif defined(CONFIG_S3C2410)
+#include <s3c2410.h>
+#endif
#include <asm/proc-armv/ptrace.h>
void do_irq (struct pt_regs *pt_regs)
{
-#if defined (ARM920_IRQ_CALLBACK)
- ARM920_IRQ_CALLBACK();
-#elif defined (CONFIG_ARCH_INTEGRATOR)
- /* ASSUMED to be a timer interrupt */
- /* Just clear it - count handled in */
- /* integratorap.c */
- *(volatile ulong *)(CONFIG_SYS_TIMERBASE + 0x0C) = 0;
-#else
-#error do_irq() not defined for this cpu type
-#endif
+ S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
+ u_int32_t intpnd = irq->INTPND;
+
}
diff --git a/cpu/arm920t/s3c24x0/timer.c b/cpu/arm920t/s3c24x0/timer.c
index 8205355..8aebb19 100644
--- a/cpu/arm920t/s3c24x0/timer.c
+++ b/cpu/arm920t/s3c24x0/timer.c
@@ -215,13 +215,4 @@ void reset_cpu (ulong ignored)
/*NOTREACHED*/
}
-#ifdef CONFIG_USE_IRQ
-void s3c2410_irq(void)
-{
- S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
- u_int32_t intpnd = irq->INTPND;
-
-}
-#endif /* USE_IRQ */
-
#endif /* defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_TRAB) */
diff --git a/include/common.h b/include/common.h
index 30fff7d..21a504a 100644
--- a/include/common.h
+++ b/include/common.h
@@ -491,8 +491,6 @@ ulong get_PCI_freq (void);
#endif
#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || \
defined(CONFIG_LH7A40X) || defined(CONFIG_S3C6400)
-void s3c2410_irq(void);
-#define ARM920_IRQ_CALLBACK s3c2410_irq
ulong get_FCLK (void);
ulong get_HCLK (void);
ulong get_PCLK (void);
--
1.6.2.4
More information about the U-Boot
mailing list