[ 3.5.y.z extended stable ] Patch "ARM: S3C24XX: Correct NR_IRQS definition for s3c2440" has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Wed Apr 24 09:36:51 UTC 2013


This is a note to let you know that I have just added a patch titled

    ARM: S3C24XX: Correct NR_IRQS definition for s3c2440

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From 1e1c91c79bc59948ebee6a31e9b04f26e927bf30 Mon Sep 17 00:00:00 2001
From: Sylwester Nawrocki <s.nawrocki at samsung.com>
Date: Mon, 8 Apr 2013 21:39:45 +0900
Subject: [PATCH] ARM: S3C24XX: Correct NR_IRQS definition for s3c2440

commit b530f742ac27460d41d35b638ad6aad92044a982 upstream.

Due to NR_IRQS being incorrectly defined not all IRQ domains can
be registered for S3C2440. It causes following errors on a s3c2440
SoC based board:

NR_IRQS:89
S3C2440: IRQ Support
irq: clearing pending status 00000002
------------[ cut here ]------------
WARNING: at kernel/irq/irqdomain.c:234 0xc0056ed0()
...
irq: could not create irq-domain
...
s3c2410-wdt s3c2410-wdt: failed to install irq (-22)
s3c2410-wdt: probe of s3c2410-wdt failed with error -22
...
samsung-uart s3c2440-uart.0: cannot get irq 74

Fix this by increasing NR_IRQS to at least (IRQ_S3C2443_AC97 + 1)
if CPU_S3C2440 is selected, so the subintc IRQ domain gets properly
registered.

Signed-off-by: Tomasz Figa <tomasz.figa at gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki at samsung.com>
Acked-by: Heiko Stuebner <heiko at sntech.de>
Signed-off-by: Kukjin Kim <kgene.kim at samsung.com>
Signed-off-by: Jonghwan Choi <jhbird.choi at samsung.com>
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 arch/arm/mach-s3c24xx/include/mach/irqs.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/mach-s3c24xx/include/mach/irqs.h b/arch/arm/mach-s3c24xx/include/mach/irqs.h
index b7a9f4d..1e73f5f 100644
--- a/arch/arm/mach-s3c24xx/include/mach/irqs.h
+++ b/arch/arm/mach-s3c24xx/include/mach/irqs.h
@@ -188,10 +188,8 @@

 #if defined(CONFIG_CPU_S3C2416)
 #define NR_IRQS (IRQ_S3C2416_I2S1 + 1)
-#elif defined(CONFIG_CPU_S3C2443)
-#define NR_IRQS (IRQ_S3C2443_AC97+1)
 #else
-#define NR_IRQS (IRQ_S3C2440_AC97+1)
+#define NR_IRQS (IRQ_S3C2443_AC97 + 1)
 #endif

 /* compatibility define. */
--
1.8.1.2





More information about the kernel-team mailing list