diff options
author | Andy Green <andy@openmoko.com> | 2008-11-19 17:10:53 +0000 |
---|---|---|
committer | Andy Green <andy@openmoko.com> | 2008-11-19 17:10:53 +0000 |
commit | 32fb968be66e32a10c6eec27b33155a9c335d0d4 (patch) | |
tree | c3674f38533fce2d51ad6a9fe616f5313c45bc22 /arch/arm/mach-s3c2440 | |
parent | 563c3d38b21d913f695d0d35c265a12348ea9f1f (diff) |
tracking-2.6.27-rc7-fiq-still-broken.patch
Signed-off-by: Andy Green <andy@openmoko.com>
Diffstat (limited to 'arch/arm/mach-s3c2440')
-rw-r--r-- | arch/arm/mach-s3c2440/fiq_c_isr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c2440/fiq_c_isr.c b/arch/arm/mach-s3c2440/fiq_c_isr.c index a5a8cddcd77..f3df46161d0 100644 --- a/arch/arm/mach-s3c2440/fiq_c_isr.c +++ b/arch/arm/mach-s3c2440/fiq_c_isr.c @@ -80,6 +80,8 @@ u8 fiq_ready; */ extern void __attribute__ ((naked)) s3c2440_fiq_isr(void); +static void fiq_set_vector_and_regs(void); + /* this is copied into the hard FIQ vector during init */ @@ -220,13 +222,16 @@ static int __init sc32440_fiq_probe(struct platform_device *pdev) /* configure for the interrupt we are meant to use */ printk(KERN_INFO"Enabling FIQ using irq %d\n", r->start); + fiq_set_vector_and_regs(); fiq_init_irq_source(r->start); ret = sysfs_create_group(&pdev->dev.kobj, &s3c2440_fiq_attr_group); + if (ret) + return ret; fiq_ready = 1; - return ret; + return 0; } static int sc32440_fiq_remove(struct platform_device *pdev) @@ -246,7 +251,6 @@ static void fiq_set_vector_and_regs(void) regs.ARM_sp = (unsigned long)u8aFiqStack + sizeof(u8aFiqStack) - 4; /* set up the special FIQ-mode-only registers from our regs */ - set_fiq_regs(®s); /* copy our jump to the real ISR into the hard vector address */ |