aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c2440/fiq_c_isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s3c2440/fiq_c_isr.h')
-rw-r--r--arch/arm/mach-s3c2440/fiq_c_isr.h76
1 files changed, 0 insertions, 76 deletions
diff --git a/arch/arm/mach-s3c2440/fiq_c_isr.h b/arch/arm/mach-s3c2440/fiq_c_isr.h
deleted file mode 100644
index e92b103cdfb..00000000000
--- a/arch/arm/mach-s3c2440/fiq_c_isr.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef _LINUX_FIQ_C_ISR_H
-#define _LINUX_FIQ_C_ISR_H
-
-#include <mach/regs-irq.h>
-#include <linux/platform_device.h>
-
-extern unsigned long _fiq_count_fiqs;
-extern u32 _fiq_ack_mask;
-extern int _fiq_timer_index;
-extern u16 _fiq_timer_divisor;
-
-/* platform data */
-
-struct sc32440_fiq_platform_data {
- /*
- * give an opportunity to use us as parent for
- * devices that depend on us
- */
- void (*attach_child_devices)(struct device *parent_device);
-};
-
-/* This CANNOT be implemented in a module -- it has to be used in code
- * included in the monolithic kernel
- */
-
-#define FIQ_HANDLER_START() \
-void __attribute__ ((naked)) s3c2440_fiq_isr(void) \
-{\
- /*\
- * you can declare local vars here, take care to set the frame size\
- * below accordingly if there are more than a few dozen bytes of them\
- */\
-
-/* stick your locals here :-)
- * Do NOT initialize them here! define them and initialize them after
- * FIQ_HANDLER_ENTRY() is done.
- */
-
-#define FIQ_HANDLER_ENTRY(LOCALS, FRAME) \
- const int _FIQ_FRAME_SIZE = FRAME; \
- /* entry takes care to store registers we will be treading on here */\
- asm __volatile__ (\
- /* stash FIQ and r0-r8 normal regs */\
- "stmdb sp!, {r0-r12, lr};"\
- /* allow SP to get some space */\
- "sub sp, sp, %1 ;"\
- /* !! THIS SETS THE FRAME, adjust to > sizeof locals */\
- "sub fp, sp, %0 ;"\
- :\
- : "rI" (LOCALS), "rI" (FRAME)\
- :"r9"\
- );
-
-/* stick your ISR code here and then end with... */
-
-#define FIQ_HANDLER_END() \
- _fiq_count_fiqs++;\
- __raw_writel(_fiq_ack_mask, S3C2410_SRCPND);\
-\
- /* exit back to normal mode restoring everything */\
- asm __volatile__ (\
- /* pop our allocation */\
- "add sp, sp, %0 ;"\
- /* return FIQ regs back to pristine state\
- * and get normal regs back\
- */\
- "ldmia sp!, {r0-r12, lr};"\
-\
- /* return */\
- "subs pc, lr, #4;"\
- : \
- : "rI" (_FIQ_FRAME_SIZE) \
- );\
-}
-
-#endif /* _LINUX_FIQ_C_ISR_H */