All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robherring2@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 05/10] sh: intc: remove dependency on NR_IRQS
Date: Fri, 13 Jan 2012 16:34:06 +0000	[thread overview]
Message-ID: <1326472451-9002-6-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1326472451-9002-1-git-send-email-robherring2@gmail.com>

From: Rob Herring <rob.herring@calxeda.com>

SH intc has a compile time dependency on NR_IRQS. Make this dependency a
local define so that shmobile (and ARM in general) can have run-time
NR_IRQS setting. SH has NR_IRQS set to 512 and shmobile has NR_IRQS set to
1024, so we are using the maximum.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
 drivers/sh/intc/balancing.c |    2 +-
 drivers/sh/intc/core.c      |    2 +-
 drivers/sh/intc/handle.c    |    2 +-
 drivers/sh/intc/internals.h |    9 +++++++++
 drivers/sh/intc/virq.c      |    2 +-
 5 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/sh/intc/balancing.c b/drivers/sh/intc/balancing.c
index cec7a96..bc78080 100644
--- a/drivers/sh/intc/balancing.c
+++ b/drivers/sh/intc/balancing.c
@@ -9,7 +9,7 @@
  */
 #include "internals.h"
 
-static unsigned long dist_handle[NR_IRQS];
+static unsigned long dist_handle[INTC_NR_IRQS];
 
 void intc_balancing_enable(unsigned int irq)
 {
diff --git a/drivers/sh/intc/core.c b/drivers/sh/intc/core.c
index e53e449..2fde897 100644
--- a/drivers/sh/intc/core.c
+++ b/drivers/sh/intc/core.c
@@ -42,7 +42,7 @@ unsigned int nr_intc_controllers;
  * - this needs to be at least 2 for 5-bit priorities on 7780
  */
 static unsigned int default_prio_level = 2;	/* 2 - 16 */
-static unsigned int intc_prio_level[NR_IRQS];	/* for now */
+static unsigned int intc_prio_level[INTC_NR_IRQS];	/* for now */
 
 unsigned int intc_get_dfl_prio_level(void)
 {
diff --git a/drivers/sh/intc/handle.c b/drivers/sh/intc/handle.c
index 057ce56..f461d53 100644
--- a/drivers/sh/intc/handle.c
+++ b/drivers/sh/intc/handle.c
@@ -13,7 +13,7 @@
 #include <linux/spinlock.h>
 #include "internals.h"
 
-static unsigned long ack_handle[NR_IRQS];
+static unsigned long ack_handle[INTC_NR_IRQS];
 
 static intc_enum __init intc_grp_id(struct intc_desc *desc,
 				    intc_enum enum_id)
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index b0e9155..469f092 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -6,6 +6,15 @@
 #include <linux/radix-tree.h>
 #include <linux/device.h>
 
+#define INTC_NR_IRQS	1024
+
+#ifndef evt2irq
+#define evt2irq(evt)            (((evt) >> 5) - 16)
+#endif
+#ifndef irq2evt
+#define irq2evt(irq)            (((irq) + 16) << 5)
+#endif
+
 #define _INTC_MK(fn, mode, addr_e, addr_d, width, shift) \
 	((shift) | ((width) << 5) | ((fn) << 9) | ((mode) << 13) | \
 	 ((addr_e) << 16) | ((addr_d << 24)))
diff --git a/drivers/sh/intc/virq.c b/drivers/sh/intc/virq.c
index c7ec49f..93cec21 100644
--- a/drivers/sh/intc/virq.c
+++ b/drivers/sh/intc/virq.c
@@ -17,7 +17,7 @@
 #include <linux/export.h>
 #include "internals.h"
 
-static struct intc_map_entry intc_irq_xlate[NR_IRQS];
+static struct intc_map_entry intc_irq_xlate[INTC_NR_IRQS];
 
 struct intc_virq_list {
 	unsigned int irq;
-- 
1.7.5.4


WARNING: multiple messages have this Message-ID (diff)
From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 05/10] sh: intc: remove dependency on NR_IRQS
Date: Fri, 13 Jan 2012 10:34:06 -0600	[thread overview]
Message-ID: <1326472451-9002-6-git-send-email-robherring2@gmail.com> (raw)
In-Reply-To: <1326472451-9002-1-git-send-email-robherring2@gmail.com>

From: Rob Herring <rob.herring@calxeda.com>

SH intc has a compile time dependency on NR_IRQS. Make this dependency a
local define so that shmobile (and ARM in general) can have run-time
NR_IRQS setting. SH has NR_IRQS set to 512 and shmobile has NR_IRQS set to
1024, so we are using the maximum.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
---
 drivers/sh/intc/balancing.c |    2 +-
 drivers/sh/intc/core.c      |    2 +-
 drivers/sh/intc/handle.c    |    2 +-
 drivers/sh/intc/internals.h |    9 +++++++++
 drivers/sh/intc/virq.c      |    2 +-
 5 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/sh/intc/balancing.c b/drivers/sh/intc/balancing.c
index cec7a96..bc78080 100644
--- a/drivers/sh/intc/balancing.c
+++ b/drivers/sh/intc/balancing.c
@@ -9,7 +9,7 @@
  */
 #include "internals.h"
 
-static unsigned long dist_handle[NR_IRQS];
+static unsigned long dist_handle[INTC_NR_IRQS];
 
 void intc_balancing_enable(unsigned int irq)
 {
diff --git a/drivers/sh/intc/core.c b/drivers/sh/intc/core.c
index e53e449..2fde897 100644
--- a/drivers/sh/intc/core.c
+++ b/drivers/sh/intc/core.c
@@ -42,7 +42,7 @@ unsigned int nr_intc_controllers;
  * - this needs to be at least 2 for 5-bit priorities on 7780
  */
 static unsigned int default_prio_level = 2;	/* 2 - 16 */
-static unsigned int intc_prio_level[NR_IRQS];	/* for now */
+static unsigned int intc_prio_level[INTC_NR_IRQS];	/* for now */
 
 unsigned int intc_get_dfl_prio_level(void)
 {
diff --git a/drivers/sh/intc/handle.c b/drivers/sh/intc/handle.c
index 057ce56..f461d53 100644
--- a/drivers/sh/intc/handle.c
+++ b/drivers/sh/intc/handle.c
@@ -13,7 +13,7 @@
 #include <linux/spinlock.h>
 #include "internals.h"
 
-static unsigned long ack_handle[NR_IRQS];
+static unsigned long ack_handle[INTC_NR_IRQS];
 
 static intc_enum __init intc_grp_id(struct intc_desc *desc,
 				    intc_enum enum_id)
diff --git a/drivers/sh/intc/internals.h b/drivers/sh/intc/internals.h
index b0e9155..469f092 100644
--- a/drivers/sh/intc/internals.h
+++ b/drivers/sh/intc/internals.h
@@ -6,6 +6,15 @@
 #include <linux/radix-tree.h>
 #include <linux/device.h>
 
+#define INTC_NR_IRQS	1024
+
+#ifndef evt2irq
+#define evt2irq(evt)            (((evt) >> 5) - 16)
+#endif
+#ifndef irq2evt
+#define irq2evt(irq)            (((irq) + 16) << 5)
+#endif
+
 #define _INTC_MK(fn, mode, addr_e, addr_d, width, shift) \
 	((shift) | ((width) << 5) | ((fn) << 9) | ((mode) << 13) | \
 	 ((addr_e) << 16) | ((addr_d << 24)))
diff --git a/drivers/sh/intc/virq.c b/drivers/sh/intc/virq.c
index c7ec49f..93cec21 100644
--- a/drivers/sh/intc/virq.c
+++ b/drivers/sh/intc/virq.c
@@ -17,7 +17,7 @@
 #include <linux/export.h>
 #include "internals.h"
 
-static struct intc_map_entry intc_irq_xlate[NR_IRQS];
+static struct intc_map_entry intc_irq_xlate[INTC_NR_IRQS];
 
 struct intc_virq_list {
 	unsigned int irq;
-- 
1.7.5.4

  parent reply	other threads:[~2012-01-13 16:34 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-13 16:34 [RFC PATCH 00/10] Make mach/irqs.h optional Rob Herring
2012-01-13 16:34 ` Rob Herring
2012-01-13 16:34 ` [RFC PATCH 01/10] rtc: sa1100: include mach/irqs.h instead of asm/irq.h Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:43   ` Russell King - ARM Linux
2012-01-13 16:43     ` Russell King - ARM Linux
2012-01-13 16:58     ` Rob Herring
2012-01-13 16:58       ` Rob Herring
2012-01-13 20:46       ` Nicolas Pitre
2012-01-13 20:46         ` Nicolas Pitre
2012-01-13 21:45         ` Russell King - ARM Linux
2012-01-13 21:45           ` Russell King - ARM Linux
2012-01-13 22:26           ` Nicolas Pitre
2012-01-13 22:26             ` Nicolas Pitre
2012-01-13 23:21         ` Rob Herring
2012-01-13 23:21           ` Rob Herring
2012-01-13 23:51           ` Nicolas Pitre
2012-01-13 23:51             ` Nicolas Pitre
2012-01-13 16:34 ` [RFC PATCH 02/10] sound: pxa2xx-ac97: include mach/irqs.h directly Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:34 ` [RFC PATCH 03/10] ARM: mc146818rtc: remove unnecessary include of mach/irqs.h Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:52   ` Russell King - ARM Linux
2012-01-13 16:52     ` Russell King - ARM Linux
2012-01-13 16:34 ` [RFC PATCH 04/10] ARM: it8152: explicitly include mach/irqs.h Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 22:02   ` Rob Herring
2012-01-13 22:02     ` Rob Herring
2012-01-13 22:36     ` Nicolas Pitre
2012-01-13 22:36       ` Nicolas Pitre
2012-01-13 16:34 ` Rob Herring [this message]
2012-01-13 16:34   ` [RFC PATCH 05/10] sh: intc: remove dependency on NR_IRQS Rob Herring
2012-01-17  1:54   ` Nobuhiro Iwamatsu
2012-01-17  1:54     ` Nobuhiro Iwamatsu
2012-01-17  2:37     ` Rob Herring
2012-01-17  2:37       ` Rob Herring
2012-01-17  5:09       ` Nobuhiro Iwamatsu
2012-01-17  5:09         ` Nobuhiro Iwamatsu
2012-01-17 16:24         ` Rob Herring
2012-01-17 16:24           ` Rob Herring
2012-01-19  3:44           ` Nobuhiro Iwamatsu
2012-01-19  3:44             ` Nobuhiro Iwamatsu
2012-01-13 16:34 ` [RFC PATCH 06/10] ARM: mmp: remove NR_IRQS Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 20:30   ` Nicolas Pitre
2012-01-13 20:30     ` Nicolas Pitre
2012-01-13 16:34 ` [RFC PATCH 07/10] ARM: pxa: " Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:34 ` [RFC PATCH 08/10] ARM: shmobile: " Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:34 ` [RFC PATCH 09/10] ARM: only include mach/irqs.h for !SPARSE_IRQ Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 16:34 ` [RFC PATCH 10/10] ARM: highbank: select SPARSE_IRQ and remove irqs.h Rob Herring
2012-01-13 16:34   ` Rob Herring
2012-01-13 17:42 ` [RFC PATCH 00/10] Make mach/irqs.h optional Jamie Iles
2012-01-13 17:42   ` Jamie Iles

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1326472451-9002-6-git-send-email-robherring2@gmail.com \
    --to=robherring2@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.