LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
@ 2011-01-19 21:47 Thomas Gleixner
2011-01-19 21:48 ` [patch 01/37] h8300: Convert to new irq_chip functions Thomas Gleixner
` (40 more replies)
0 siblings, 41 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:47 UTC (permalink / raw)
To: LKML
Cc: Linux-Arch, Linus Torvalds, Andrew Morton, Ingo Molnar,
Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf, David Howells,
David S. Miller, Greg Ungerer, Hirokazu Takata, Jeff Dike,
Kyle McMartin, Michal Simek, Mikael Starvik, Mike Frysinger,
Paul Mundt, Richard Henderson, Tony Luck, Yoshinori Sato
Now that rc1 is out, I got reliable information about the remaining
users of __do_IRQ(), which block the removal:
arch/cris, arch/h8300, arch/m32r
The following series converts these architectures to proper flow
handlers and removes __do_IRQ(). Aside of that if cleans up the irq
related Kconfigs in the architectures and switches them to the generic
Kconfig in kernel/irq/
The __do_IRQ() removal is only compile tested, but
- the CRIS maintainer said some time ago he is fine with breakage
and will deal with the fallout
- h8300 and m32r are basically unmaintained. The last updates from
the maintainer side have been more than a year ago.
The conversion of all 3 architectures is straight forward and with low risc,
though it's only compile tested with all available defconfigs as far as it
goes. Some of them do not build in vanilla either, but the converted files
build fine.
The last chunk of this patch series is a straight forward conversion
of architectures to use the generic irq Kconfig file. Compile tested
and boot tested on a few.
That said, if there are no objections and Linus does not go berserk on
me, I'd like to get over with this right now.
Thanks,
tglx
---
Documentation/feature-removal-schedule.txt | 8 -
arch/alpha/Kconfig | 19 --
arch/blackfin/Kconfig | 17 --
arch/cris/Kconfig | 6
arch/cris/arch-v10/kernel/irq.c | 41 +----
arch/cris/arch-v32/kernel/irq.c | 50 +-----
arch/cris/kernel/irq.c | 6
arch/frv/Kconfig | 9 -
arch/h8300/Kconfig | 6
arch/h8300/kernel/irq.c | 50 ++----
arch/ia64/Kconfig | 26 ---
arch/m32r/Kconfig | 11 -
arch/m32r/kernel/irq.c | 10 -
arch/m32r/platforms/m32104ut/setup.c | 58 ++-----
arch/m32r/platforms/m32700ut/setup.c | 214 +++++++++-------------------
arch/m32r/platforms/mappi/setup.c | 78 +++-------
arch/m32r/platforms/mappi2/setup.c | 89 +++--------
arch/m32r/platforms/mappi3/setup.c | 92 ++++--------
arch/m32r/platforms/oaks32r/setup.c | 65 ++------
arch/m32r/platforms/opsput/setup.c | 220 +++++++++--------------------
arch/m32r/platforms/usrv/setup.c | 115 +++++----------
arch/m68knommu/Kconfig | 9 -
arch/microblaze/Kconfig | 11 -
arch/mips/Kconfig | 3
arch/mn10300/Kconfig | 8 -
arch/parisc/Kconfig | 18 --
arch/powerpc/Kconfig | 28 ---
arch/score/Kconfig | 10 -
arch/sparc/Kconfig | 9 -
arch/tile/Kconfig | 19 --
arch/um/Kconfig.common | 6
arch/um/Kconfig.um | 3
include/linux/irqdesc.h | 14 -
kernel/irq/Kconfig | 3
kernel/irq/handle.c | 111 --------------
35 files changed, 413 insertions(+), 1029 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 01/37] h8300: Convert to new irq_chip functions
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 02/37] h8300: Convert interrupt handling to flow handler Thomas Gleixner
` (39 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Yoshinori Sato, Paul Mundt
[-- Attachment #1: h8300-convert-to-new-irq-chip-functions.patch --]
[-- Type: text/plain, Size: 2143 bytes --]
No functional change, just straight forward conversion.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/h8300/kernel/irq.c | 33 ++++++++++++++++-----------------
1 file changed, 16 insertions(+), 17 deletions(-)
Index: linux-2.6/arch/h8300/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/h8300/kernel/irq.c
+++ linux-2.6/arch/h8300/kernel/irq.c
@@ -38,34 +38,34 @@ static inline int is_ext_irq(unsigned in
return (irq >= EXT_IRQ0 && irq <= (EXT_IRQ0 + EXT_IRQS));
}
-static void h8300_enable_irq(unsigned int irq)
+static void h8300_enable_irq(struct irq_data *data)
{
- if (is_ext_irq(irq))
- IER_REGS |= 1 << (irq - EXT_IRQ0);
+ if (is_ext_irq(data->irq))
+ IER_REGS |= 1 << (data->irq - EXT_IRQ0);
}
-static void h8300_disable_irq(unsigned int irq)
+static void h8300_disable_irq(struct irq_data *data)
{
- if (is_ext_irq(irq))
- IER_REGS &= ~(1 << (irq - EXT_IRQ0));
+ if (is_ext_irq(data->irq))
+ IER_REGS &= ~(1 << (data->irq - EXT_IRQ0));
}
static void h8300_end_irq(unsigned int irq)
{
}
-static unsigned int h8300_startup_irq(unsigned int irq)
+static unsigned int h8300_startup_irq(struct irq_data *data)
{
- if (is_ext_irq(irq))
- return h8300_enable_irq_pin(irq);
+ if (is_ext_irq(data->irq))
+ return h8300_enable_irq_pin(data->irq);
else
return 0;
}
-static void h8300_shutdown_irq(unsigned int irq)
+static void h8300_shutdown_irq(struct irq_data *data)
{
- if (is_ext_irq(irq))
- h8300_disable_irq_pin(irq);
+ if (is_ext_irq(data->irq))
+ h8300_disable_irq_pin(data->irq);
}
/*
@@ -73,11 +73,10 @@ static void h8300_shutdown_irq(unsigned
*/
struct irq_chip h8300irq_chip = {
.name = "H8300-INTC",
- .startup = h8300_startup_irq,
- .shutdown = h8300_shutdown_irq,
- .enable = h8300_enable_irq,
- .disable = h8300_disable_irq,
- .ack = NULL,
+ .irq_startup = h8300_startup_irq,
+ .irq_shutdown = h8300_shutdown_irq,
+ .irq_enable = h8300_enable_irq,
+ .irq_disable = h8300_disable_irq,
.end = h8300_end_irq,
};
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 02/37] h8300: Convert interrupt handling to flow handler
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
2011-01-19 21:48 ` [patch 01/37] h8300: Convert to new irq_chip functions Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 03/37] h8300: Use generic irq Kconfig Thomas Gleixner
` (38 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Yoshinori Sato, Paul Mundt
[-- Attachment #1: h8300-convert-to-flow-handler.patch --]
[-- Type: text/plain, Size: 1558 bytes --]
__do_IRQ is deprecated so h8300 needs to be converted to proper flow
handling. The irq chip is simple and does not required any
mask/ack/eoi functions, so we can use handle_simple_irq.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/h8300/kernel/irq.c | 15 +++------------
1 file changed, 3 insertions(+), 12 deletions(-)
Index: linux-2.6/arch/h8300/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/h8300/kernel/irq.c
+++ linux-2.6/arch/h8300/kernel/irq.c
@@ -50,10 +50,6 @@ static void h8300_disable_irq(struct irq
IER_REGS &= ~(1 << (data->irq - EXT_IRQ0));
}
-static void h8300_end_irq(unsigned int irq)
-{
-}
-
static unsigned int h8300_startup_irq(struct irq_data *data)
{
if (is_ext_irq(data->irq))
@@ -77,7 +73,6 @@ struct irq_chip h8300irq_chip = {
.irq_shutdown = h8300_shutdown_irq,
.irq_enable = h8300_enable_irq,
.irq_disable = h8300_disable_irq,
- .end = h8300_end_irq,
};
#if defined(CONFIG_RAMKERNEL)
@@ -159,18 +154,14 @@ void __init init_IRQ(void)
setup_vector();
- for (c = 0; c < NR_IRQS; c++) {
- irq_desc[c].status = IRQ_DISABLED;
- irq_desc[c].action = NULL;
- irq_desc[c].depth = 1;
- irq_desc[c].chip = &h8300irq_chip;
- }
+ for (c = 0; c < NR_IRQS; c++)
+ set_irq_chip_and_handler(c, &h8300irq_chip, handle_simple_irq);
}
asmlinkage void do_IRQ(int irq)
{
irq_enter();
- __do_IRQ(irq);
+ generic_handle_irq(irq);
irq_exit();
}
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 03/37] h8300: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
2011-01-19 21:48 ` [patch 01/37] h8300: Convert to new irq_chip functions Thomas Gleixner
2011-01-19 21:48 ` [patch 02/37] h8300: Convert interrupt handling to flow handler Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 04/37] cris: Use irq handling wrapper Thomas Gleixner
` (37 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Yoshinori Sato, Paul Mundt
[-- Attachment #1: h8300-use-generic-irq-kconfig.patch --]
[-- Type: text/plain, Size: 1513 bytes --]
Switch to the generic irq Kconfig. h8300 has all irq chips converted
to the new functions, so select the GENERIC_HARDIRQS_NO_DEPRECATED
switch as well. Fixup the resulting fallout in show_interrupts().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/h8300/Kconfig | 6 ++----
arch/h8300/kernel/irq.c | 2 +-
2 files changed, 3 insertions(+), 5 deletions(-)
Index: linux-2.6/arch/h8300/Kconfig
===================================================================
--- linux-2.6.orig/arch/h8300/Kconfig
+++ linux-2.6/arch/h8300/Kconfig
@@ -2,6 +2,8 @@ config H8300
bool
default y
select HAVE_IDE
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_HARDIRQS_NO_DEPRECATED
config SYMBOL_PREFIX
string
@@ -47,10 +49,6 @@ config GENERIC_HWEIGHT
bool
default y
-config GENERIC_HARDIRQS
- bool
- default y
-
config GENERIC_CALIBRATE_DELAY
bool
default y
Index: linux-2.6/arch/h8300/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/h8300/kernel/irq.c
+++ linux-2.6/arch/h8300/kernel/irq.c
@@ -182,7 +182,7 @@ int show_interrupts(struct seq_file *p,
goto unlock;
seq_printf(p, "%3d: ",i);
seq_printf(p, "%10u ", kstat_irqs(i));
- seq_printf(p, " %14s", irq_desc[i].chip->name);
+ seq_printf(p, " %14s", irq_desc[i].irq_data.chip->name);
seq_printf(p, "-%-8s", irq_desc[i].name);
seq_printf(p, " %s", action->name);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 04/37] cris: Use irq handling wrapper
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (2 preceding siblings ...)
2011-01-19 21:48 ` [patch 03/37] h8300: Use generic irq Kconfig Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 05/37] cris: Convert V10 interrupt handling Thomas Gleixner
` (36 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Mikael Starvik
[-- Attachment #1: cris-use-irq-handling-wrapper.patch --]
[-- Type: text/plain, Size: 709 bytes --]
Use the wrapper around __do_IRQ() so we can convert V10 and V32
seperately.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mikael Starvik <starvik@axis.com>
---
arch/cris/kernel/irq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6/arch/cris/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/cris/kernel/irq.c
+++ linux-2.6/arch/cris/kernel/irq.c
@@ -93,8 +93,8 @@ asmlinkage void do_IRQ(int irq, struct p
printk("do_IRQ: stack overflow: %lX\n", sp);
show_stack(NULL, (unsigned long *)sp);
}
- __do_IRQ(irq);
- irq_exit();
+ generic_handle_irq(irq);
+ irq_exit();
set_irq_regs(old_regs);
}
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 05/37] cris: Convert V10 interrupt handling
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (3 preceding siblings ...)
2011-01-19 21:48 ` [patch 04/37] cris: Use irq handling wrapper Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 06/37] cris: Convert V32 " Thomas Gleixner
` (35 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Mikael Starvik
[-- Attachment #1: cris-cleanup-v10-irq.patch --]
[-- Type: text/plain, Size: 2101 bytes --]
Convert the irq_chip functions and install handle_simple_irq for each
interrupt. This converts V10 to the flow handling and lets us remove
__do_IRQ().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mikael Starvik <starvik@axis.com>
---
arch/cris/arch-v10/kernel/irq.c | 41 +++++++++-------------------------------
1 file changed, 10 insertions(+), 31 deletions(-)
Index: linux-2.6/arch/cris/arch-v10/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/cris/arch-v10/kernel/irq.c
+++ linux-2.6/arch/cris/arch-v10/kernel/irq.c
@@ -104,43 +104,21 @@ static void (*interrupt[NR_IRQS])(void)
IRQ31_interrupt
};
-static void enable_crisv10_irq(unsigned int irq);
-
-static unsigned int startup_crisv10_irq(unsigned int irq)
-{
- enable_crisv10_irq(irq);
- return 0;
-}
-
-#define shutdown_crisv10_irq disable_crisv10_irq
-
-static void enable_crisv10_irq(unsigned int irq)
-{
- crisv10_unmask_irq(irq);
-}
-
-static void disable_crisv10_irq(unsigned int irq)
-{
- crisv10_mask_irq(irq);
-}
-
-static void ack_crisv10_irq(unsigned int irq)
+static void enable_crisv10_irq(struct irq_data *data)
{
+ crisv10_unmask_irq(data->irq);
}
-static void end_crisv10_irq(unsigned int irq)
+static void disable_crisv10_irq(struct irq_data *data)
{
+ crisv10_mask_irq(data->irq);
}
static struct irq_chip crisv10_irq_type = {
- .name = "CRISv10",
- .startup = startup_crisv10_irq,
- .shutdown = shutdown_crisv10_irq,
- .enable = enable_crisv10_irq,
- .disable = disable_crisv10_irq,
- .ack = ack_crisv10_irq,
- .end = end_crisv10_irq,
- .set_affinity = NULL
+ .name = "CRISv10",
+ .irq_shutdown = disable_crisv10_irq,
+ .irq_enable = enable_crisv10_irq,
+ .irq_disable = disable_crisv10_irq,
};
void weird_irq(void);
@@ -221,7 +199,8 @@ init_IRQ(void)
/* Initialize IRQ handler descriptors. */
for(i = 2; i < NR_IRQS; i++) {
- irq_desc[i].chip = &crisv10_irq_type;
+ set_irq_desc_and_handler(i, &crisv10_irq_type,
+ handle_simple_irq);
set_int_vector(i, interrupt[i]);
}
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 06/37] cris: Convert V32 interrupt handling
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (4 preceding siblings ...)
2011-01-19 21:48 ` [patch 05/37] cris: Convert V10 interrupt handling Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 07/37] cris: Use generic irq Kconfig Thomas Gleixner
` (34 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Mikael Starvik
[-- Attachment #1: cris-cleanup-v32-irq.patch --]
[-- Type: text/plain, Size: 2508 bytes --]
Convert the irq chip functions and install handle_simple_irq for each
interrupt to get rid of __do_IRQ()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mikael Starvik <starvik@axis.com>
---
arch/cris/arch-v32/kernel/irq.c | 50 ++++++++++++----------------------------
1 file changed, 15 insertions(+), 35 deletions(-)
Index: linux-2.6/arch/cris/arch-v32/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/cris/arch-v32/kernel/irq.c
+++ linux-2.6/arch/cris/arch-v32/kernel/irq.c
@@ -291,54 +291,33 @@ void crisv32_unmask_irq(int irq)
}
-static unsigned int startup_crisv32_irq(unsigned int irq)
+static void enable_crisv32_irq(struct irq_data *data)
{
- crisv32_unmask_irq(irq);
- return 0;
-}
-
-static void shutdown_crisv32_irq(unsigned int irq)
-{
- crisv32_mask_irq(irq);
+ crisv32_unmask_irq(data->irq);
}
-static void enable_crisv32_irq(unsigned int irq)
+static void disable_crisv32_irq(struct irq_data *data)
{
- crisv32_unmask_irq(irq);
+ crisv32_mask_irq(data->irq);
}
-static void disable_crisv32_irq(unsigned int irq)
-{
- crisv32_mask_irq(irq);
-}
-
-static void ack_crisv32_irq(unsigned int irq)
-{
-}
-
-static void end_crisv32_irq(unsigned int irq)
-{
-}
-
-int set_affinity_crisv32_irq(unsigned int irq, const struct cpumask *dest)
+static int set_affinity_crisv32_irq(struct irq_data *data,
+ const struct cpumask *dest, bool force)
{
unsigned long flags;
+
spin_lock_irqsave(&irq_lock, flags);
- irq_allocations[irq - FIRST_IRQ].mask = *dest;
+ irq_allocations[data->irq - FIRST_IRQ].mask = *dest;
spin_unlock_irqrestore(&irq_lock, flags);
-
return 0;
}
static struct irq_chip crisv32_irq_type = {
- .name = "CRISv32",
- .startup = startup_crisv32_irq,
- .shutdown = shutdown_crisv32_irq,
- .enable = enable_crisv32_irq,
- .disable = disable_crisv32_irq,
- .ack = ack_crisv32_irq,
- .end = end_crisv32_irq,
- .set_affinity = set_affinity_crisv32_irq
+ .name = "CRISv32",
+ .irq_shutdown = disable_crisv32_irq,
+ .irq_enable = enable_crisv32_irq,
+ .irq_disable = disable_crisv32_irq,
+ .irq_set_affinity = set_affinity_crisv32_irq,
};
void
@@ -472,7 +451,8 @@ init_IRQ(void)
/* Point all IRQ's to bad handlers. */
for (i = FIRST_IRQ, j = 0; j < NR_IRQS; i++, j++) {
- irq_desc[j].chip = &crisv32_irq_type;
+ set_irq_chip_and_handler(j, &crisv32_irq_type,
+ handle_simple_irq);
set_exception_vector(i, interrupt[j]);
}
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 07/37] cris: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (5 preceding siblings ...)
2011-01-19 21:48 ` [patch 06/37] cris: Convert V32 " Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 08/37] m32r: Cleanup direct irq_desc access Thomas Gleixner
` (33 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Mikael Starvik
[-- Attachment #1: cris-cleanup-kconfig.patch --]
[-- Type: text/plain, Size: 1445 bytes --]
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as
we have converted all irq_chip functions. Fix the fallout in
show_interrupts().
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mikael Starvik <starvik@axis.com>
---
arch/cris/Kconfig | 6 ++----
arch/cris/kernel/irq.c | 2 +-
2 files changed, 3 insertions(+), 5 deletions(-)
Index: linux-2.6/arch/cris/Kconfig
===================================================================
--- linux-2.6.orig/arch/cris/Kconfig
+++ linux-2.6/arch/cris/Kconfig
@@ -54,6 +54,8 @@ config CRIS
bool
default y
select HAVE_IDE
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_HARDIRQS_NO_DEPRECATED
config HZ
int
@@ -67,10 +69,6 @@ menu "General setup"
source "fs/Kconfig.binfmt"
-config GENERIC_HARDIRQS
- bool
- default y
-
config ETRAX_CMDLINE
string "Kernel command line"
default "root=/dev/mtdblock3"
Index: linux-2.6/arch/cris/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/cris/kernel/irq.c
+++ linux-2.6/arch/cris/kernel/irq.c
@@ -62,7 +62,7 @@ int show_interrupts(struct seq_file *p,
for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
#endif
- seq_printf(p, " %14s", irq_desc[i].chip->name);
+ seq_printf(p, " %14s", irq_desc[i].irq_data.chip->name);
seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next)
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 08/37] m32r: Cleanup direct irq_desc access
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (6 preceding siblings ...)
2011-01-19 21:48 ` [patch 07/37] cris: Use generic irq Kconfig Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 09/37] m32r: Convert m32104ut irq handling Thomas Gleixner
` (32 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-cleanup-direct-irq-desc-access.patch --]
[-- Type: text/plain, Size: 35277 bytes --]
The irq descriptors are already initialized by the generic
code. Remove the redundant init code and set the irq chip with the
proper accessor function.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/kernel/irq.c | 10 ++--
arch/m32r/platforms/m32104ut/setup.c | 20 +--------
arch/m32r/platforms/m32700ut/setup.c | 74 +++++++----------------------------
arch/m32r/platforms/mappi/setup.c | 41 +++----------------
arch/m32r/platforms/mappi2/setup.c | 50 ++++-------------------
arch/m32r/platforms/mappi3/setup.c | 50 ++++-------------------
arch/m32r/platforms/oaks32r/setup.c | 30 ++------------
arch/m32r/platforms/opsput/setup.c | 70 ++++++---------------------------
arch/m32r/platforms/usrv/setup.c | 45 ++++-----------------
9 files changed, 83 insertions(+), 307 deletions(-)
Index: linux-2.6/arch/m32r/kernel/irq.c
===================================================================
--- linux-2.6.orig/arch/m32r/kernel/irq.c
+++ linux-2.6/arch/m32r/kernel/irq.c
@@ -40,8 +40,10 @@ int show_interrupts(struct seq_file *p,
}
if (i < NR_IRQS) {
- raw_spin_lock_irqsave(&irq_desc[i].lock, flags);
- action = irq_desc[i].action;
+ struct irq_desc *desc = irq_to_desc(i);
+
+ raw_spin_lock_irqsave(&desc->lock, flags);
+ action = desc->action;
if (!action)
goto skip;
seq_printf(p, "%3d: ",i);
@@ -51,7 +53,7 @@ int show_interrupts(struct seq_file *p,
for_each_online_cpu(j)
seq_printf(p, "%10u ", kstat_irqs_cpu(i, j));
#endif
- seq_printf(p, " %14s", irq_desc[i].chip->name);
+ seq_printf(p, " %14s", desc->irq_data.chip->name);
seq_printf(p, " %s", action->name);
for (action=action->next; action; action = action->next)
@@ -59,7 +61,7 @@ int show_interrupts(struct seq_file *p,
seq_putc(p, '\n');
skip:
- raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);
+ raw_spin_unlock_irqrestore(&desc->lock, flags);
}
return 0;
}
Index: linux-2.6/arch/m32r/platforms/m32104ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32104ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32104ut/setup.c
@@ -85,36 +85,24 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/
- irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT0].chip = &m32104ut_irq_type;
- irq_desc[M32R_IRQ_INT0].action = 0;
- irq_desc[M32R_IRQ_INT0].depth = 1;
+ set_irq_chip(M32R_IRQ_INT0, &m32104ut_irq_type);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; /* "H" level sense */
disable_m32104ut_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &m32104ut_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &m32104ut_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &m32104ut_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &m32104ut_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &m32104ut_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &m32104ut_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_SIO0_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
Index: linux-2.6/arch/m32r/platforms/m32700ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32700ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32700ut/setup.c
@@ -299,101 +299,65 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/
- irq_desc[M32700UT_LAN_IRQ_LAN].status = IRQ_DISABLED;
- irq_desc[M32700UT_LAN_IRQ_LAN].chip = &m32700ut_lanpld_irq_type;
- irq_desc[M32700UT_LAN_IRQ_LAN].action = 0;
- irq_desc[M32700UT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */
+ set_irq_chip(M32700UT_LAN_IRQ_LAN, &m32700ut_lanpld_irq_type);
lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
disable_m32700ut_lanpld_irq(M32700UT_LAN_IRQ_LAN);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &m32700ut_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_m32700ut_irq(M32R_IRQ_MFT2);
/* SIO0 : receive */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &m32700ut_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO0_R);
/* SIO0 : send */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &m32700ut_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO0_S);
/* SIO1 : receive */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &m32700ut_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO1_R);
/* SIO1 : send */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &m32700ut_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO1_S);
/* DMA1 : */
- irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_DMA1].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_DMA1].action = 0;
- irq_desc[M32R_IRQ_DMA1].depth = 1;
+ set_irq_chip(M32R_IRQ_DMA1, &m32700ut_irq_type);
icu_data[M32R_IRQ_DMA1].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_DMA1);
#ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */
- irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_SIO0_RCV].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_SIO0_RCV].action = 0;
- irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_SIO0_RCV, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_m32700ut_pld_irq(PLD_IRQ_SIO0_RCV);
/* INT#1: SIO0 Send on PLD */
- irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_SIO0_SND].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_SIO0_SND].action = 0;
- irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_SIO0_SND, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_m32700ut_pld_irq(PLD_IRQ_SIO0_SND);
#endif /* CONFIG_SERIAL_M32R_PLDSIO */
/* INT#1: CFC IREQ on PLD */
- irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFIREQ].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_CFIREQ].action = 0;
- irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFIREQ, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFIREQ);
/* INT#1: CFC Insert on PLD */
- irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_INSERT].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
- irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_INSERT, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFC_INSERT);
/* INT#1: CFC Eject on PLD */
- irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_EJECT].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
- irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_EJECT, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFC_EJECT);
@@ -413,13 +377,10 @@ void __init init_IRQ(void)
#if defined(CONFIG_USB)
outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
+ set_irq_chip(M32700UT_LCD_IRQ_USB_INT1, &m32700ut_lcdpld_irq_type);
- irq_desc[M32700UT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED;
- irq_desc[M32700UT_LCD_IRQ_USB_INT1].chip = &m32700ut_lcdpld_irq_type;
- irq_desc[M32700UT_LCD_IRQ_USB_INT1].action = 0;
- irq_desc[M32700UT_LCD_IRQ_USB_INT1].depth = 1;
- lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
- disable_m32700ut_lcdpld_irq(M32700UT_LCD_IRQ_USB_INT1);
+ lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
+ disable_m32700ut_lcdpld_irq(M32700UT_LCD_IRQ_USB_INT1);
#endif
/*
* INT2# is used for BAT, USB, AUDIO
@@ -432,10 +393,7 @@ void __init init_IRQ(void)
/*
* INT3# is used for AR
*/
- irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT3].chip = &m32700ut_irq_type;
- irq_desc[M32R_IRQ_INT3].action = 0;
- irq_desc[M32R_IRQ_INT3].depth = 1;
+ set_irq_chip(M32R_IRQ_INT3, &m32700ut_irq_type);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_m32700ut_irq(M32R_IRQ_INT3);
#endif /* CONFIG_VIDEO_M32R_AR */
Index: linux-2.6/arch/m32r/platforms/mappi/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi/setup.c
@@ -45,7 +45,6 @@ static void mask_and_ack_mappi(unsigned
static void end_mappi_irq(unsigned int irq)
{
- if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
enable_mappi_irq(irq);
}
@@ -85,70 +84,46 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000
/* INT0 : LAN controller (RTL8019AS) */
- irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT0].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_INT0].action = NULL;
- irq_desc[M32R_IRQ_INT0].depth = 1;
+ set_irq_chip(M32R_IRQ_INT0, &mappi_irq_type);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD11;
disable_mappi_irq(M32R_IRQ_INT0);
#endif /* CONFIG_M32R_NE2000 */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = NULL;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &mappi_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = NULL;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &mappi_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = NULL;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &mappi_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = NULL;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &mappi_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = NULL;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &mappi_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
#if defined(CONFIG_M32R_PCC)
/* INT1 : pccard0 interrupt */
- irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT1].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_INT1].action = NULL;
- irq_desc[M32R_IRQ_INT1].depth = 1;
+ set_irq_chip(M32R_IRQ_INT1, &mappi_irq_type);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
disable_mappi_irq(M32R_IRQ_INT1);
/* INT2 : pccard1 interrupt */
- irq_desc[M32R_IRQ_INT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT2].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_INT2].action = NULL;
- irq_desc[M32R_IRQ_INT2].depth = 1;
+ set_irq_chip(M32R_IRQ_INT2, &mappi_irq_type);
icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
disable_mappi_irq(M32R_IRQ_INT2);
#endif /* CONFIG_M32RPCC */
Index: linux-2.6/arch/m32r/platforms/mappi2/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi2/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi2/setup.c
@@ -85,87 +85,57 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */
- irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT0].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_INT0].action = 0;
- irq_desc[M32R_IRQ_INT0].depth = 1;
+ set_irq_chip(M32R_IRQ_INT0, &mappi2_irq_type);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi2_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &mappi2_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi2_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &mappi2_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &mappi2_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &mappi2_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &mappi2_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_M32R_USE_DBG_CONSOLE */
#if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */
- irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT1].chip = &mappi2_irq_type;
- irq_desc[M32R_IRQ_INT1].action = 0;
- irq_desc[M32R_IRQ_INT1].depth = 1;
+ set_irq_chip(M32R_IRQ_INT1, &mappi2_irq_type);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
disable_mappi2_irq(M32R_IRQ_INT1);
#endif /* CONFIG_USB */
/* ICUCR40: CFC IREQ */
- irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFIREQ].chip = &mappi2_irq_type;
- irq_desc[PLD_IRQ_CFIREQ].action = 0;
- irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFIREQ, &mappi2_irq_type);
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
disable_mappi2_irq(PLD_IRQ_CFIREQ);
#if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert */
- irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi2_irq_type;
- irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
- irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_INSERT, &mappi2_irq_type);
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
disable_mappi2_irq(PLD_IRQ_CFC_INSERT);
/* ICUCR42: CFC Eject */
- irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_EJECT].chip = &mappi2_irq_type;
- irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
- irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_EJECT, &mappi2_irq_type);
icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi2_irq(PLD_IRQ_CFC_EJECT);
#endif /* CONFIG_MAPPI2_CFC */
Index: linux-2.6/arch/m32r/platforms/mappi3/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi3/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi3/setup.c
@@ -85,89 +85,59 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */
- irq_desc[M32R_IRQ_INT0].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT0].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_INT0].action = 0;
- irq_desc[M32R_IRQ_INT0].depth = 1;
+ set_irq_chip(M32R_IRQ_INT0, &mappi3_irq_type);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi3_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &mappi3_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi3_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &mappi3_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &mappi3_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &mappi3_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &mappi3_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_M32R_USE_DBG_CONSOLE */
#if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */
- irq_desc[M32R_IRQ_INT1].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT1].chip = &mappi3_irq_type;
- irq_desc[M32R_IRQ_INT1].action = 0;
- irq_desc[M32R_IRQ_INT1].depth = 1;
+ set_irq_chip(M32R_IRQ_INT1, &mappi3_irq_type);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
disable_mappi3_irq(M32R_IRQ_INT1);
#endif /* CONFIG_USB */
/* CFC IREQ */
- irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFIREQ].chip = &mappi3_irq_type;
- irq_desc[PLD_IRQ_CFIREQ].action = 0;
- irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFIREQ, &mappi3_irq_type);
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
disable_mappi3_irq(PLD_IRQ_CFIREQ);
#if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert & eject */
- irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_INSERT].chip = &mappi3_irq_type;
- irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
- irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_INSERT, &mappi3_irq_type);
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
disable_mappi3_irq(PLD_IRQ_CFC_INSERT);
#endif /* CONFIG_M32R_CFC */
/* IDE IREQ */
- irq_desc[PLD_IRQ_IDEIREQ].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_IDEIREQ].chip = &mappi3_irq_type;
- irq_desc[PLD_IRQ_IDEIREQ].action = 0;
- irq_desc[PLD_IRQ_IDEIREQ].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_IDEIREQ, &mappi3_irq_type);
icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi3_irq(PLD_IRQ_IDEIREQ);
Index: linux-2.6/arch/m32r/platforms/oaks32r/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/oaks32r/setup.c
+++ linux-2.6/arch/m32r/platforms/oaks32r/setup.c
@@ -83,52 +83,34 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000
/* INT3 : LAN controller (RTL8019AS) */
- irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT3].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_INT3].action = 0;
- irq_desc[M32R_IRQ_INT3].depth = 1;
+ set_irq_chip(M32R_IRQ_INT3, &oaks32r_irq_type);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_oaks32r_irq(M32R_IRQ_INT3);
#endif /* CONFIG_M32R_NE2000 */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &oaks32r_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_oaks32r_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &oaks32r_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &oaks32r_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &oaks32r_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &oaks32r_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &oaks32r_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
Index: linux-2.6/arch/m32r/platforms/opsput/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/opsput/setup.c
+++ linux-2.6/arch/m32r/platforms/opsput/setup.c
@@ -300,101 +300,65 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/
- irq_desc[OPSPUT_LAN_IRQ_LAN].status = IRQ_DISABLED;
- irq_desc[OPSPUT_LAN_IRQ_LAN].chip = &opsput_lanpld_irq_type;
- irq_desc[OPSPUT_LAN_IRQ_LAN].action = 0;
- irq_desc[OPSPUT_LAN_IRQ_LAN].depth = 1; /* disable nested irq */
+ set_irq_chip(OPSPUT_LAN_IRQ_LAN, &opsput_lanpld_irq_type);
lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
disable_opsput_lanpld_irq(OPSPUT_LAN_IRQ_LAN);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &opsput_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_opsput_irq(M32R_IRQ_MFT2);
/* SIO0 : receive */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &opsput_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO0_R);
/* SIO0 : send */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &opsput_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO0_S);
/* SIO1 : receive */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &opsput_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO1_R);
/* SIO1 : send */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &opsput_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO1_S);
/* DMA1 : */
- irq_desc[M32R_IRQ_DMA1].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_DMA1].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_DMA1].action = 0;
- irq_desc[M32R_IRQ_DMA1].depth = 1;
+ set_irq_chip(M32R_IRQ_DMA1, &opsput_irq_type);
icu_data[M32R_IRQ_DMA1].icucr = 0;
disable_opsput_irq(M32R_IRQ_DMA1);
#ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */
- irq_desc[PLD_IRQ_SIO0_RCV].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_SIO0_RCV].chip = &opsput_pld_irq_type;
- irq_desc[PLD_IRQ_SIO0_RCV].action = 0;
- irq_desc[PLD_IRQ_SIO0_RCV].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_SIO0_RCV, &opsput_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_opsput_pld_irq(PLD_IRQ_SIO0_RCV);
/* INT#1: SIO0 Send on PLD */
- irq_desc[PLD_IRQ_SIO0_SND].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_SIO0_SND].chip = &opsput_pld_irq_type;
- irq_desc[PLD_IRQ_SIO0_SND].action = 0;
- irq_desc[PLD_IRQ_SIO0_SND].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_SIO0_SND, &opsput_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_opsput_pld_irq(PLD_IRQ_SIO0_SND);
#endif /* CONFIG_SERIAL_M32R_PLDSIO */
/* INT#1: CFC IREQ on PLD */
- irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFIREQ].chip = &opsput_pld_irq_type;
- irq_desc[PLD_IRQ_CFIREQ].action = 0;
- irq_desc[PLD_IRQ_CFIREQ].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFIREQ, &opsput_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_opsput_pld_irq(PLD_IRQ_CFIREQ);
/* INT#1: CFC Insert on PLD */
- irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_INSERT].chip = &opsput_pld_irq_type;
- irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
- irq_desc[PLD_IRQ_CFC_INSERT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_INSERT, &opsput_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
disable_opsput_pld_irq(PLD_IRQ_CFC_INSERT);
/* INT#1: CFC Eject on PLD */
- irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CFC_EJECT].chip = &opsput_pld_irq_type;
- irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
- irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CFC_EJECT, &opsput_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT);
@@ -415,10 +379,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_USB)
outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
- irq_desc[OPSPUT_LCD_IRQ_USB_INT1].status = IRQ_DISABLED;
- irq_desc[OPSPUT_LCD_IRQ_USB_INT1].chip = &opsput_lcdpld_irq_type;
- irq_desc[OPSPUT_LCD_IRQ_USB_INT1].action = 0;
- irq_desc[OPSPUT_LCD_IRQ_USB_INT1].depth = 1;
+ set_irq_chip(OPSPUT_LCD_IRQ_USB_INT1, &opsput_lcdpld_irq_type);
lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1);
#endif
@@ -433,10 +394,7 @@ void __init init_IRQ(void)
/*
* INT3# is used for AR
*/
- irq_desc[M32R_IRQ_INT3].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_INT3].chip = &opsput_irq_type;
- irq_desc[M32R_IRQ_INT3].action = 0;
- irq_desc[M32R_IRQ_INT3].depth = 1;
+ set_irq_chip(M32R_IRQ_INT3, &opsput_irq_type);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_opsput_irq(M32R_IRQ_INT3);
#endif /* CONFIG_VIDEO_M32R_AR */
Index: linux-2.6/arch/m32r/platforms/usrv/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/usrv/setup.c
+++ linux-2.6/arch/m32r/platforms/usrv/setup.c
@@ -156,53 +156,35 @@ void __init init_IRQ(void)
once++;
/* MFT2 : system timer */
- irq_desc[M32R_IRQ_MFT2].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_MFT2].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_MFT2].action = 0;
- irq_desc[M32R_IRQ_MFT2].depth = 1;
+ set_irq_chip(M32R_IRQ_MFT2, &mappi_irq_type);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi_irq(M32R_IRQ_MFT2);
#if defined(CONFIG_SERIAL_M32R_SIO)
/* SIO0_R : uart receive data */
- irq_desc[M32R_IRQ_SIO0_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_R].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO0_R].action = 0;
- irq_desc[M32R_IRQ_SIO0_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_R, &mappi_irq_type);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- irq_desc[M32R_IRQ_SIO0_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO0_S].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO0_S].action = 0;
- irq_desc[M32R_IRQ_SIO0_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO0_S, &mappi_irq_type);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- irq_desc[M32R_IRQ_SIO1_R].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_R].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO1_R].action = 0;
- irq_desc[M32R_IRQ_SIO1_R].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_R, &mappi_irq_type);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- irq_desc[M32R_IRQ_SIO1_S].status = IRQ_DISABLED;
- irq_desc[M32R_IRQ_SIO1_S].chip = &mappi_irq_type;
- irq_desc[M32R_IRQ_SIO1_S].action = 0;
- irq_desc[M32R_IRQ_SIO1_S].depth = 1;
+ set_irq_chip(M32R_IRQ_SIO1_S, &mappi_irq_type);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
/* INT#67-#71: CFC#0 IREQ on PLD */
for (i = 0 ; i < CONFIG_M32R_CFC_NUM ; i++ ) {
- irq_desc[PLD_IRQ_CF0 + i].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_CF0 + i].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_CF0 + i].action = 0;
- irq_desc[PLD_IRQ_CF0 + i].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_CF0 + i, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr
= PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_CF0 + i);
@@ -210,19 +192,13 @@ void __init init_IRQ(void)
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
/* INT#76: 16552D#0 IREQ on PLD */
- irq_desc[PLD_IRQ_UART0].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_UART0].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_UART0].action = 0;
- irq_desc[PLD_IRQ_UART0].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_UART0, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr
= PLD_ICUCR_ISMOD03; /* 'H' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_UART0);
/* INT#77: 16552D#1 IREQ on PLD */
- irq_desc[PLD_IRQ_UART1].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_UART1].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_UART1].action = 0;
- irq_desc[PLD_IRQ_UART1].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_UART1, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr
= PLD_ICUCR_ISMOD03; /* 'H' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_UART1);
@@ -230,10 +206,7 @@ void __init init_IRQ(void)
#if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE)
/* INT#80: AK4524 IREQ on PLD */
- irq_desc[PLD_IRQ_SNDINT].status = IRQ_DISABLED;
- irq_desc[PLD_IRQ_SNDINT].chip = &m32700ut_pld_irq_type;
- irq_desc[PLD_IRQ_SNDINT].action = 0;
- irq_desc[PLD_IRQ_SNDINT].depth = 1; /* disable nested irq */
+ set_irq_chip(PLD_IRQ_SNDINT, &m32700ut_pld_irq_type);
pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr
= PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_SNDINT);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 09/37] m32r: Convert m32104ut irq handling
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (7 preceding siblings ...)
2011-01-19 21:48 ` [patch 08/37] m32r: Cleanup direct irq_desc access Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 10/37] m32r: Convert m32104ut irq chip Thomas Gleixner
` (31 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-m32104ut.patch --]
[-- Type: text/plain, Size: 3264 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/m32104ut/setup.c | 46 +++++++++++++++--------------------
1 file changed, 21 insertions(+), 25 deletions(-)
Index: linux-2.6/arch/m32r/platforms/m32104ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32104ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32104ut/setup.c
@@ -39,39 +39,30 @@ static void enable_m32104ut_irq(unsigned
outl(data, port);
}
-static void mask_and_ack_m32104ut(unsigned int irq)
+static void mask_m32104ut_irq(struct irq_data *data)
{
- disable_m32104ut_irq(irq);
+ disable_m32104ut_irq(data->irq);
}
-static void end_m32104ut_irq(unsigned int irq)
+static void unmask_m32104ut_irq(struct irq_data *data)
{
- enable_m32104ut_irq(irq);
+ enable_m32104ut_irq(data->irq);
}
-static unsigned int startup_m32104ut_irq(unsigned int irq)
+static void shutdown_m32104ut_irq(struct irq_data *data)
{
- enable_m32104ut_irq(irq);
- return (0);
-}
-
-static void shutdown_m32104ut_irq(unsigned int irq)
-{
- unsigned long port;
+ unsigned int irq = data->irq;
+ unsigned long port = irq2port(irq);
- port = irq2port(irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32104ut_irq_type =
{
- .name = "M32104UT-IRQ",
- .startup = startup_m32104ut_irq,
- .shutdown = shutdown_m32104ut_irq,
- .enable = enable_m32104ut_irq,
- .disable = disable_m32104ut_irq,
- .ack = mask_and_ack_m32104ut,
- .end = end_m32104ut_irq
+ .name = "M32104UT-IRQ",
+ .irq_shutdown = shutdown_m32104ut_irq,
+ .irq_unmask = unmask_m32104ut_irq,
+ .irq_mask = mask_m32104ut_irq,
};
void __init init_IRQ(void)
@@ -85,24 +76,29 @@ void __init init_IRQ(void)
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32104UT-LAN (SMC91C111)*/
- set_irq_chip(M32R_IRQ_INT0, &m32104ut_irq_type);
- icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11; /* "H" level sense */
+ set_irq_chip_and_handler(M32R_IRQ_INT0, &m32104ut_irq_type,
+ handle_level_irq);
+ /* "H" level sense */
+ cu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD11;
disable_m32104ut_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &m32104ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &m32104ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &m32104ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &m32104ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &m32104ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &m32104ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = M32R_ICUCR_IEN;
disable_m32104ut_irq(M32R_IRQ_SIO0_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 10/37] m32r: Convert m32104ut irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (8 preceding siblings ...)
2011-01-19 21:48 ` [patch 09/37] m32r: Convert m32104ut irq handling Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 11/37] m32r: Convert m32700ut pld " Thomas Gleixner
` (30 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-m32700ut-m32700ut_irq_type.patch --]
[-- Type: text/plain, Size: 4585 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/m32700ut/setup.c | 56 ++++++++++++++++-------------------
1 file changed, 27 insertions(+), 29 deletions(-)
Index: linux-2.6/arch/m32r/platforms/m32700ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32700ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32700ut/setup.c
@@ -45,39 +45,30 @@ static void enable_m32700ut_irq(unsigned
outl(data, port);
}
-static void mask_and_ack_m32700ut(unsigned int irq)
+static void mask_m32700ut(struct irq_data *data)
{
- disable_m32700ut_irq(irq);
+ disable_m32700ut_irq(data->irq);
}
-static void end_m32700ut_irq(unsigned int irq)
+static void unmask_m32700ut(struct irq_data *data)
{
- enable_m32700ut_irq(irq);
+ enable_m32700ut_irq(data->irq);
}
-static unsigned int startup_m32700ut_irq(unsigned int irq)
-{
- enable_m32700ut_irq(irq);
- return (0);
-}
-
-static void shutdown_m32700ut_irq(unsigned int irq)
+static void shutdown_m32700ut(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32700ut_irq_type =
{
- .name = "M32700UT-IRQ",
- .startup = startup_m32700ut_irq,
- .shutdown = shutdown_m32700ut_irq,
- .enable = enable_m32700ut_irq,
- .disable = disable_m32700ut_irq,
- .ack = mask_and_ack_m32700ut,
- .end = end_m32700ut_irq
+ .name = "M32700UT-IRQ",
+ .irq_shutdown = shutdown_m32700ut,
+ .irq_mask = mask_m32700ut,
+ .irq_unmask = unmask_m32700ut
};
/*
@@ -126,7 +117,7 @@ static void mask_and_ack_m32700ut_pld(un
static void end_m32700ut_pld_irq(unsigned int irq)
{
enable_m32700ut_pld_irq(irq);
- end_m32700ut_irq(M32R_IRQ_INT1);
+ enable_m32700ut_irq(M32R_IRQ_INT1);
}
static unsigned int startup_m32700ut_pld_irq(unsigned int irq)
@@ -196,7 +187,7 @@ static void mask_and_ack_m32700ut_lanpld
static void end_m32700ut_lanpld_irq(unsigned int irq)
{
enable_m32700ut_lanpld_irq(irq);
- end_m32700ut_irq(M32R_IRQ_INT0);
+ enable_m32700ut_irq(M32R_IRQ_INT0);
}
static unsigned int startup_m32700ut_lanpld_irq(unsigned int irq)
@@ -265,7 +256,7 @@ static void mask_and_ack_m32700ut_lcdpld
static void end_m32700ut_lcdpld_irq(unsigned int irq)
{
enable_m32700ut_lcdpld_irq(irq);
- end_m32700ut_irq(M32R_IRQ_INT2);
+ enable_m32700ut_irq(M32R_IRQ_INT2);
}
static unsigned int startup_m32700ut_lcdpld_irq(unsigned int irq)
@@ -305,32 +296,38 @@ void __init init_IRQ(void)
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_m32700ut_irq(M32R_IRQ_MFT2);
/* SIO0 : receive */
- set_irq_chip(M32R_IRQ_SIO0_R, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO0_R);
/* SIO0 : send */
- set_irq_chip(M32R_IRQ_SIO0_S, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO0_S);
/* SIO1 : receive */
- set_irq_chip(M32R_IRQ_SIO1_R, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO1_R);
/* SIO1 : send */
- set_irq_chip(M32R_IRQ_SIO1_S, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_SIO1_S);
/* DMA1 : */
- set_irq_chip(M32R_IRQ_DMA1, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_DMA1, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_DMA1].icucr = 0;
disable_m32700ut_irq(M32R_IRQ_DMA1);
@@ -393,7 +390,8 @@ void __init init_IRQ(void)
/*
* INT3# is used for AR
*/
- set_irq_chip(M32R_IRQ_INT3, &m32700ut_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT3, &m32700ut_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_m32700ut_irq(M32R_IRQ_INT3);
#endif /* CONFIG_VIDEO_M32R_AR */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 11/37] m32r: Convert m32700ut pld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (9 preceding siblings ...)
2011-01-19 21:48 ` [patch 10/37] m32r: Convert m32104ut irq chip Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 12/37] m32r: Convert m32700ut lanpld " Thomas Gleixner
` (29 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-m32700ut-pld_irq_type.patch --]
[-- Type: text/plain, Size: 4308 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/m32700ut/setup.c | 48 ++++++++++++++---------------------
1 file changed, 20 insertions(+), 28 deletions(-)
Index: linux-2.6/arch/m32r/platforms/m32700ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32700ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32700ut/setup.c
@@ -90,7 +90,6 @@ static void disable_m32700ut_pld_irq(uns
unsigned int pldirq;
pldirq = irq2pldirq(irq);
-// disable_m32700ut_irq(M32R_IRQ_INT1);
port = pldirq2port(pldirq);
data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7;
outw(data, port);
@@ -102,50 +101,38 @@ static void enable_m32700ut_pld_irq(unsi
unsigned int pldirq;
pldirq = irq2pldirq(irq);
-// enable_m32700ut_irq(M32R_IRQ_INT1);
port = pldirq2port(pldirq);
data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6;
outw(data, port);
}
-static void mask_and_ack_m32700ut_pld(unsigned int irq)
+static void mask_m32700ut_pld(struct irq_data *data)
{
- disable_m32700ut_pld_irq(irq);
-// mask_and_ack_m32700ut(M32R_IRQ_INT1);
+ disable_m32700ut_pld_irq(data->irq);
}
-static void end_m32700ut_pld_irq(unsigned int irq)
+static void unmask_m32700ut_pld(struct irq_data *data)
{
- enable_m32700ut_pld_irq(irq);
+ enable_m32700ut_pld_irq(data->irq);
enable_m32700ut_irq(M32R_IRQ_INT1);
}
-static unsigned int startup_m32700ut_pld_irq(unsigned int irq)
-{
- enable_m32700ut_pld_irq(irq);
- return (0);
-}
-
-static void shutdown_m32700ut_pld_irq(unsigned int irq)
+static void shutdown_m32700ut_pld_irq(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2pldirq(irq);
-// shutdown_m32700ut_irq(M32R_IRQ_INT1);
+ pldirq = irq2pldirq(data->irq);
port = pldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32700ut_pld_irq_type =
{
- .name = "M32700UT-PLD-IRQ",
- .startup = startup_m32700ut_pld_irq,
- .shutdown = shutdown_m32700ut_pld_irq,
- .enable = enable_m32700ut_pld_irq,
- .disable = disable_m32700ut_pld_irq,
- .ack = mask_and_ack_m32700ut_pld,
- .end = end_m32700ut_pld_irq
+ .name = "M32700UT-PLD-IRQ",
+ .irq_shutdown = shutdown_m32700ut_pld_irq,
+ .irq_mask = mask_m32700ut_pld,
+ .irq_unmask = unmask_m32700ut_pld,
};
/*
@@ -333,28 +320,33 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */
- set_irq_chip(PLD_IRQ_SIO0_RCV, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_SIO0_RCV, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_m32700ut_pld_irq(PLD_IRQ_SIO0_RCV);
/* INT#1: SIO0 Send on PLD */
- set_irq_chip(PLD_IRQ_SIO0_SND, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_SIO0_SND, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_m32700ut_pld_irq(PLD_IRQ_SIO0_SND);
#endif /* CONFIG_SERIAL_M32R_PLDSIO */
/* INT#1: CFC IREQ on PLD */
- set_irq_chip(PLD_IRQ_CFIREQ, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFIREQ);
/* INT#1: CFC Insert on PLD */
- set_irq_chip(PLD_IRQ_CFC_INSERT, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFC_INSERT);
/* INT#1: CFC Eject on PLD */
- set_irq_chip(PLD_IRQ_CFC_EJECT, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
disable_m32700ut_pld_irq(PLD_IRQ_CFC_EJECT);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 12/37] m32r: Convert m32700ut lanpld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (10 preceding siblings ...)
2011-01-19 21:48 ` [patch 11/37] m32r: Convert m32700ut pld " Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 13/37] m32r: Convert m32700ut lcdpld " Thomas Gleixner
` (28 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-m32700ut-lanpld_irq_type.patch --]
[-- Type: text/plain, Size: 2559 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/m32700ut/setup.c | 32 ++++++++++++--------------------
1 file changed, 12 insertions(+), 20 deletions(-)
Index: linux-2.6/arch/m32r/platforms/m32700ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32700ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32700ut/setup.c
@@ -166,42 +166,33 @@ static void enable_m32700ut_lanpld_irq(u
outw(data, port);
}
-static void mask_and_ack_m32700ut_lanpld(unsigned int irq)
+static void mask_m32700ut_lanpld(struct irq_data *data)
{
- disable_m32700ut_lanpld_irq(irq);
+ disable_m32700ut_lanpld_irq(data->irq);
}
-static void end_m32700ut_lanpld_irq(unsigned int irq)
+static void unmask_m32700ut_lanpld(struct irq_data *data)
{
- enable_m32700ut_lanpld_irq(irq);
+ enable_m32700ut_lanpld_irq(data->irq);
enable_m32700ut_irq(M32R_IRQ_INT0);
}
-static unsigned int startup_m32700ut_lanpld_irq(unsigned int irq)
-{
- enable_m32700ut_lanpld_irq(irq);
- return (0);
-}
-
-static void shutdown_m32700ut_lanpld_irq(unsigned int irq)
+static void shutdown_m32700ut_lanpld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2lanpldirq(irq);
+ pldirq = irq2lanpldirq(data->irq);
port = lanpldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32700ut_lanpld_irq_type =
{
- .name = "M32700UT-PLD-LAN-IRQ",
- .startup = startup_m32700ut_lanpld_irq,
- .shutdown = shutdown_m32700ut_lanpld_irq,
- .enable = enable_m32700ut_lanpld_irq,
- .disable = disable_m32700ut_lanpld_irq,
- .ack = mask_and_ack_m32700ut_lanpld,
- .end = end_m32700ut_lanpld_irq
+ .name = "M32700UT-PLD-LAN-IRQ",
+ .irq_shutdown = shutdown_m32700ut_lanpld,
+ .irq_mask = mask_m32700ut_lanpld,
+ .irq_unmask = unmask_m32700ut_lanpld,
};
/*
@@ -277,7 +268,8 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on M32700UT-LAN (SMC91C111)*/
- set_irq_chip(M32700UT_LAN_IRQ_LAN, &m32700ut_lanpld_irq_type);
+ set_irq_chip_and_handler(M32700UT_LAN_IRQ_LAN,
+ &m32700ut_lanpld_irq_type, handle_level_irq);
lanpld_icu_data[irq2lanpldirq(M32700UT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
disable_m32700ut_lanpld_irq(M32700UT_LAN_IRQ_LAN);
#endif /* CONFIG_SMC91X */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 13/37] m32r: Convert m32700ut lcdpld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (11 preceding siblings ...)
2011-01-19 21:48 ` [patch 12/37] m32r: Convert m32700ut lanpld " Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 14/37] m32r: Convert mappi irq chips Thomas Gleixner
` (27 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-m32700ut-lcdpld_irq_type.patch --]
[-- Type: text/plain, Size: 2564 bytes --]
Convert the irq chip to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/m32700ut/setup.c | 32 ++++++++++++--------------------
1 file changed, 12 insertions(+), 20 deletions(-)
Index: linux-2.6/arch/m32r/platforms/m32700ut/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/m32700ut/setup.c
+++ linux-2.6/arch/m32r/platforms/m32700ut/setup.c
@@ -226,42 +226,33 @@ static void enable_m32700ut_lcdpld_irq(u
outw(data, port);
}
-static void mask_and_ack_m32700ut_lcdpld(unsigned int irq)
+static void mask_m32700ut_lcdpld(struct irq_data *data)
{
- disable_m32700ut_lcdpld_irq(irq);
+ disable_m32700ut_lcdpld_irq(data->irq);
}
-static void end_m32700ut_lcdpld_irq(unsigned int irq)
+static void unmask_m32700ut_lcdpld(struct irq_data *data)
{
- enable_m32700ut_lcdpld_irq(irq);
+ enable_m32700ut_lcdpld_irq(data->irq);
enable_m32700ut_irq(M32R_IRQ_INT2);
}
-static unsigned int startup_m32700ut_lcdpld_irq(unsigned int irq)
-{
- enable_m32700ut_lcdpld_irq(irq);
- return (0);
-}
-
-static void shutdown_m32700ut_lcdpld_irq(unsigned int irq)
+static void shutdown_m32700ut_lcdpld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2lcdpldirq(irq);
+ pldirq = irq2lcdpldirq(data->irq);
port = lcdpldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32700ut_lcdpld_irq_type =
{
- .name = "M32700UT-PLD-LCD-IRQ",
- .startup = startup_m32700ut_lcdpld_irq,
- .shutdown = shutdown_m32700ut_lcdpld_irq,
- .enable = enable_m32700ut_lcdpld_irq,
- .disable = disable_m32700ut_lcdpld_irq,
- .ack = mask_and_ack_m32700ut_lcdpld,
- .end = end_m32700ut_lcdpld_irq
+ .name = "M32700UT-PLD-LCD-IRQ",
+ .irq_shutdown = shutdown_m32700ut_lcdpld,
+ .irq_mask = mask_m32700ut_lcdpld,
+ .irq_unmask = unmask_m32700ut_lcdpld,
};
void __init init_IRQ(void)
@@ -358,7 +349,8 @@ void __init init_IRQ(void)
#if defined(CONFIG_USB)
outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
- set_irq_chip(M32700UT_LCD_IRQ_USB_INT1, &m32700ut_lcdpld_irq_type);
+ set_irq_chip_and_handler(M32700UT_LCD_IRQ_USB_INT1,
+ &m32700ut_lcdpld_irq_type, handle_level_irq);
lcdpld_icu_data[irq2lcdpldirq(M32700UT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
disable_m32700ut_lcdpld_irq(M32700UT_LCD_IRQ_USB_INT1);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 14/37] m32r: Convert mappi irq chips
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (12 preceding siblings ...)
2011-01-19 21:48 ` [patch 13/37] m32r: Convert m32700ut lcdpld " Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:48 ` [patch 15/37] m32r: Convert mappi2 irq chip Thomas Gleixner
` (26 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-mappi.patch --]
[-- Type: text/plain, Size: 4027 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/mappi/setup.c | 53 ++++++++++++++++++--------------------
1 file changed, 26 insertions(+), 27 deletions(-)
Index: linux-2.6/arch/m32r/platforms/mappi/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi/setup.c
@@ -38,39 +38,30 @@ static void enable_mappi_irq(unsigned in
outl(data, port);
}
-static void mask_and_ack_mappi(unsigned int irq)
+static void mask_mappi(struct irq_data *data)
{
- disable_mappi_irq(irq);
+ disable_mappi_irq(data->irq);
}
-static void end_mappi_irq(unsigned int irq)
+static void unmask_mappi(struct irq_data *data)
{
- enable_mappi_irq(irq);
+ enable_mappi_irq(data->irq);
}
-static unsigned int startup_mappi_irq(unsigned int irq)
-{
- enable_mappi_irq(irq);
- return (0);
-}
-
-static void shutdown_mappi_irq(unsigned int irq)
+static void shutdown_mappi(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip mappi_irq_type =
{
- .name = "MAPPI-IRQ",
- .startup = startup_mappi_irq,
- .shutdown = shutdown_mappi_irq,
- .enable = enable_mappi_irq,
- .disable = disable_mappi_irq,
- .ack = mask_and_ack_mappi,
- .end = end_mappi_irq
+ .name = "MAPPI-IRQ",
+ .irq_shutdown = shutdown_mappi,
+ .irq_mask = mask_mappi,
+ .irq_unmask = unmask_mappi,
};
void __init init_IRQ(void)
@@ -84,46 +75,54 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000
/* INT0 : LAN controller (RTL8019AS) */
- set_irq_chip(M32R_IRQ_INT0, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD11;
disable_mappi_irq(M32R_IRQ_INT0);
#endif /* CONFIG_M32R_NE2000 */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO1_R, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO1_S, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
#if defined(CONFIG_M32R_PCC)
/* INT1 : pccard0 interrupt */
- set_irq_chip(M32R_IRQ_INT1, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
disable_mappi_irq(M32R_IRQ_INT1);
/* INT2 : pccard1 interrupt */
- set_irq_chip(M32R_IRQ_INT2, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT2, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT2].icucr = M32R_ICUCR_IEN | M32R_ICUCR_ISMOD00;
disable_mappi_irq(M32R_IRQ_INT2);
#endif /* CONFIG_M32RPCC */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 15/37] m32r: Convert mappi2 irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (13 preceding siblings ...)
2011-01-19 21:48 ` [patch 14/37] m32r: Convert mappi irq chips Thomas Gleixner
@ 2011-01-19 21:48 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 16/37] m32r: Convert mappi3 " Thomas Gleixner
` (25 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:48 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-mappi2.patch --]
[-- Type: text/plain, Size: 4658 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
---
arch/m32r/platforms/mappi2/setup.c | 59 ++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 29 deletions(-)
Index: linux-2.6/arch/m32r/platforms/mappi2/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi2/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi2/setup.c
@@ -46,96 +46,97 @@ static void enable_mappi2_irq(unsigned i
outl(data, port);
}
-static void mask_and_ack_mappi2(unsigned int irq)
+static void mask_mappi2(struct irq_data *data)
{
- disable_mappi2_irq(irq);
+ disable_mappi2_irq(data->irq);
}
-static void end_mappi2_irq(unsigned int irq)
+static void unmask_mappi2(struct irq_data *data)
{
- enable_mappi2_irq(irq);
+ enable_mappi2_irq(data->irq);
}
-static unsigned int startup_mappi2_irq(unsigned int irq)
-{
- enable_mappi2_irq(irq);
- return (0);
-}
-
-static void shutdown_mappi2_irq(unsigned int irq)
+static void shutdown_mappi2(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip mappi2_irq_type =
{
- .name = "MAPPI2-IRQ",
- .startup = startup_mappi2_irq,
- .shutdown = shutdown_mappi2_irq,
- .enable = enable_mappi2_irq,
- .disable = disable_mappi2_irq,
- .ack = mask_and_ack_mappi2,
- .end = end_mappi2_irq
+ .name = "MAPPI2-IRQ",
+ .irq_shutdown = shutdown_mappi2,
+ .irq_mask = mask_mappi2,
+ .irq_unmask = unmask_mappi2,
};
void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */
- set_irq_chip(M32R_IRQ_INT0, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi2_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi2_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO1_R, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO1_S, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi2_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_M32R_USE_DBG_CONSOLE */
#if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */
- set_irq_chip(M32R_IRQ_INT1, &mappi2_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi2_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
disable_mappi2_irq(M32R_IRQ_INT1);
#endif /* CONFIG_USB */
/* ICUCR40: CFC IREQ */
- set_irq_chip(PLD_IRQ_CFIREQ, &mappi2_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &mappi2_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
disable_mappi2_irq(PLD_IRQ_CFIREQ);
#if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert */
- set_irq_chip(PLD_IRQ_CFC_INSERT, &mappi2_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &mappi2_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
disable_mappi2_irq(PLD_IRQ_CFC_INSERT);
/* ICUCR42: CFC Eject */
- set_irq_chip(PLD_IRQ_CFC_EJECT, &mappi2_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &mappi2_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi2_irq(PLD_IRQ_CFC_EJECT);
#endif /* CONFIG_MAPPI2_CFC */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 16/37] m32r: Convert mappi3 irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (14 preceding siblings ...)
2011-01-19 21:48 ` [patch 15/37] m32r: Convert mappi2 irq chip Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 17/37] m32r: Convert oaks32r irq chips Thomas Gleixner
` (24 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-mappi3.patch --]
[-- Type: text/plain, Size: 4681 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/mappi3/setup.c | 62 ++++++++++++++++++-------------------
1 file changed, 31 insertions(+), 31 deletions(-)
Index: linux-2.6/arch/m32r/platforms/mappi3/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/mappi3/setup.c
+++ linux-2.6/arch/m32r/platforms/mappi3/setup.c
@@ -46,98 +46,98 @@ static void enable_mappi3_irq(unsigned i
outl(data, port);
}
-static void mask_and_ack_mappi3(unsigned int irq)
+static void mask_mappi3(struct irq_data *data)
{
- disable_mappi3_irq(irq);
+ disable_mappi3_irq(data->irq);
}
-static void end_mappi3_irq(unsigned int irq)
+static void unmask_mappi3(struct irq_data *data)
{
- enable_mappi3_irq(irq);
+ enable_mappi3_irq(data->irq);
}
-static unsigned int startup_mappi3_irq(unsigned int irq)
-{
- enable_mappi3_irq(irq);
- return (0);
-}
-
-static void shutdown_mappi3_irq(unsigned int irq)
+static void shutdown_mappi3(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
-static struct irq_chip mappi3_irq_type =
-{
- .name = "MAPPI3-IRQ",
- .startup = startup_mappi3_irq,
- .shutdown = shutdown_mappi3_irq,
- .enable = enable_mappi3_irq,
- .disable = disable_mappi3_irq,
- .ack = mask_and_ack_mappi3,
- .end = end_mappi3_irq
+static struct irq_chip mappi3_irq_type = {
+ .name = "MAPPI3-IRQ",
+ .irq_shutdown = shutdown_mappi3,
+ .irq_mask = mask_mappi3,
+ .irq_unmask = unmask_mappi3,
};
void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT0 : LAN controller (SMC91111) */
- set_irq_chip(M32R_IRQ_INT0, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT0, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT0].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi3_irq(M32R_IRQ_INT0);
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi3_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO1_R, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO1_S, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi3_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_M32R_USE_DBG_CONSOLE */
#if defined(CONFIG_USB)
/* INT1 : USB Host controller interrupt */
- set_irq_chip(M32R_IRQ_INT1, &mappi3_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT1, &mappi3_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT1].icucr = M32R_ICUCR_ISMOD01;
disable_mappi3_irq(M32R_IRQ_INT1);
#endif /* CONFIG_USB */
/* CFC IREQ */
- set_irq_chip(PLD_IRQ_CFIREQ, &mappi3_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &mappi3_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_CFIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD01;
disable_mappi3_irq(PLD_IRQ_CFIREQ);
#if defined(CONFIG_M32R_CFC)
/* ICUCR41: CFC Insert & eject */
- set_irq_chip(PLD_IRQ_CFC_INSERT, &mappi3_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &mappi3_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
disable_mappi3_irq(PLD_IRQ_CFC_INSERT);
#endif /* CONFIG_M32R_CFC */
/* IDE IREQ */
- set_irq_chip(PLD_IRQ_IDEIREQ, &mappi3_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_IDEIREQ, &mappi3_irq_type,
+ handle_level_irq);
icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_mappi3_irq(PLD_IRQ_IDEIREQ);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 17/37] m32r: Convert oaks32r irq chips
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (15 preceding siblings ...)
2011-01-19 21:49 ` [patch 16/37] m32r: Convert mappi3 " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 18/37] m32r: Convert opsput irq chip Thomas Gleixner
` (23 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-oaks32r.patch --]
[-- Type: text/plain, Size: 3505 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/oaks32r/setup.c | 47 ++++++++++++++++--------------------
1 file changed, 22 insertions(+), 25 deletions(-)
Index: linux-2.6/arch/m32r/platforms/oaks32r/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/oaks32r/setup.c
+++ linux-2.6/arch/m32r/platforms/oaks32r/setup.c
@@ -37,39 +37,30 @@ static void enable_oaks32r_irq(unsigned
outl(data, port);
}
-static void mask_and_ack_mappi(unsigned int irq)
+static void mask_oaks32r(struct irq_data *data)
{
- disable_oaks32r_irq(irq);
+ disable_oaks32r_irq(data->irq);
}
-static void end_oaks32r_irq(unsigned int irq)
+static void unmask_oaks32r(struct irq_data *data)
{
- enable_oaks32r_irq(irq);
+ enable_oaks32r_irq(data->irq);
}
-static unsigned int startup_oaks32r_irq(unsigned int irq)
-{
- enable_oaks32r_irq(irq);
- return (0);
-}
-
-static void shutdown_oaks32r_irq(unsigned int irq)
+static void shutdown_oaks32r(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip oaks32r_irq_type =
{
- .name = "OAKS32R-IRQ",
- .startup = startup_oaks32r_irq,
- .shutdown = shutdown_oaks32r_irq,
- .enable = enable_oaks32r_irq,
- .disable = disable_oaks32r_irq,
- .ack = mask_and_ack_mappi,
- .end = end_oaks32r_irq
+ .name = "OAKS32R-IRQ",
+ .irq_shutdown = shutdown_oaks32r,
+ .irq_mask = mask_oaks32r,
+ .irq_unmask = unmask_oaks32r,
};
void __init init_IRQ(void)
@@ -83,34 +74,40 @@ void __init init_IRQ(void)
#ifdef CONFIG_NE2000
/* INT3 : LAN controller (RTL8019AS) */
- set_irq_chip(M32R_IRQ_INT3, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT3, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_oaks32r_irq(M32R_IRQ_INT3);
#endif /* CONFIG_M32R_NE2000 */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_oaks32r_irq(M32R_IRQ_MFT2);
#ifdef CONFIG_SERIAL_M32R_SIO
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO1_R, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO1_S, &oaks32r_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &oaks32r_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_oaks32r_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 18/37] m32r: Convert opsput irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (16 preceding siblings ...)
2011-01-19 21:49 ` [patch 17/37] m32r: Convert oaks32r irq chips Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 19/37] m32r: Convert opsput pld " Thomas Gleixner
` (22 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-opsput-opsput_irq_type.patch --]
[-- Type: text/plain, Size: 4987 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/opsput/setup.c | 58 +++++++++++++++++--------------------
1 file changed, 27 insertions(+), 31 deletions(-)
Index: linux-2.6/arch/m32r/platforms/opsput/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/opsput/setup.c
+++ linux-2.6/arch/m32r/platforms/opsput/setup.c
@@ -46,39 +46,30 @@ static void enable_opsput_irq(unsigned i
outl(data, port);
}
-static void mask_and_ack_opsput(unsigned int irq)
+static void mask_opsput(struct irq_data *data)
{
- disable_opsput_irq(irq);
+ disable_opsput_irq(data->irq);
}
-static void end_opsput_irq(unsigned int irq)
+static void unmask_opsput(struct irq_data *data)
{
- enable_opsput_irq(irq);
+ enable_opsput_irq(data->irq);
}
-static unsigned int startup_opsput_irq(unsigned int irq)
-{
- enable_opsput_irq(irq);
- return (0);
-}
-
-static void shutdown_opsput_irq(unsigned int irq)
+static void shutdown_opsput(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip opsput_irq_type =
{
- .name = "OPSPUT-IRQ",
- .startup = startup_opsput_irq,
- .shutdown = shutdown_opsput_irq,
- .enable = enable_opsput_irq,
- .disable = disable_opsput_irq,
- .ack = mask_and_ack_opsput,
- .end = end_opsput_irq
+ .name = "OPSPUT-IRQ",
+ .irq_shutdown = shutdown_opsput,
+ .irq_mask = mask_opsput,
+ .irq_unmask = unmask_opsput,
};
/*
@@ -100,7 +91,6 @@ static void disable_opsput_pld_irq(unsig
unsigned int pldirq;
pldirq = irq2pldirq(irq);
-// disable_opsput_irq(M32R_IRQ_INT1);
port = pldirq2port(pldirq);
data = pld_icu_data[pldirq].icucr|PLD_ICUCR_ILEVEL7;
outw(data, port);
@@ -112,7 +102,6 @@ static void enable_opsput_pld_irq(unsign
unsigned int pldirq;
pldirq = irq2pldirq(irq);
-// enable_opsput_irq(M32R_IRQ_INT1);
port = pldirq2port(pldirq);
data = pld_icu_data[pldirq].icucr|PLD_ICUCR_IEN|PLD_ICUCR_ILEVEL6;
outw(data, port);
@@ -127,7 +116,7 @@ static void mask_and_ack_opsput_pld(unsi
static void end_opsput_pld_irq(unsigned int irq)
{
enable_opsput_pld_irq(irq);
- end_opsput_irq(M32R_IRQ_INT1);
+ enable_opsput_irq(M32R_IRQ_INT1);
}
static unsigned int startup_opsput_pld_irq(unsigned int irq)
@@ -197,7 +186,7 @@ static void mask_and_ack_opsput_lanpld(u
static void end_opsput_lanpld_irq(unsigned int irq)
{
enable_opsput_lanpld_irq(irq);
- end_opsput_irq(M32R_IRQ_INT0);
+ enable_opsput_irq(M32R_IRQ_INT0);
}
static unsigned int startup_opsput_lanpld_irq(unsigned int irq)
@@ -266,7 +255,7 @@ static void mask_and_ack_opsput_lcdpld(u
static void end_opsput_lcdpld_irq(unsigned int irq)
{
enable_opsput_lcdpld_irq(irq);
- end_opsput_irq(M32R_IRQ_INT2);
+ enable_opsput_irq(M32R_IRQ_INT2);
}
static unsigned int startup_opsput_lcdpld_irq(unsigned int irq)
@@ -306,32 +295,38 @@ void __init init_IRQ(void)
#endif /* CONFIG_SMC91X */
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_opsput_irq(M32R_IRQ_MFT2);
/* SIO0 : receive */
- set_irq_chip(M32R_IRQ_SIO0_R, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO0_R);
/* SIO0 : send */
- set_irq_chip(M32R_IRQ_SIO0_S, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO0_S);
/* SIO1 : receive */
- set_irq_chip(M32R_IRQ_SIO1_R, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO1_R);
/* SIO1 : send */
- set_irq_chip(M32R_IRQ_SIO1_S, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_opsput_irq(M32R_IRQ_SIO1_S);
/* DMA1 : */
- set_irq_chip(M32R_IRQ_DMA1, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_DMA1, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_DMA1].icucr = 0;
disable_opsput_irq(M32R_IRQ_DMA1);
@@ -394,7 +389,8 @@ void __init init_IRQ(void)
/*
* INT3# is used for AR
*/
- set_irq_chip(M32R_IRQ_INT3, &opsput_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_INT3, &opsput_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_INT3].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
disable_opsput_irq(M32R_IRQ_INT3);
#endif /* CONFIG_VIDEO_M32R_AR */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 19/37] m32r: Convert opsput pld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (17 preceding siblings ...)
2011-01-19 21:49 ` [patch 18/37] m32r: Convert opsput irq chip Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 20/37] m32r: Convert opsput lanpld " Thomas Gleixner
` (21 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-opsput-pld-type.patch --]
[-- Type: text/plain, Size: 3760 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/opsput/setup.c | 46 ++++++++++++++++---------------------
1 file changed, 20 insertions(+), 26 deletions(-)
Index: linux-2.6/arch/m32r/platforms/opsput/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/opsput/setup.c
+++ linux-2.6/arch/m32r/platforms/opsput/setup.c
@@ -107,44 +107,33 @@ static void enable_opsput_pld_irq(unsign
outw(data, port);
}
-static void mask_and_ack_opsput_pld(unsigned int irq)
+static void mask_opsput_pld(struct irq_data *data)
{
- disable_opsput_pld_irq(irq);
-// mask_and_ack_opsput(M32R_IRQ_INT1);
+ disable_opsput_pld_irq(data->irq);
}
-static void end_opsput_pld_irq(unsigned int irq)
+static void unmask_opsput_pld(struct irq_data *data)
{
- enable_opsput_pld_irq(irq);
+ enable_opsput_pld_irq(data->irq);
enable_opsput_irq(M32R_IRQ_INT1);
}
-static unsigned int startup_opsput_pld_irq(unsigned int irq)
-{
- enable_opsput_pld_irq(irq);
- return (0);
-}
-
-static void shutdown_opsput_pld_irq(unsigned int irq)
+static void shutdown_opsput_pld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2pldirq(irq);
-// shutdown_opsput_irq(M32R_IRQ_INT1);
+ pldirq = irq2pldirq(data->irq);
port = pldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip opsput_pld_irq_type =
{
- .name = "OPSPUT-PLD-IRQ",
- .startup = startup_opsput_pld_irq,
- .shutdown = shutdown_opsput_pld_irq,
- .enable = enable_opsput_pld_irq,
- .disable = disable_opsput_pld_irq,
- .ack = mask_and_ack_opsput_pld,
- .end = end_opsput_pld_irq
+ .name = "OPSPUT-PLD-IRQ",
+ .irq_shutdown = shutdown_opsput_pld,
+ .irq_mask = mask_opsput_pld,
+ .irq_unmask = unmask_opsput_pld,
};
/*
@@ -332,28 +321,33 @@ void __init init_IRQ(void)
#ifdef CONFIG_SERIAL_M32R_PLDSIO
/* INT#1: SIO0 Receive on PLD */
- set_irq_chip(PLD_IRQ_SIO0_RCV, &opsput_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_SIO0_RCV, &opsput_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_RCV)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_opsput_pld_irq(PLD_IRQ_SIO0_RCV);
/* INT#1: SIO0 Send on PLD */
- set_irq_chip(PLD_IRQ_SIO0_SND, &opsput_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_SIO0_SND, &opsput_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_SIO0_SND)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD03;
disable_opsput_pld_irq(PLD_IRQ_SIO0_SND);
#endif /* CONFIG_SERIAL_M32R_PLDSIO */
/* INT#1: CFC IREQ on PLD */
- set_irq_chip(PLD_IRQ_CFIREQ, &opsput_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFIREQ, &opsput_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFIREQ)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_opsput_pld_irq(PLD_IRQ_CFIREQ);
/* INT#1: CFC Insert on PLD */
- set_irq_chip(PLD_IRQ_CFC_INSERT, &opsput_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_INSERT, &opsput_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_INSERT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD00; /* 'L' edge sense */
disable_opsput_pld_irq(PLD_IRQ_CFC_INSERT);
/* INT#1: CFC Eject on PLD */
- set_irq_chip(PLD_IRQ_CFC_EJECT, &opsput_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CFC_EJECT, &opsput_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */
disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 20/37] m32r: Convert opsput lanpld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (18 preceding siblings ...)
2011-01-19 21:49 ` [patch 19/37] m32r: Convert opsput pld " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 21/37] m32r: Convert opsput_lcdpld " Thomas Gleixner
` (20 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-opsput-lanpld-type.patch --]
[-- Type: text/plain, Size: 2485 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/opsput/setup.c | 32 ++++++++++++--------------------
1 file changed, 12 insertions(+), 20 deletions(-)
Index: linux-2.6/arch/m32r/platforms/opsput/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/opsput/setup.c
+++ linux-2.6/arch/m32r/platforms/opsput/setup.c
@@ -167,42 +167,33 @@ static void enable_opsput_lanpld_irq(uns
outw(data, port);
}
-static void mask_and_ack_opsput_lanpld(unsigned int irq)
+static void mask_opsput_lanpld(struct irq_data *data)
{
- disable_opsput_lanpld_irq(irq);
+ disable_opsput_lanpld_irq(data->irq);
}
-static void end_opsput_lanpld_irq(unsigned int irq)
+static void unmask_opsput_lanpld(struct irq_data *data)
{
- enable_opsput_lanpld_irq(irq);
+ enable_opsput_lanpld_irq(data->irq);
enable_opsput_irq(M32R_IRQ_INT0);
}
-static unsigned int startup_opsput_lanpld_irq(unsigned int irq)
-{
- enable_opsput_lanpld_irq(irq);
- return (0);
-}
-
-static void shutdown_opsput_lanpld_irq(unsigned int irq)
+static void shutdown_opsput_lanpld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2lanpldirq(irq);
+ pldirq = irq2lanpldirq(data->irq);
port = lanpldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip opsput_lanpld_irq_type =
{
- .name = "OPSPUT-PLD-LAN-IRQ",
- .startup = startup_opsput_lanpld_irq,
- .shutdown = shutdown_opsput_lanpld_irq,
- .enable = enable_opsput_lanpld_irq,
- .disable = disable_opsput_lanpld_irq,
- .ack = mask_and_ack_opsput_lanpld,
- .end = end_opsput_lanpld_irq
+ .name = "OPSPUT-PLD-LAN-IRQ",
+ .irq_shutdown = shutdown_opsput_lanpld,
+ .irq_mask = mask_opsput_lanpld,
+ .irq_unmask = unmask_opsput_lanpld,
};
/*
@@ -278,7 +269,8 @@ void __init init_IRQ(void)
{
#if defined(CONFIG_SMC91X)
/* INT#0: LAN controller on OPSPUT-LAN (SMC91C111)*/
- set_irq_chip(OPSPUT_LAN_IRQ_LAN, &opsput_lanpld_irq_type);
+ set_irq_chip_and_handler(OPSPUT_LAN_IRQ_LAN, &opsput_lanpld_irq_type,
+ handle_level_irq);
lanpld_icu_data[irq2lanpldirq(OPSPUT_LAN_IRQ_LAN)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* "H" edge sense */
disable_opsput_lanpld_irq(OPSPUT_LAN_IRQ_LAN);
#endif /* CONFIG_SMC91X */
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 21/37] m32r: Convert opsput_lcdpld irq chip
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (19 preceding siblings ...)
2011-01-19 21:49 ` [patch 20/37] m32r: Convert opsput lanpld " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 22/37] m32r: Convert usrv platform irq handling Thomas Gleixner
` (19 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-opsput-lcdpld-type.patch --]
[-- Type: text/plain, Size: 2805 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/opsput/setup.c | 42 ++++++++++++++-----------------------
1 file changed, 16 insertions(+), 26 deletions(-)
Index: linux-2.6/arch/m32r/platforms/opsput/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/opsput/setup.c
+++ linux-2.6/arch/m32r/platforms/opsput/setup.c
@@ -227,42 +227,32 @@ static void enable_opsput_lcdpld_irq(uns
outw(data, port);
}
-static void mask_and_ack_opsput_lcdpld(unsigned int irq)
+static void mask_opsput_lcdpld(struct irq_data *data)
{
- disable_opsput_lcdpld_irq(irq);
+ disable_opsput_lcdpld_irq(data->irq);
}
-static void end_opsput_lcdpld_irq(unsigned int irq)
+static void unmask_opsput_lcdpld(struct irq_data *data)
{
- enable_opsput_lcdpld_irq(irq);
+ enable_opsput_lcdpld_irq(data->irq);
enable_opsput_irq(M32R_IRQ_INT2);
}
-static unsigned int startup_opsput_lcdpld_irq(unsigned int irq)
-{
- enable_opsput_lcdpld_irq(irq);
- return (0);
-}
-
-static void shutdown_opsput_lcdpld_irq(unsigned int irq)
+static void shutdown_opsput_lcdpld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2lcdpldirq(irq);
+ pldirq = irq2lcdpldirq(data->irq);
port = lcdpldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
-static struct irq_chip opsput_lcdpld_irq_type =
-{
- "OPSPUT-PLD-LCD-IRQ",
- startup_opsput_lcdpld_irq,
- shutdown_opsput_lcdpld_irq,
- enable_opsput_lcdpld_irq,
- disable_opsput_lcdpld_irq,
- mask_and_ack_opsput_lcdpld,
- end_opsput_lcdpld_irq
+static struct irq_chip opsput_lcdpld_irq_type = {
+ .name = "OPSPUT-PLD-LCD-IRQ",
+ .irq_shutdown = shutdown_opsput_lcdpld,
+ .irq_mask = mask_opsput_lcdpld,
+ .irq_unmask = unmask_opsput_lcdpld,
};
void __init init_IRQ(void)
@@ -358,11 +348,11 @@ void __init init_IRQ(void)
enable_opsput_irq(M32R_IRQ_INT1);
#if defined(CONFIG_USB)
- outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
-
- set_irq_chip(OPSPUT_LCD_IRQ_USB_INT1, &opsput_lcdpld_irq_type);
- lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
- disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1);
+ outw(USBCR_OTGS, USBCR); /* USBCR: non-OTG */
+ set_irq_chip_and_handler(OPSPUT_LCD_IRQ_USB_INT1,
+ &opsput_lcdpld_irq_type, handle_level_irq);
+ lcdpld_icu_data[irq2lcdpldirq(OPSPUT_LCD_IRQ_USB_INT1)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD01; /* "L" level sense */
+ disable_opsput_lcdpld_irq(OPSPUT_LCD_IRQ_USB_INT1);
#endif
/*
* INT2# is used for BAT, USB, AUDIO
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 22/37] m32r: Convert usrv platform irq handling
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (20 preceding siblings ...)
2011-01-19 21:49 ` [patch 21/37] m32r: Convert opsput_lcdpld " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 23/37] m32r: Convert to generic irq Kconfig Thomas Gleixner
` (18 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-usrv.patch --]
[-- Type: text/plain, Size: 6086 bytes --]
Convert the irq chips to the new functions and use proper flow
handlers. handle_level_irq is appropriate.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/platforms/usrv/setup.c | 88 +++++++++++++++++----------------------
1 file changed, 40 insertions(+), 48 deletions(-)
Index: linux-2.6/arch/m32r/platforms/usrv/setup.c
===================================================================
--- linux-2.6.orig/arch/m32r/platforms/usrv/setup.c
+++ linux-2.6/arch/m32r/platforms/usrv/setup.c
@@ -37,39 +37,30 @@ static void enable_mappi_irq(unsigned in
outl(data, port);
}
-static void mask_and_ack_mappi(unsigned int irq)
+static void mask_mappi(struct irq_data *data)
{
- disable_mappi_irq(irq);
+ disable_mappi_irq(data->irq);
}
-static void end_mappi_irq(unsigned int irq)
+static void unmask_mappi(struct irq_data *data)
{
- enable_mappi_irq(irq);
+ enable_mappi_irq(data->irq);
}
-static unsigned int startup_mappi_irq(unsigned int irq)
-{
- enable_mappi_irq(irq);
- return 0;
-}
-
-static void shutdown_mappi_irq(unsigned int irq)
+static void shutdown_mappi(struct irq_data *data)
{
unsigned long port;
- port = irq2port(irq);
+ port = irq2port(data->irq);
outl(M32R_ICUCR_ILEVEL7, port);
}
static struct irq_chip mappi_irq_type =
{
- .name = "M32700-IRQ",
- .startup = startup_mappi_irq,
- .shutdown = shutdown_mappi_irq,
- .enable = enable_mappi_irq,
- .disable = disable_mappi_irq,
- .ack = mask_and_ack_mappi,
- .end = end_mappi_irq
+ .name = "M32700-IRQ",
+ .irq_shutdown = shutdown_mappi,
+ .irq_mask = mask_mappi,
+ .irq_unmask = unmask_mappi,
};
/*
@@ -107,42 +98,33 @@ static void enable_m32700ut_pld_irq(unsi
outw(data, port);
}
-static void mask_and_ack_m32700ut_pld(unsigned int irq)
-{
- disable_m32700ut_pld_irq(irq);
-}
-
-static void end_m32700ut_pld_irq(unsigned int irq)
+static void mask_m32700ut_pld(struct irq_data *data)
{
- enable_m32700ut_pld_irq(irq);
- end_mappi_irq(M32R_IRQ_INT1);
+ disable_m32700ut_pld_irq(data->irq);
}
-static unsigned int startup_m32700ut_pld_irq(unsigned int irq)
+static void unmask_m32700ut_pld(struct irq_data *data)
{
- enable_m32700ut_pld_irq(irq);
- return 0;
+ enable_m32700ut_pld_irq(data->irq);
+ enable_mappi_irq(M32R_IRQ_INT1);
}
-static void shutdown_m32700ut_pld_irq(unsigned int irq)
+static void shutdown_m32700ut_pld(struct irq_data *data)
{
unsigned long port;
unsigned int pldirq;
- pldirq = irq2pldirq(irq);
+ pldirq = irq2pldirq(data->irq);
port = pldirq2port(pldirq);
outw(PLD_ICUCR_ILEVEL7, port);
}
static struct irq_chip m32700ut_pld_irq_type =
{
- .name = "USRV-PLD-IRQ",
- .startup = startup_m32700ut_pld_irq,
- .shutdown = shutdown_m32700ut_pld_irq,
- .enable = enable_m32700ut_pld_irq,
- .disable = disable_m32700ut_pld_irq,
- .ack = mask_and_ack_m32700ut_pld,
- .end = end_m32700ut_pld_irq
+ .name = "USRV-PLD-IRQ",
+ .irq_shutdown = shutdown_m32700ut_pld,
+ .irq_mask = mask_m32700ut_pld,
+ .irq_unmask = unmask_m32700ut_pld,
};
void __init init_IRQ(void)
@@ -156,35 +138,42 @@ void __init init_IRQ(void)
once++;
/* MFT2 : system timer */
- set_irq_chip(M32R_IRQ_MFT2, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_MFT2, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_MFT2].icucr = M32R_ICUCR_IEN;
disable_mappi_irq(M32R_IRQ_MFT2);
#if defined(CONFIG_SERIAL_M32R_SIO)
/* SIO0_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO0_R, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_R, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_R);
/* SIO0_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO0_S, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO0_S, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO0_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO0_S);
/* SIO1_R : uart receive data */
- set_irq_chip(M32R_IRQ_SIO1_R, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_R, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_R].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_R);
/* SIO1_S : uart send data */
- set_irq_chip(M32R_IRQ_SIO1_S, &mappi_irq_type);
+ set_irq_chip_and_handler(M32R_IRQ_SIO1_S, &mappi_irq_type,
+ handle_level_irq);
icu_data[M32R_IRQ_SIO1_S].icucr = 0;
disable_mappi_irq(M32R_IRQ_SIO1_S);
#endif /* CONFIG_SERIAL_M32R_SIO */
/* INT#67-#71: CFC#0 IREQ on PLD */
for (i = 0 ; i < CONFIG_M32R_CFC_NUM ; i++ ) {
- set_irq_chip(PLD_IRQ_CF0 + i, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_CF0 + i,
+ &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_CF0 + i)].icucr
= PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_CF0 + i);
@@ -192,13 +181,15 @@ void __init init_IRQ(void)
#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
/* INT#76: 16552D#0 IREQ on PLD */
- set_irq_chip(PLD_IRQ_UART0, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_UART0, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_UART0)].icucr
= PLD_ICUCR_ISMOD03; /* 'H' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_UART0);
/* INT#77: 16552D#1 IREQ on PLD */
- set_irq_chip(PLD_IRQ_UART1, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_UART1, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_UART1)].icucr
= PLD_ICUCR_ISMOD03; /* 'H' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_UART1);
@@ -206,7 +197,8 @@ void __init init_IRQ(void)
#if defined(CONFIG_IDC_AK4524) || defined(CONFIG_IDC_AK4524_MODULE)
/* INT#80: AK4524 IREQ on PLD */
- set_irq_chip(PLD_IRQ_SNDINT, &m32700ut_pld_irq_type);
+ set_irq_chip_and_handler(PLD_IRQ_SNDINT, &m32700ut_pld_irq_type,
+ handle_level_irq);
pld_icu_data[irq2pldirq(PLD_IRQ_SNDINT)].icucr
= PLD_ICUCR_ISMOD01; /* 'L' level sense */
disable_m32700ut_pld_irq(PLD_IRQ_SNDINT);
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 23/37] m32r: Convert to generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (21 preceding siblings ...)
2011-01-19 21:49 ` [patch 22/37] m32r: Convert usrv platform irq handling Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 24/37] genirq: Remove __do_IRQ Thomas Gleixner
` (17 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Hirokazu Takata, Paul Mundt
[-- Attachment #1: m32r-convert-to-generic-irq-Kconfig --]
[-- Type: text/plain, Size: 921 bytes --]
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as
we have converted all irq_chip functions.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
arch/m32r/Kconfig | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
Index: linux-2.6/arch/m32r/Kconfig
===================================================================
--- linux-2.6.orig/arch/m32r/Kconfig
+++ linux-2.6/arch/m32r/Kconfig
@@ -7,6 +7,9 @@ config M32R
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_BZIP2
select HAVE_KERNEL_LZMA
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_HARDIRQS_NO_DEPRECATED
+ select GENERIC_IRQ_PROBE
config SBUS
bool
@@ -19,14 +22,6 @@ config ZONE_DMA
bool
default y
-config GENERIC_HARDIRQS
- bool
- default y
-
-config GENERIC_IRQ_PROBE
- bool
- default y
-
config NO_IOPORT
def_bool y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 24/37] genirq: Remove __do_IRQ
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (22 preceding siblings ...)
2011-01-19 21:49 ` [patch 23/37] m32r: Convert to generic irq Kconfig Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 25/37] alpha: Use generic irq Kconfig Thomas Gleixner
` (16 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML
Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Richard Henderson,
Mike Frysinger, David Howells, Tony Luck, Greg Ungerer,
Michal Simek, Kyle McMartin, Benjamin Herrenschmidt, Chen Liqin,
David S. Miller, Chris Metcalf, Jeff Dike
[-- Attachment #1: genirq-remove__do_IRQ.patch --]
[-- Type: text/plain, Size: 12524 bytes --]
All architectures are finally converted. Remove the cruft.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: David Howells <dhowells@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Jeff Dike <jdike@addtoit.com>
---
Documentation/feature-removal-schedule.txt | 8 --
arch/alpha/Kconfig | 3
arch/blackfin/Kconfig | 3
arch/frv/Kconfig | 4 -
arch/ia64/Kconfig | 3
arch/m68knommu/Kconfig | 4 -
arch/microblaze/Kconfig | 3
arch/mips/Kconfig | 3
arch/mn10300/Kconfig | 3
arch/parisc/Kconfig | 4 -
arch/powerpc/Kconfig | 4 -
arch/score/Kconfig | 3
arch/sparc/Kconfig | 4 -
arch/tile/Kconfig | 3
arch/um/Kconfig.um | 3
include/linux/irqdesc.h | 14 ---
kernel/irq/Kconfig | 3
kernel/irq/handle.c | 111 -----------------------------
18 files changed, 183 deletions(-)
Index: linux-2.6/Documentation/feature-removal-schedule.txt
===================================================================
--- linux-2.6.orig/Documentation/feature-removal-schedule.txt
+++ linux-2.6/Documentation/feature-removal-schedule.txt
@@ -357,14 +357,6 @@ Who: Dave Jones <davej@redhat.com>, Matt
-----------------------------
-What: __do_IRQ all in one fits nothing interrupt handler
-When: 2.6.32
-Why: __do_IRQ was kept for easy migration to the type flow handlers.
- More than two years of migration time is enough.
-Who: Thomas Gleixner <tglx@linutronix.de>
-
------------------------------
-
What: fakephp and associated sysfs files in /sys/bus/pci/slots/
When: 2011
Why: In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
Index: linux-2.6/arch/alpha/Kconfig
===================================================================
--- linux-2.6.orig/arch/alpha/Kconfig
+++ linux-2.6/arch/alpha/Kconfig
@@ -68,9 +68,6 @@ config GENERIC_IOMAP
bool
default n
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_HARDIRQS
bool
default y
Index: linux-2.6/arch/blackfin/Kconfig
===================================================================
--- linux-2.6.orig/arch/blackfin/Kconfig
+++ linux-2.6/arch/blackfin/Kconfig
@@ -50,9 +50,6 @@ config GENERIC_HARDIRQS
config GENERIC_IRQ_PROBE
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_GPIO
def_bool y
Index: linux-2.6/arch/frv/Kconfig
===================================================================
--- linux-2.6.orig/arch/frv/Kconfig
+++ linux-2.6/arch/frv/Kconfig
@@ -33,10 +33,6 @@ config GENERIC_HARDIRQS
bool
default y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- bool
- default y
-
config TIME_LOW_RES
bool
default y
Index: linux-2.6/arch/ia64/Kconfig
===================================================================
--- linux-2.6.orig/arch/ia64/Kconfig
+++ linux-2.6/arch/ia64/Kconfig
@@ -684,9 +684,6 @@ source "lib/Kconfig"
config GENERIC_HARDIRQS
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_IRQ_PROBE
bool
default y
Index: linux-2.6/arch/m68knommu/Kconfig
===================================================================
--- linux-2.6.orig/arch/m68knommu/Kconfig
+++ linux-2.6/arch/m68knommu/Kconfig
@@ -52,10 +52,6 @@ config GENERIC_HARDIRQS
bool
default y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- bool
- default y
-
config GENERIC_CALIBRATE_DELAY
bool
default y
Index: linux-2.6/arch/microblaze/Kconfig
===================================================================
--- linux-2.6.orig/arch/microblaze/Kconfig
+++ linux-2.6/arch/microblaze/Kconfig
@@ -52,9 +52,6 @@ config GENERIC_TIME_VSYSCALL
config GENERIC_CLOCKEVENTS
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_GPIO
def_bool y
Index: linux-2.6/arch/mips/Kconfig
===================================================================
--- linux-2.6.orig/arch/mips/Kconfig
+++ linux-2.6/arch/mips/Kconfig
@@ -793,9 +793,6 @@ config SCHED_OMIT_FRAME_POINTER
bool
default y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
#
# Select some configuration options automatically based on user selections.
#
Index: linux-2.6/arch/mn10300/Kconfig
===================================================================
--- linux-2.6.orig/arch/mn10300/Kconfig
+++ linux-2.6/arch/mn10300/Kconfig
@@ -34,9 +34,6 @@ config RWSEM_GENERIC_SPINLOCK
config RWSEM_XCHGADD_ALGORITHM
bool
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_CALIBRATE_DELAY
def_bool y
Index: linux-2.6/arch/parisc/Kconfig
===================================================================
--- linux-2.6.orig/arch/parisc/Kconfig
+++ linux-2.6/arch/parisc/Kconfig
@@ -12,7 +12,6 @@ config PARISC
select HAVE_IRQ_WORK
select HAVE_PERF_EVENTS
select GENERIC_ATOMIC64 if !64BIT
- select GENERIC_HARDIRQS_NO__DO_IRQ
help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
in many of their workstations & servers (HP9000 700 and 800 series,
@@ -79,9 +78,6 @@ config IRQ_PER_CPU
bool
default y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
# unless you want to implement ACPI on PA-RISC ... ;-)
config PM
bool
Index: linux-2.6/arch/powerpc/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/Kconfig
+++ linux-2.6/arch/powerpc/Kconfig
@@ -40,10 +40,6 @@ config GENERIC_HARDIRQS
bool
default y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- bool
- default y
-
config HAVE_SETUP_PER_CPU_AREA
def_bool PPC64
Index: linux-2.6/arch/score/Kconfig
===================================================================
--- linux-2.6.orig/arch/score/Kconfig
+++ linux-2.6/arch/score/Kconfig
@@ -53,9 +53,6 @@ config GENERIC_CLOCKEVENTS
config SCHED_NO_NO_OMIT_FRAME_POINTER
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_SYSCALL_TABLE
def_bool y
Index: linux-2.6/arch/sparc/Kconfig
===================================================================
--- linux-2.6.orig/arch/sparc/Kconfig
+++ linux-2.6/arch/sparc/Kconfig
@@ -107,10 +107,6 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK
config NEED_PER_CPU_PAGE_FIRST_CHUNK
def_bool y if SPARC64
-config GENERIC_HARDIRQS_NO__DO_IRQ
- bool
- def_bool y if SPARC64
-
config MMU
bool
default y
Index: linux-2.6/arch/tile/Kconfig
===================================================================
--- linux-2.6.orig/arch/tile/Kconfig
+++ linux-2.6/arch/tile/Kconfig
@@ -10,9 +10,6 @@ config GENERIC_CSUM
config GENERIC_HARDIRQS
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config GENERIC_IRQ_PROBE
def_bool y
Index: linux-2.6/arch/um/Kconfig.um
===================================================================
--- linux-2.6.orig/arch/um/Kconfig.um
+++ linux-2.6/arch/um/Kconfig.um
@@ -120,9 +120,6 @@ config SMP
If you don't know what to do, say N.
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
config NR_CPUS
int "Maximum number of CPUs (2-32)"
range 2 32
Index: linux-2.6/include/linux/irqdesc.h
===================================================================
--- linux-2.6.orig/include/linux/irqdesc.h
+++ linux-2.6/include/linux/irqdesc.h
@@ -101,13 +101,6 @@ static inline struct irq_desc *move_irq_
#define get_irq_desc_msi(desc) ((desc)->irq_data.msi_desc)
/*
- * Monolithic do_IRQ implementation.
- */
-#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
-extern unsigned int __do_IRQ(unsigned int irq);
-#endif
-
-/*
* Architectures call this to let the generic IRQ layer
* handle an interrupt. If the descriptor is attached to an
* irqchip-style controller then we call the ->handle_irq() handler,
@@ -115,14 +108,7 @@ extern unsigned int __do_IRQ(unsigned in
*/
static inline void generic_handle_irq_desc(unsigned int irq, struct irq_desc *desc)
{
-#ifdef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
desc->handle_irq(irq, desc);
-#else
- if (likely(desc->handle_irq))
- desc->handle_irq(irq, desc);
- else
- __do_IRQ(irq);
-#endif
}
static inline void generic_handle_irq(unsigned int irq)
Index: linux-2.6/kernel/irq/Kconfig
===================================================================
--- linux-2.6.orig/kernel/irq/Kconfig
+++ linux-2.6/kernel/irq/Kconfig
@@ -9,9 +9,6 @@ menu "IRQ subsystem"
config GENERIC_HARDIRQS
def_bool y
-config GENERIC_HARDIRQS_NO__DO_IRQ
- def_bool y
-
# Select this to disable the deprecated stuff
config GENERIC_HARDIRQS_NO_DEPRECATED
def_bool n
Index: linux-2.6/kernel/irq/handle.c
===================================================================
--- linux-2.6.orig/kernel/irq/handle.c
+++ linux-2.6/kernel/irq/handle.c
@@ -118,114 +118,3 @@ irqreturn_t handle_IRQ_event(unsigned in
return retval;
}
-
-#ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
-
-#ifdef CONFIG_ENABLE_WARN_DEPRECATED
-# warning __do_IRQ is deprecated. Please convert to proper flow handlers
-#endif
-
-/**
- * __do_IRQ - original all in one highlevel IRQ handler
- * @irq: the interrupt number
- *
- * __do_IRQ handles all normal device IRQ's (the special
- * SMP cross-CPU interrupts have their own specific
- * handlers).
- *
- * This is the original x86 implementation which is used for every
- * interrupt type.
- */
-unsigned int __do_IRQ(unsigned int irq)
-{
- struct irq_desc *desc = irq_to_desc(irq);
- struct irqaction *action;
- unsigned int status;
-
- kstat_incr_irqs_this_cpu(irq, desc);
-
- if (CHECK_IRQ_PER_CPU(desc->status)) {
- irqreturn_t action_ret;
-
- /*
- * No locking required for CPU-local interrupts:
- */
- if (desc->irq_data.chip->ack)
- desc->irq_data.chip->ack(irq);
- if (likely(!(desc->status & IRQ_DISABLED))) {
- action_ret = handle_IRQ_event(irq, desc->action);
- if (!noirqdebug)
- note_interrupt(irq, desc, action_ret);
- }
- desc->irq_data.chip->end(irq);
- return 1;
- }
-
- raw_spin_lock(&desc->lock);
- if (desc->irq_data.chip->ack)
- desc->irq_data.chip->ack(irq);
- /*
- * REPLAY is when Linux resends an IRQ that was dropped earlier
- * WAITING is used by probe to mark irqs that are being tested
- */
- status = desc->status & ~(IRQ_REPLAY | IRQ_WAITING);
- status |= IRQ_PENDING; /* we _want_ to handle it */
-
- /*
- * If the IRQ is disabled for whatever reason, we cannot
- * use the action we have.
- */
- action = NULL;
- if (likely(!(status & (IRQ_DISABLED | IRQ_INPROGRESS)))) {
- action = desc->action;
- status &= ~IRQ_PENDING; /* we commit to handling */
- status |= IRQ_INPROGRESS; /* we are handling it */
- }
- desc->status = status;
-
- /*
- * If there is no IRQ handler or it was disabled, exit early.
- * Since we set PENDING, if another processor is handling
- * a different instance of this same irq, the other processor
- * will take care of it.
- */
- if (unlikely(!action))
- goto out;
-
- /*
- * Edge triggered interrupts need to remember
- * pending events.
- * This applies to any hw interrupts that allow a second
- * instance of the same irq to arrive while we are in do_IRQ
- * or in the handler. But the code here only handles the _second_
- * instance of the irq, not the third or fourth. So it is mostly
- * useful for irq hardware that does not mask cleanly in an
- * SMP environment.
- */
- for (;;) {
- irqreturn_t action_ret;
-
- raw_spin_unlock(&desc->lock);
-
- action_ret = handle_IRQ_event(irq, action);
- if (!noirqdebug)
- note_interrupt(irq, desc, action_ret);
-
- raw_spin_lock(&desc->lock);
- if (likely(!(desc->status & IRQ_PENDING)))
- break;
- desc->status &= ~IRQ_PENDING;
- }
- desc->status &= ~IRQ_INPROGRESS;
-
-out:
- /*
- * The ->end() handler has to deal with interrupts which got
- * disabled while the handler was running.
- */
- desc->irq_data.chip->end(irq);
- raw_spin_unlock(&desc->lock);
-
- return 1;
-}
-#endif
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 25/37] alpha: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (23 preceding siblings ...)
2011-01-19 21:49 ` [patch 24/37] genirq: Remove __do_IRQ Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 26/37] blackfin: " Thomas Gleixner
` (15 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Richard Henderson
[-- Attachment #1: alpha-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 979 bytes --]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Henderson <rth@twiddle.net>
---
arch/alpha/Kconfig | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
Index: linux-2.6/arch/alpha/Kconfig
===================================================================
--- linux-2.6.orig/arch/alpha/Kconfig
+++ linux-2.6/arch/alpha/Kconfig
@@ -8,6 +8,9 @@ config ALPHA
select HAVE_IRQ_WORK
select HAVE_PERF_EVENTS
select HAVE_DMA_ATTRS
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
+ select AUTO_IRQ_AFFINITY if SMP
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
@@ -68,19 +71,6 @@ config GENERIC_IOMAP
bool
default n
-config GENERIC_HARDIRQS
- bool
- default y
-
-config GENERIC_IRQ_PROBE
- bool
- default y
-
-config AUTO_IRQ_AFFINITY
- bool
- depends on SMP
- default y
-
source "init/Kconfig"
source "kernel/Kconfig.freezer"
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 26/37] blackfin: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (24 preceding siblings ...)
2011-01-19 21:49 ` [patch 25/37] alpha: Use generic irq Kconfig Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 27/37] frv: " Thomas Gleixner
` (14 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Mike Frysinger
[-- Attachment #1: blackfin-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 1053 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Frysinger <vapier@gentoo.org>
---
arch/blackfin/Kconfig | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
Index: linux-2.6/arch/blackfin/Kconfig
===================================================================
--- linux-2.6.orig/arch/blackfin/Kconfig
+++ linux-2.6/arch/blackfin/Kconfig
@@ -30,6 +30,9 @@ config BLACKFIN
select HAVE_KERNEL_LZO if RAMKERNEL
select HAVE_OPROFILE
select ARCH_WANT_OPTIONAL_GPIOLIB
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
+ select IRQ_PER_CPU if SMP
config GENERIC_CSUM
def_bool y
@@ -44,12 +47,6 @@ config ZONE_DMA
config GENERIC_FIND_NEXT_BIT
def_bool y
-config GENERIC_HARDIRQS
- def_bool y
-
-config GENERIC_IRQ_PROBE
- def_bool y
-
config GENERIC_GPIO
def_bool y
@@ -251,11 +248,6 @@ config HOTPLUG_CPU
depends on SMP && HOTPLUG
default y
-config IRQ_PER_CPU
- bool
- depends on SMP
- default y
-
config HAVE_LEGACY_PER_CPU_AREA
def_bool y
depends on SMP
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 27/37] frv: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (25 preceding siblings ...)
2011-01-19 21:49 ` [patch 26/37] blackfin: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 28/37] ia64: " Thomas Gleixner
` (13 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, David Howells
[-- Attachment #1: frv-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 689 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
arch/frv/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: linux-2.6/arch/frv/Kconfig
===================================================================
--- linux-2.6.orig/arch/frv/Kconfig
+++ linux-2.6/arch/frv/Kconfig
@@ -5,6 +5,7 @@ config FRV
select HAVE_ARCH_TRACEHOOK
select HAVE_IRQ_WORK
select HAVE_PERF_EVENTS
+ select HAVE_GENERIC_HARDIRQS
config ZONE_DMA
bool
@@ -29,10 +30,6 @@ config GENERIC_CALIBRATE_DELAY
bool
default n
-config GENERIC_HARDIRQS
- bool
- default y
-
config TIME_LOW_RES
bool
default y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 28/37] ia64: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (26 preceding siblings ...)
2011-01-19 21:49 ` [patch 27/37] frv: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 22:36 ` Luck, Tony
2011-01-19 21:49 ` [patch 29/37] m68knommu: " Thomas Gleixner
` (12 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Tony Luck
[-- Attachment #1: ia64-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 1149 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
---
arch/ia64/Kconfig | 23 ++++-------------------
1 file changed, 4 insertions(+), 19 deletions(-)
Index: linux-2.6/arch/ia64/Kconfig
===================================================================
--- linux-2.6.orig/arch/ia64/Kconfig
+++ linux-2.6/arch/ia64/Kconfig
@@ -22,6 +22,10 @@ config IA64
select HAVE_KVM
select HAVE_ARCH_TRACEHOOK
select HAVE_DMA_API_DEBUG
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
+ select GENERIC_PENDING_IRQ if SMP
+ select IRQ_PER_CPU
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
@@ -678,25 +682,6 @@ source "arch/ia64/kvm/Kconfig"
source "lib/Kconfig"
-#
-# Use the generic interrupt handling code in kernel/irq/:
-#
-config GENERIC_HARDIRQS
- def_bool y
-
-config GENERIC_IRQ_PROBE
- bool
- default y
-
-config GENERIC_PENDING_IRQ
- bool
- depends on GENERIC_HARDIRQS && SMP
- default y
-
-config IRQ_PER_CPU
- bool
- default y
-
config IOMMU_HELPER
def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 29/37] m68knommu: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (27 preceding siblings ...)
2011-01-19 21:49 ` [patch 28/37] ia64: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 30/37] microblaze: " Thomas Gleixner
` (11 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Greg Ungerer
[-- Attachment #1: m68knommu-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 667 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Greg Ungerer <gerg@uclinux.org>
---
arch/m68knommu/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: linux-2.6/arch/m68knommu/Kconfig
===================================================================
--- linux-2.6.orig/arch/m68knommu/Kconfig
+++ linux-2.6/arch/m68knommu/Kconfig
@@ -2,6 +2,7 @@ config M68K
bool
default y
select HAVE_IDE
+ select HAVE_GENERIC_HARDIRQS
config MMU
bool
@@ -48,10 +49,6 @@ config GENERIC_HWEIGHT
bool
default y
-config GENERIC_HARDIRQS
- bool
- default y
-
config GENERIC_CALIBRATE_DELAY
bool
default y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 30/37] microblaze: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (28 preceding siblings ...)
2011-01-19 21:49 ` [patch 29/37] m68knommu: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-20 7:15 ` Michal Simek
2011-01-19 21:49 ` [patch 31/37] mn10300: " Thomas Gleixner
` (10 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Michal Simek
[-- Attachment #1: microblaze-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 799 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Simek <monstr@monstr.eu>
---
arch/microblaze/Kconfig | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
Index: linux-2.6/arch/microblaze/Kconfig
===================================================================
--- linux-2.6.orig/arch/microblaze/Kconfig
+++ linux-2.6/arch/microblaze/Kconfig
@@ -15,6 +15,8 @@ config MICROBLAZE
select TRACING_SUPPORT
select OF
select OF_EARLY_FLATTREE
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
config SWAP
def_bool n
@@ -37,12 +39,6 @@ config GENERIC_FIND_NEXT_BIT
config GENERIC_HWEIGHT
def_bool y
-config GENERIC_HARDIRQS
- def_bool y
-
-config GENERIC_IRQ_PROBE
- def_bool y
-
config GENERIC_CALIBRATE_DELAY
def_bool y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 31/37] mn10300: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (29 preceding siblings ...)
2011-01-19 21:49 ` [patch 30/37] microblaze: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-03-05 21:02 ` Geert Uytterhoeven
2011-01-19 21:49 ` [patch 32/37] parisc: " Thomas Gleixner
` (9 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, David Howells
[-- Attachment #1: mn10300-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 721 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
arch/mn10300/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: linux-2.6/arch/mn10300/Kconfig
===================================================================
--- linux-2.6.orig/arch/mn10300/Kconfig
+++ linux-2.6/arch/mn10300/Kconfig
@@ -1,6 +1,7 @@
config MN10300
def_bool y
select HAVE_OPROFILE
+ select GENERIC_HARDIRQS
config AM33_2
def_bool n
@@ -76,10 +77,6 @@ config QUICKLIST
config ARCH_HAS_ILOG2_U32
def_bool y
-# Use the generic interrupt handling code in kernel/irq/
-config GENERIC_HARDIRQS
- def_bool y
-
config HOTPLUG_CPU
def_bool n
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 32/37] parisc: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (30 preceding siblings ...)
2011-01-19 21:49 ` [patch 31/37] mn10300: " Thomas Gleixner
@ 2011-01-19 21:49 ` Thomas Gleixner
2011-01-19 22:05 ` James Bottomley
2011-01-19 21:50 ` [patch 33/37] powerpc: " Thomas Gleixner
` (8 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:49 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Kyle McMartin
[-- Attachment #1: parisc-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 1059 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
---
arch/parisc/Kconfig | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
Index: linux-2.6/arch/parisc/Kconfig
===================================================================
--- linux-2.6.orig/arch/parisc/Kconfig
+++ linux-2.6/arch/parisc/Kconfig
@@ -12,6 +12,10 @@ config PARISC
select HAVE_IRQ_WORK
select HAVE_PERF_EVENTS
select GENERIC_ATOMIC64 if !64BIT
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
+ select IRQ_PER_CPU
+
help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
in many of their workstations & servers (HP9000 700 and 800 series,
@@ -65,19 +69,9 @@ config TIME_LOW_RES
depends on SMP
default y
-config GENERIC_HARDIRQS
- def_bool y
-
-config GENERIC_IRQ_PROBE
- def_bool y
-
config HAVE_LATENCYTOP_SUPPORT
def_bool y
-config IRQ_PER_CPU
- bool
- default y
-
# unless you want to implement ACPI on PA-RISC ... ;-)
config PM
bool
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 33/37] powerpc: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (31 preceding siblings ...)
2011-01-19 21:49 ` [patch 32/37] parisc: " Thomas Gleixner
@ 2011-01-19 21:50 ` Thomas Gleixner
2011-01-19 21:50 ` [patch 34/37] score: " Thomas Gleixner
` (7 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:50 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Benjamin Herrenschmidt
[-- Attachment #1: powerpc-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 1749 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/powerpc/Kconfig | 24 +++---------------------
1 file changed, 3 insertions(+), 21 deletions(-)
Index: linux-2.6/arch/powerpc/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/Kconfig
+++ linux-2.6/arch/powerpc/Kconfig
@@ -36,20 +36,12 @@ config GENERIC_TIME_VSYSCALL
config GENERIC_CLOCKEVENTS
def_bool y
-config GENERIC_HARDIRQS
- bool
- default y
-
config HAVE_SETUP_PER_CPU_AREA
def_bool PPC64
config NEED_PER_CPU_EMBED_FIRST_CHUNK
def_bool PPC64
-config IRQ_PER_CPU
- bool
- default y
-
config NR_IRQS
int "Number of virtual interrupt numbers"
range 32 32768
@@ -139,6 +131,9 @@ config PPC
select HAVE_PERF_EVENTS
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
+ select HAVE_GENERIC_HARDIRQS
+ select HAVE_SPARSE_IRQ
+ select IRQ_PER_CPU
config EARLY_PRINTK
bool
@@ -388,19 +383,6 @@ config IRQ_ALL_CPUS
CPU. Generally saying Y is safe, although some problems have been
reported with SMP Power Macintoshes with this option enabled.
-config SPARSE_IRQ
- bool "Support sparse irq numbering"
- default n
- help
- This enables support for sparse irqs. This is useful for distro
- kernels that want to define a high CONFIG_NR_CPUS value but still
- want to have low kernel memory footprint on smaller machines.
-
- ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
- out the irq_desc[] array in a more NUMA-friendly way. )
-
- If you don't know what to do here, say N.
-
config NUMA
bool "NUMA support"
depends on PPC64
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 34/37] score: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (32 preceding siblings ...)
2011-01-19 21:50 ` [patch 33/37] powerpc: " Thomas Gleixner
@ 2011-01-19 21:50 ` Thomas Gleixner
2011-01-20 3:00 ` liqin.chen
2011-01-19 21:50 ` [patch 35/37] sparc: " Thomas Gleixner
` (6 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:50 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Chen Liqin
[-- Attachment #1: score-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 702 bytes --]
No functional change
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
---
arch/score/Kconfig | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: linux-2.6/arch/score/Kconfig
===================================================================
--- linux-2.6.orig/arch/score/Kconfig
+++ linux-2.6/arch/score/Kconfig
@@ -1,5 +1,9 @@
menu "Machine selection"
+config SCORE
+ def_bool y
+ select HAVE_GENERIC_HARDIRQS
+
choice
prompt "System type"
default MACH_SPCT6600
@@ -65,9 +69,6 @@ menu "Kernel type"
config 32BIT
def_bool y
-config GENERIC_HARDIRQS
- def_bool y
-
config ARCH_FLATMEM_ENABLE
def_bool y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 35/37] sparc: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (33 preceding siblings ...)
2011-01-19 21:50 ` [patch 34/37] score: " Thomas Gleixner
@ 2011-01-19 21:50 ` Thomas Gleixner
2011-01-19 21:52 ` David Miller
2011-01-19 21:50 ` [patch 36/37] tile: " Thomas Gleixner
` (5 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:50 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, David S. Miller
[-- Attachment #1: sparc-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 807 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
---
arch/sparc/Kconfig | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: linux-2.6/arch/sparc/Kconfig
===================================================================
--- linux-2.6.orig/arch/sparc/Kconfig
+++ linux-2.6/arch/sparc/Kconfig
@@ -50,6 +50,7 @@ config SPARC64
select RTC_DRV_STARFIRE
select HAVE_PERF_EVENTS
select PERF_USE_VMALLOC
+ select HAVE_GENERIC_HARDIRQS
config ARCH_DEFCONFIG
string
@@ -272,10 +273,6 @@ config HOTPLUG_CPU
can be controlled through /sys/devices/system/cpu/cpu#.
Say N if you want to disable CPU hotplug.
-config GENERIC_HARDIRQS
- bool
- default y if SPARC64
-
source "kernel/time/Kconfig"
if SPARC64
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 36/37] tile: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (34 preceding siblings ...)
2011-01-19 21:50 ` [patch 35/37] sparc: " Thomas Gleixner
@ 2011-01-19 21:50 ` Thomas Gleixner
2011-01-20 18:54 ` Chris Metcalf
2011-01-19 21:50 ` [patch 37/37] um: " Thomas Gleixner
` (4 subsequent siblings)
40 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:50 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Chris Metcalf
[-- Attachment #1: tile-use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 931 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@tilera.com>
---
arch/tile/Kconfig | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
Index: linux-2.6/arch/tile/Kconfig
===================================================================
--- linux-2.6.orig/arch/tile/Kconfig
+++ linux-2.6/arch/tile/Kconfig
@@ -1,22 +1,18 @@
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/config-language.txt.
+config TILE
+ def_bool y
+ select HAVE_GENERIC_HARDIRQS
+ select GENERIC_IRQ_PROBE
+ select GENERIC_PENDING_IRQ if SMP
+
config MMU
def_bool y
config GENERIC_CSUM
def_bool y
-config GENERIC_HARDIRQS
- def_bool y
-
-config GENERIC_IRQ_PROBE
- def_bool y
-
-config GENERIC_PENDING_IRQ
- def_bool y
- depends on GENERIC_HARDIRQS && SMP
-
config SEMAPHORE_SLEEPERS
def_bool y
^ permalink raw reply [flat|nested] 61+ messages in thread
* [patch 37/37] um: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (35 preceding siblings ...)
2011-01-19 21:50 ` [patch 36/37] tile: " Thomas Gleixner
@ 2011-01-19 21:50 ` Thomas Gleixner
2011-01-19 22:13 ` [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Linus Torvalds
` (3 subsequent siblings)
40 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 21:50 UTC (permalink / raw)
To: LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar, Jeff Dike
[-- Attachment #1: um--use-generic-irq-Kconfig.patch --]
[-- Type: text/plain, Size: 701 bytes --]
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jeff Dike <jdike@addtoit.com>
---
arch/um/Kconfig.common | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
Index: linux-2.6/arch/um/Kconfig.common
===================================================================
--- linux-2.6.orig/arch/um/Kconfig.common
+++ linux-2.6/arch/um/Kconfig.common
@@ -3,14 +3,10 @@ config DEFCONFIG_LIST
option defconfig_list
default "arch/$ARCH/defconfig"
-# UML uses the generic IRQ subsystem
-config GENERIC_HARDIRQS
- bool
- default y
-
config UML
bool
default y
+ select HAVE_GENERIC_HARDIRQS
config MMU
bool
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 35/37] sparc: Use generic irq Kconfig
2011-01-19 21:50 ` [patch 35/37] sparc: " Thomas Gleixner
@ 2011-01-19 21:52 ` David Miller
0 siblings, 0 replies; 61+ messages in thread
From: David Miller @ 2011-01-19 21:52 UTC (permalink / raw)
To: tglx; +Cc: linux-kernel, linux-arch, akpm, mingo
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 19 Jan 2011 21:50:09 -0000
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: David S. Miller <davem@davemloft.net>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 32/37] parisc: Use generic irq Kconfig
2011-01-19 21:49 ` [patch 32/37] parisc: " Thomas Gleixner
@ 2011-01-19 22:05 ` James Bottomley
2011-01-19 22:16 ` Thomas Gleixner
0 siblings, 1 reply; 61+ messages in thread
From: James Bottomley @ 2011-01-19 22:05 UTC (permalink / raw)
To: Thomas Gleixner
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar, Kyle McMartin
On Wed, 2011-01-19 at 21:49 +0000, Thomas Gleixner wrote:
> plain text document attachment (parisc-use-generic-irq-Kconfig.patch)
> No functional change.
Not quite true ... you take out GENERIC_HARDIRQS but select
HAVE_GENERIC_HARDIRQS ... is that right?
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Kyle McMartin <kyle@mcmartin.ca>
Plus, it doesn't apply:
Hunk #1 FAILED at 12.
Hunk #2 FAILED at 65.
2 out of 2 hunks FAILED -- saving rejects to file
arch/parisc/Kconfig.rej
It looks like it was made before we did our generic irq conversion in
the 2.6.36 merge window.
James
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (36 preceding siblings ...)
2011-01-19 21:50 ` [patch 37/37] um: " Thomas Gleixner
@ 2011-01-19 22:13 ` Linus Torvalds
2011-01-19 22:17 ` Kyle McMartin
2011-01-19 22:25 ` Thomas Gleixner
2011-01-19 23:18 ` [patch 31/37] mn10300: Use generic irq Kconfig David Howells
` (2 subsequent siblings)
40 siblings, 2 replies; 61+ messages in thread
From: Linus Torvalds @ 2011-01-19 22:13 UTC (permalink / raw)
To: Thomas Gleixner
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf, David Howells,
David S. Miller, Greg Ungerer, Hirokazu Takata, Jeff Dike,
Kyle McMartin, Michal Simek, Mikael Starvik, Mike Frysinger,
Paul Mundt, Richard Henderson, Tony Luck, Yoshinori Sato
On Wed, Jan 19, 2011 at 1:47 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> Now that rc1 is out, I got reliable information about the remaining
> users of __do_IRQ(), which block the removal:
>
> arch/cris, arch/h8300, arch/m32r
I'm certainly ok with this series. It would be good to finally get rid
of this legacy interface, and there's no longer any reason to hold it
up. And getting rid of hundreds of lines of code is good too.
Linus
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 32/37] parisc: Use generic irq Kconfig
2011-01-19 22:05 ` James Bottomley
@ 2011-01-19 22:16 ` Thomas Gleixner
2011-01-20 4:58 ` James Bottomley
0 siblings, 1 reply; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 22:16 UTC (permalink / raw)
To: James Bottomley
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar, Kyle McMartin
On Wed, 19 Jan 2011, James Bottomley wrote:
> On Wed, 2011-01-19 at 21:49 +0000, Thomas Gleixner wrote:
> > plain text document attachment (parisc-use-generic-irq-Kconfig.patch)
> > No functional change.
>
> Not quite true ... you take out GENERIC_HARDIRQS but select
> HAVE_GENERIC_HARDIRQS ... is that right?
HAVE_GENERIC_HARDIRQS enables the Kconfig file in kernel/irq/
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Kyle McMartin <kyle@mcmartin.ca>
>
> Plus, it doesn't apply:
>
> Hunk #1 FAILED at 12.
> Hunk #2 FAILED at 65.
> 2 out of 2 hunks FAILED -- saving rejects to file
> arch/parisc/Kconfig.rej
>
> It looks like it was made before we did our generic irq conversion in
> the 2.6.36 merge window.
You meant 38 window :) Patch is against 38-rc1 but depends on [patch
24/37] genirq: Remove __do_IRQ in this very same series.
Thanks,
tglx
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
2011-01-19 22:13 ` [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Linus Torvalds
@ 2011-01-19 22:17 ` Kyle McMartin
2011-01-19 22:18 ` Kyle McMartin
2011-01-19 22:25 ` Thomas Gleixner
1 sibling, 1 reply; 61+ messages in thread
From: Kyle McMartin @ 2011-01-19 22:17 UTC (permalink / raw)
To: Linus Torvalds
Cc: Thomas Gleixner, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf, David Howells,
David S. Miller, Greg Ungerer, Hirokazu Takata, Jeff Dike,
Kyle McMartin, Michal Simek, Mikael Starvik, Mike Frysinger,
Paul Mundt, Richard Henderson, Tony Luck, Yoshinori Sato
On Wed, Jan 19, 2011 at 02:13:07PM -0800, Linus Torvalds wrote:
> > arch/cris, arch/h8300, arch/m32r
>
> I'm certainly ok with this series. It would be good to finally get rid
> of this legacy interface, and there's no longer any reason to hold it
> up. And getting rid of hundreds of lines of code is good too.
>
I submitted series to clean these 3 up as well (but only got a response
from the cris folks...) If the other 2 are effectively unmaintained,
should I just submit the clean ups to you? (I think there were some
build fixes as well, will have to check.)
--Kyle
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
2011-01-19 22:17 ` Kyle McMartin
@ 2011-01-19 22:18 ` Kyle McMartin
2011-01-19 22:22 ` Thomas Gleixner
0 siblings, 1 reply; 61+ messages in thread
From: Kyle McMartin @ 2011-01-19 22:18 UTC (permalink / raw)
To: Kyle McMartin
Cc: Linus Torvalds, Thomas Gleixner, LKML, Linux-Arch, Andrew Morton,
Ingo Molnar, Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf,
David Howells, David S. Miller, Greg Ungerer, Hirokazu Takata,
Jeff Dike, Michal Simek, Mikael Starvik, Mike Frysinger,
Paul Mundt, Richard Henderson, Tony Luck, Yoshinori Sato
On Wed, Jan 19, 2011 at 05:17:06PM -0500, Kyle McMartin wrote:
> I submitted series to clean these 3 up as well (but only got a response
> from the cris folks...) If the other 2 are effectively unmaintained,
> should I just submit the clean ups to you? (I think there were some
> build fixes as well, will have to check.)
>
Nevermind, just saw the rest of the series on linux-arch.
--Kyle
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
2011-01-19 22:18 ` Kyle McMartin
@ 2011-01-19 22:22 ` Thomas Gleixner
0 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 22:22 UTC (permalink / raw)
To: Kyle McMartin
Cc: Linus Torvalds, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf, David Howells,
David S. Miller, Greg Ungerer, Hirokazu Takata, Jeff Dike,
Michal Simek, Mikael Starvik, Mike Frysinger, Paul Mundt,
Richard Henderson, Tony Luck, Yoshinori Sato
On Wed, 19 Jan 2011, Kyle McMartin wrote:
> On Wed, Jan 19, 2011 at 05:17:06PM -0500, Kyle McMartin wrote:
> > I submitted series to clean these 3 up as well (but only got a response
> > from the cris folks...) If the other 2 are effectively unmaintained,
Dammit. Seems they got lost on my side in some mail black hole. I hate
redundant work
> > should I just submit the clean ups to you? (I think there were some
> > build fixes as well, will have to check.)
> >
>
> Nevermind, just saw the rest of the series on linux-arch.
>
> --Kyle
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arch" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs
2011-01-19 22:13 ` [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Linus Torvalds
2011-01-19 22:17 ` Kyle McMartin
@ 2011-01-19 22:25 ` Thomas Gleixner
1 sibling, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-19 22:25 UTC (permalink / raw)
To: Linus Torvalds
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Benjamin Herrenschmidt, Chen Liqin, Chris Metcalf, David Howells,
David S. Miller, Greg Ungerer, Hirokazu Takata, Jeff Dike,
Kyle McMartin, Michal Simek, Mikael Starvik, Mike Frysinger,
Paul Mundt, Richard Henderson, Tony Luck, Yoshinori Sato
[-- Attachment #1: Type: TEXT/PLAIN, Size: 628 bytes --]
On Wed, 19 Jan 2011, Linus Torvalds wrote:
> On Wed, Jan 19, 2011 at 1:47 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > Now that rc1 is out, I got reliable information about the remaining
> > users of __do_IRQ(), which block the removal:
> >
> > arch/cris, arch/h8300, arch/m32r
>
> I'm certainly ok with this series. It would be good to finally get rid
> of this legacy interface, and there's no longer any reason to hold it
> up. And getting rid of hundreds of lines of code is good too.
Will wait a day for desperate screams, then collect the incoming acks
and push it into git for your consumption.
Thanks,
tglx
^ permalink raw reply [flat|nested] 61+ messages in thread
* RE: [patch 28/37] ia64: Use generic irq Kconfig
2011-01-19 21:49 ` [patch 28/37] ia64: " Thomas Gleixner
@ 2011-01-19 22:36 ` Luck, Tony
0 siblings, 0 replies; 61+ messages in thread
From: Luck, Tony @ 2011-01-19 22:36 UTC (permalink / raw)
To: Thomas Gleixner, LKML; +Cc: Linux-Arch, Andrew Morton, Ingo Molnar
> No functional change.
Acked-by: Tony Luck <tony.luck@intel.com>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 31/37] mn10300: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (37 preceding siblings ...)
2011-01-19 22:13 ` [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Linus Torvalds
@ 2011-01-19 23:18 ` David Howells
2011-01-19 23:18 ` [patch 27/37] frv: " David Howells
2011-01-19 23:19 ` [patch 24/37] genirq: Remove __do_IRQ David Howells
40 siblings, 0 replies; 61+ messages in thread
From: David Howells @ 2011-01-19 23:18 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: dhowells, LKML, Linux-Arch, Andrew Morton, Ingo Molnar
Thomas Gleixner <tglx@linutronix.de> wrote:
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: David Howells <dhowells@redhat.com>
Acked-by: David Howells <dhowells@redhat.com>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 27/37] frv: Use generic irq Kconfig
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (38 preceding siblings ...)
2011-01-19 23:18 ` [patch 31/37] mn10300: Use generic irq Kconfig David Howells
@ 2011-01-19 23:18 ` David Howells
2011-01-19 23:19 ` [patch 24/37] genirq: Remove __do_IRQ David Howells
40 siblings, 0 replies; 61+ messages in thread
From: David Howells @ 2011-01-19 23:18 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: dhowells, LKML, Linux-Arch, Andrew Morton, Ingo Molnar
Thomas Gleixner <tglx@linutronix.de> wrote:
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: David Howells <dhowells@redhat.com>
Acked-by: David Howells <dhowells@redhat.com>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 24/37] genirq: Remove __do_IRQ
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
` (39 preceding siblings ...)
2011-01-19 23:18 ` [patch 27/37] frv: " David Howells
@ 2011-01-19 23:19 ` David Howells
2011-01-21 7:37 ` Benjamin Herrenschmidt
40 siblings, 1 reply; 61+ messages in thread
From: David Howells @ 2011-01-19 23:19 UTC (permalink / raw)
To: Thomas Gleixner
Cc: dhowells, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Richard Henderson, Mike Frysinger, Tony Luck, Greg Ungerer,
Michal Simek, Kyle McMartin, Benjamin Herrenschmidt, Chen Liqin,
David S. Miller, Chris Metcalf, Jeff Dike
Thomas Gleixner <tglx@linutronix.de> wrote:
> All architectures are finally converted. Remove the cruft.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Richard Henderson <rth@twiddle.net>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: David Howells <dhowells@redhat.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Greg Ungerer <gerg@uclinux.org>
> Cc: Michal Simek <monstr@monstr.eu>
> Cc: David Howells <dhowells@redhat.com>
> Cc: Kyle McMartin <kyle@mcmartin.ca>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Chen Liqin <liqin.chen@sunplusct.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Chris Metcalf <cmetcalf@tilera.com>
> Cc: Jeff Dike <jdike@addtoit.com>
Finally!
Acked-by: David Howells <dhowells@redhat.com>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 34/37] score: Use generic irq Kconfig
2011-01-19 21:50 ` [patch 34/37] score: " Thomas Gleixner
@ 2011-01-20 3:00 ` liqin.chen
0 siblings, 0 replies; 61+ messages in thread
From: liqin.chen @ 2011-01-20 3:00 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: Andrew Morton, Linux-Arch, LKML, Chen Liqin, Ingo Molnar
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="GB2312", Size: 406 bytes --]
Thomas Gleixner <tglx@linutronix.de> дÓÚ 2011-01-20 05:50:05:
> No functional change
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Chen Liqin <liqin.chen@sunplusct.com>
> ---
Acked-by: Chen Liqin <liqin.chen@sunplusct.com>
--
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 32/37] parisc: Use generic irq Kconfig
2011-01-19 22:16 ` Thomas Gleixner
@ 2011-01-20 4:58 ` James Bottomley
0 siblings, 0 replies; 61+ messages in thread
From: James Bottomley @ 2011-01-20 4:58 UTC (permalink / raw)
To: Thomas Gleixner
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar, Kyle McMartin
On Wed, 2011-01-19 at 23:16 +0100, Thomas Gleixner wrote:
> On Wed, 19 Jan 2011, James Bottomley wrote:
>
> > On Wed, 2011-01-19 at 21:49 +0000, Thomas Gleixner wrote:
> > > plain text document attachment (parisc-use-generic-irq-Kconfig.patch)
> > > No functional change.
> >
> > Not quite true ... you take out GENERIC_HARDIRQS but select
> > HAVE_GENERIC_HARDIRQS ... is that right?
>
> HAVE_GENERIC_HARDIRQS enables the Kconfig file in kernel/irq/
Ah, OK, thanks.
> > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: Kyle McMartin <kyle@mcmartin.ca>
> >
> > Plus, it doesn't apply:
> >
> > Hunk #1 FAILED at 12.
> > Hunk #2 FAILED at 65.
> > 2 out of 2 hunks FAILED -- saving rejects to file
> > arch/parisc/Kconfig.rej
> >
> > It looks like it was made before we did our generic irq conversion in
> > the 2.6.36 merge window.
>
> You meant 38 window :)
No ... it went in when Kyle was maintainer ... so that's at least 37 or
before.
> Patch is against 38-rc1 but depends on [patch
> 24/37] genirq: Remove __do_IRQ in this very same series.
Ah, great ... missed that one. With this it all seems to work, so you
can add my ack to the parisc piece.
James
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 30/37] microblaze: Use generic irq Kconfig
2011-01-19 21:49 ` [patch 30/37] microblaze: " Thomas Gleixner
@ 2011-01-20 7:15 ` Michal Simek
0 siblings, 0 replies; 61+ messages in thread
From: Michal Simek @ 2011-01-20 7:15 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Michal Simek <monstr@monstr.eu>
> ---
> arch/microblaze/Kconfig | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
Acked-by: Michal Simek <monstr@monstr.eu>
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 36/37] tile: Use generic irq Kconfig
2011-01-19 21:50 ` [patch 36/37] tile: " Thomas Gleixner
@ 2011-01-20 18:54 ` Chris Metcalf
2011-01-20 19:08 ` Sam Ravnborg
0 siblings, 1 reply; 61+ messages in thread
From: Chris Metcalf @ 2011-01-20 18:54 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar
On 1/19/2011 4:50 PM, Thomas Gleixner wrote:
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Chris Metcalf <cmetcalf@tilera.com>
> ---
> arch/tile/Kconfig | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> Index: linux-2.6/arch/tile/Kconfig
> ===================================================================
> --- linux-2.6.orig/arch/tile/Kconfig
> +++ linux-2.6/arch/tile/Kconfig
> @@ -1,22 +1,18 @@
> # For a description of the syntax of this configuration file,
> # see Documentation/kbuild/config-language.txt.
>
> +config TILE
> + def_bool y
> + select HAVE_GENERIC_HARDIRQS
> + select GENERIC_IRQ_PROBE
> + select GENERIC_PENDING_IRQ if SMP
> +
> [...]
I'm not sure it's legal to have two "config TILE" blocks in this Kconfig
file; there's already one further down.
Looking at other top-level arch Kconfigs, it does seem common to have the
"config $ARCH" block at the top, though, so if you want to move the
existing "config TILE" block to the top of the Kconfig as part of this
change, that's fine too.
--
Chris Metcalf, Tilera Corp.
http://www.tilera.com
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 36/37] tile: Use generic irq Kconfig
2011-01-20 18:54 ` Chris Metcalf
@ 2011-01-20 19:08 ` Sam Ravnborg
2011-01-20 19:11 ` Chris Metcalf
2011-01-21 10:27 ` Thomas Gleixner
0 siblings, 2 replies; 61+ messages in thread
From: Sam Ravnborg @ 2011-01-20 19:08 UTC (permalink / raw)
To: Chris Metcalf
Cc: Thomas Gleixner, LKML, Linux-Arch, Andrew Morton, Ingo Molnar
On Thu, Jan 20, 2011 at 01:54:27PM -0500, Chris Metcalf wrote:
> On 1/19/2011 4:50 PM, Thomas Gleixner wrote:
> > No functional change.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Chris Metcalf <cmetcalf@tilera.com>
> > ---
> > arch/tile/Kconfig | 16 ++++++----------
> > 1 file changed, 6 insertions(+), 10 deletions(-)
> >
> > Index: linux-2.6/arch/tile/Kconfig
> > ===================================================================
> > --- linux-2.6.orig/arch/tile/Kconfig
> > +++ linux-2.6/arch/tile/Kconfig
> > @@ -1,22 +1,18 @@
> > # For a description of the syntax of this configuration file,
> > # see Documentation/kbuild/config-language.txt.
> >
> > +config TILE
> > + def_bool y
> > + select HAVE_GENERIC_HARDIRQS
> > + select GENERIC_IRQ_PROBE
> > + select GENERIC_PENDING_IRQ if SMP
> > +
> > [...]
>
> I'm not sure it's legal to have two "config TILE" blocks in this Kconfig
> file; there's already one further down.
It is OK to have two "config TILE" blocks.
You should take care of moving the other one up after this goes in.
Sam
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 36/37] tile: Use generic irq Kconfig
2011-01-20 19:08 ` Sam Ravnborg
@ 2011-01-20 19:11 ` Chris Metcalf
2011-01-21 10:27 ` Thomas Gleixner
1 sibling, 0 replies; 61+ messages in thread
From: Chris Metcalf @ 2011-01-20 19:11 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Thomas Gleixner, LKML, Linux-Arch, Andrew Morton, Ingo Molnar
On 1/20/2011 2:08 PM, Sam Ravnborg wrote:
> On Thu, Jan 20, 2011 at 01:54:27PM -0500, Chris Metcalf wrote:
>> On 1/19/2011 4:50 PM, Thomas Gleixner wrote:
>>> No functional change.
>>>
>>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>>> Cc: Chris Metcalf <cmetcalf@tilera.com>
>>> ---
>>> arch/tile/Kconfig | 16 ++++++----------
>>> 1 file changed, 6 insertions(+), 10 deletions(-)
>>>
>>> Index: linux-2.6/arch/tile/Kconfig
>>> ===================================================================
>>> --- linux-2.6.orig/arch/tile/Kconfig
>>> +++ linux-2.6/arch/tile/Kconfig
>>> @@ -1,22 +1,18 @@
>>> # For a description of the syntax of this configuration file,
>>> # see Documentation/kbuild/config-language.txt.
>>>
>>> +config TILE
>>> + def_bool y
>>> + select HAVE_GENERIC_HARDIRQS
>>> + select GENERIC_IRQ_PROBE
>>> + select GENERIC_PENDING_IRQ if SMP
>>> +
>>> [...]
>> I'm not sure it's legal to have two "config TILE" blocks in this Kconfig
>> file; there's already one further down.
> It is OK to have two "config TILE" blocks.
> You should take care of moving the other one up after this goes in.
In that case I'm happy to ack the original patch.
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
--
Chris Metcalf, Tilera Corp.
http://www.tilera.com
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 24/37] genirq: Remove __do_IRQ
2011-01-19 23:19 ` [patch 24/37] genirq: Remove __do_IRQ David Howells
@ 2011-01-21 7:37 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 61+ messages in thread
From: Benjamin Herrenschmidt @ 2011-01-21 7:37 UTC (permalink / raw)
To: David Howells
Cc: Thomas Gleixner, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
Richard Henderson, Mike Frysinger, Tony Luck, Greg Ungerer,
Michal Simek, Kyle McMartin, Chen Liqin, David S. Miller,
Chris Metcalf, Jeff Dike
On Wed, 2011-01-19 at 23:19 +0000, David Howells wrote:
> Thomas Gleixner <tglx@linutronix.de> wrote:
>
> > All architectures are finally converted. Remove the cruft.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Richard Henderson <rth@twiddle.net>
> > Cc: Mike Frysinger <vapier@gentoo.org>
> > Cc: David Howells <dhowells@redhat.com>
> > Cc: Tony Luck <tony.luck@intel.com>
> > Cc: Greg Ungerer <gerg@uclinux.org>
> > Cc: Michal Simek <monstr@monstr.eu>
> > Cc: David Howells <dhowells@redhat.com>
> > Cc: Kyle McMartin <kyle@mcmartin.ca>
> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > Cc: Chen Liqin <liqin.chen@sunplusct.com>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Cc: Chris Metcalf <cmetcalf@tilera.com>
> > Cc: Jeff Dike <jdike@addtoit.com>
>
> Finally!
Yeah, Amen !
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cheers,
Ben.
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 36/37] tile: Use generic irq Kconfig
2011-01-20 19:08 ` Sam Ravnborg
2011-01-20 19:11 ` Chris Metcalf
@ 2011-01-21 10:27 ` Thomas Gleixner
1 sibling, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-01-21 10:27 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Chris Metcalf, LKML, Linux-Arch, Andrew Morton, Ingo Molnar
On Thu, 20 Jan 2011, Sam Ravnborg wrote:
> On Thu, Jan 20, 2011 at 01:54:27PM -0500, Chris Metcalf wrote:
> > On 1/19/2011 4:50 PM, Thomas Gleixner wrote:
> > > No functional change.
> > >
> > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: Chris Metcalf <cmetcalf@tilera.com>
> > > ---
> > > arch/tile/Kconfig | 16 ++++++----------
> > > 1 file changed, 6 insertions(+), 10 deletions(-)
> > >
> > > Index: linux-2.6/arch/tile/Kconfig
> > > ===================================================================
> > > --- linux-2.6.orig/arch/tile/Kconfig
> > > +++ linux-2.6/arch/tile/Kconfig
> > > @@ -1,22 +1,18 @@
> > > # For a description of the syntax of this configuration file,
> > > # see Documentation/kbuild/config-language.txt.
> > >
> > > +config TILE
> > > + def_bool y
> > > + select HAVE_GENERIC_HARDIRQS
> > > + select GENERIC_IRQ_PROBE
> > > + select GENERIC_PENDING_IRQ if SMP
> > > +
> > > [...]
> >
> > I'm not sure it's legal to have two "config TILE" blocks in this Kconfig
> > file; there's already one further down.
Missed that.
> It is OK to have two "config TILE" blocks.
> You should take care of moving the other one up after this goes in.
Will consolidate before sending it upstream.
Thanks,
tglx
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 31/37] mn10300: Use generic irq Kconfig
2011-01-19 21:49 ` [patch 31/37] mn10300: " Thomas Gleixner
@ 2011-03-05 21:02 ` Geert Uytterhoeven
2011-03-05 22:01 ` Sam Ravnborg
0 siblings, 1 reply; 61+ messages in thread
From: Geert Uytterhoeven @ 2011-03-05 21:02 UTC (permalink / raw)
To: Thomas Gleixner
Cc: LKML, Linux-Arch, Andrew Morton, Ingo Molnar, David Howells
On Wed, Jan 19, 2011 at 22:49, Thomas Gleixner <tglx@linutronix.de> wrote:
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: David Howells <dhowells@redhat.com>
> ---
> arch/mn10300/Kconfig | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> Index: linux-2.6/arch/mn10300/Kconfig
> ===================================================================
> --- linux-2.6.orig/arch/mn10300/Kconfig
> +++ linux-2.6/arch/mn10300/Kconfig
> @@ -1,6 +1,7 @@
> config MN10300
> def_bool y
> select HAVE_OPROFILE
> + select GENERIC_HARDIRQS
Wasn't this supposed to be "select HAVE_GENERIC_HARDIRQS"?
/me studying generic hardirqs...
>
> config AM33_2
> def_bool n
> @@ -76,10 +77,6 @@ config QUICKLIST
> config ARCH_HAS_ILOG2_U32
> def_bool y
>
> -# Use the generic interrupt handling code in kernel/irq/
> -config GENERIC_HARDIRQS
> - def_bool y
> -
> config HOTPLUG_CPU
> def_bool n
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 31/37] mn10300: Use generic irq Kconfig
2011-03-05 21:02 ` Geert Uytterhoeven
@ 2011-03-05 22:01 ` Sam Ravnborg
2011-03-08 10:41 ` Thomas Gleixner
0 siblings, 1 reply; 61+ messages in thread
From: Sam Ravnborg @ 2011-03-05 22:01 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Thomas Gleixner, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
David Howells
On Sat, Mar 05, 2011 at 10:02:33PM +0100, Geert Uytterhoeven wrote:
> On Wed, Jan 19, 2011 at 22:49, Thomas Gleixner <tglx@linutronix.de> wrote:
> > No functional change.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: David Howells <dhowells@redhat.com>
> > ---
> > arch/mn10300/Kconfig | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > Index: linux-2.6/arch/mn10300/Kconfig
> > ===================================================================
> > --- linux-2.6.orig/arch/mn10300/Kconfig
> > +++ linux-2.6/arch/mn10300/Kconfig
> > @@ -1,6 +1,7 @@
> > config MN10300
> > def_bool y
> > select HAVE_OPROFILE
> > + select GENERIC_HARDIRQS
>
> Wasn't this supposed to be "select HAVE_GENERIC_HARDIRQS"?
>
> /me studying generic hardirqs...
One could hope this was nicely documented in kernel/irq/Kconfig.
But that file contains only 9 lines of comments for 10 config symbols.
Maybe it is just me but I was struggeling understanding the purpose
of these config symbols.
I found the individual bits of genirq nicely documented in most cases.
But the overall picture was/is hard to get.
And I never got enough understanding to write up something myself :-(
Sam
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [patch 31/37] mn10300: Use generic irq Kconfig
2011-03-05 22:01 ` Sam Ravnborg
@ 2011-03-08 10:41 ` Thomas Gleixner
0 siblings, 0 replies; 61+ messages in thread
From: Thomas Gleixner @ 2011-03-08 10:41 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Geert Uytterhoeven, LKML, Linux-Arch, Andrew Morton, Ingo Molnar,
David Howells
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1397 bytes --]
On Sat, 5 Mar 2011, Sam Ravnborg wrote:
> On Sat, Mar 05, 2011 at 10:02:33PM +0100, Geert Uytterhoeven wrote:
> > On Wed, Jan 19, 2011 at 22:49, Thomas Gleixner <tglx@linutronix.de> wrote:
> > > No functional change.
> > >
> > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: David Howells <dhowells@redhat.com>
> > > ---
> > > arch/mn10300/Kconfig | 5 +----
> > > 1 file changed, 1 insertion(+), 4 deletions(-)
> > >
> > > Index: linux-2.6/arch/mn10300/Kconfig
> > > ===================================================================
> > > --- linux-2.6.orig/arch/mn10300/Kconfig
> > > +++ linux-2.6/arch/mn10300/Kconfig
> > > @@ -1,6 +1,7 @@
> > > config MN10300
> > > def_bool y
> > > select HAVE_OPROFILE
> > > + select GENERIC_HARDIRQS
> >
> > Wasn't this supposed to be "select HAVE_GENERIC_HARDIRQS"?
Crap, yes.
> > /me studying generic hardirqs...
>
> One could hope this was nicely documented in kernel/irq/Kconfig.
> But that file contains only 9 lines of comments for 10 config symbols.
>
> Maybe it is just me but I was struggeling understanding the purpose
> of these config symbols.
>
> I found the individual bits of genirq nicely documented in most cases.
> But the overall picture was/is hard to get.
>
> And I never got enough understanding to write up something myself :-(
Point taken. /me goes and adds comments :)
tglx
^ permalink raw reply [flat|nested] 61+ messages in thread
end of thread, other threads:[~2011-03-08 10:42 UTC | newest]
Thread overview: 61+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-19 21:47 [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Thomas Gleixner
2011-01-19 21:48 ` [patch 01/37] h8300: Convert to new irq_chip functions Thomas Gleixner
2011-01-19 21:48 ` [patch 02/37] h8300: Convert interrupt handling to flow handler Thomas Gleixner
2011-01-19 21:48 ` [patch 03/37] h8300: Use generic irq Kconfig Thomas Gleixner
2011-01-19 21:48 ` [patch 04/37] cris: Use irq handling wrapper Thomas Gleixner
2011-01-19 21:48 ` [patch 05/37] cris: Convert V10 interrupt handling Thomas Gleixner
2011-01-19 21:48 ` [patch 06/37] cris: Convert V32 " Thomas Gleixner
2011-01-19 21:48 ` [patch 07/37] cris: Use generic irq Kconfig Thomas Gleixner
2011-01-19 21:48 ` [patch 08/37] m32r: Cleanup direct irq_desc access Thomas Gleixner
2011-01-19 21:48 ` [patch 09/37] m32r: Convert m32104ut irq handling Thomas Gleixner
2011-01-19 21:48 ` [patch 10/37] m32r: Convert m32104ut irq chip Thomas Gleixner
2011-01-19 21:48 ` [patch 11/37] m32r: Convert m32700ut pld " Thomas Gleixner
2011-01-19 21:48 ` [patch 12/37] m32r: Convert m32700ut lanpld " Thomas Gleixner
2011-01-19 21:48 ` [patch 13/37] m32r: Convert m32700ut lcdpld " Thomas Gleixner
2011-01-19 21:48 ` [patch 14/37] m32r: Convert mappi irq chips Thomas Gleixner
2011-01-19 21:48 ` [patch 15/37] m32r: Convert mappi2 irq chip Thomas Gleixner
2011-01-19 21:49 ` [patch 16/37] m32r: Convert mappi3 " Thomas Gleixner
2011-01-19 21:49 ` [patch 17/37] m32r: Convert oaks32r irq chips Thomas Gleixner
2011-01-19 21:49 ` [patch 18/37] m32r: Convert opsput irq chip Thomas Gleixner
2011-01-19 21:49 ` [patch 19/37] m32r: Convert opsput pld " Thomas Gleixner
2011-01-19 21:49 ` [patch 20/37] m32r: Convert opsput lanpld " Thomas Gleixner
2011-01-19 21:49 ` [patch 21/37] m32r: Convert opsput_lcdpld " Thomas Gleixner
2011-01-19 21:49 ` [patch 22/37] m32r: Convert usrv platform irq handling Thomas Gleixner
2011-01-19 21:49 ` [patch 23/37] m32r: Convert to generic irq Kconfig Thomas Gleixner
2011-01-19 21:49 ` [patch 24/37] genirq: Remove __do_IRQ Thomas Gleixner
2011-01-19 21:49 ` [patch 25/37] alpha: Use generic irq Kconfig Thomas Gleixner
2011-01-19 21:49 ` [patch 26/37] blackfin: " Thomas Gleixner
2011-01-19 21:49 ` [patch 27/37] frv: " Thomas Gleixner
2011-01-19 21:49 ` [patch 28/37] ia64: " Thomas Gleixner
2011-01-19 22:36 ` Luck, Tony
2011-01-19 21:49 ` [patch 29/37] m68knommu: " Thomas Gleixner
2011-01-19 21:49 ` [patch 30/37] microblaze: " Thomas Gleixner
2011-01-20 7:15 ` Michal Simek
2011-01-19 21:49 ` [patch 31/37] mn10300: " Thomas Gleixner
2011-03-05 21:02 ` Geert Uytterhoeven
2011-03-05 22:01 ` Sam Ravnborg
2011-03-08 10:41 ` Thomas Gleixner
2011-01-19 21:49 ` [patch 32/37] parisc: " Thomas Gleixner
2011-01-19 22:05 ` James Bottomley
2011-01-19 22:16 ` Thomas Gleixner
2011-01-20 4:58 ` James Bottomley
2011-01-19 21:50 ` [patch 33/37] powerpc: " Thomas Gleixner
2011-01-19 21:50 ` [patch 34/37] score: " Thomas Gleixner
2011-01-20 3:00 ` liqin.chen
2011-01-19 21:50 ` [patch 35/37] sparc: " Thomas Gleixner
2011-01-19 21:52 ` David Miller
2011-01-19 21:50 ` [patch 36/37] tile: " Thomas Gleixner
2011-01-20 18:54 ` Chris Metcalf
2011-01-20 19:08 ` Sam Ravnborg
2011-01-20 19:11 ` Chris Metcalf
2011-01-21 10:27 ` Thomas Gleixner
2011-01-19 21:50 ` [patch 37/37] um: " Thomas Gleixner
2011-01-19 22:13 ` [patch 00/37] genirq: Remove __do_IRQ() and cleanup irq related Kconfigs Linus Torvalds
2011-01-19 22:17 ` Kyle McMartin
2011-01-19 22:18 ` Kyle McMartin
2011-01-19 22:22 ` Thomas Gleixner
2011-01-19 22:25 ` Thomas Gleixner
2011-01-19 23:18 ` [patch 31/37] mn10300: Use generic irq Kconfig David Howells
2011-01-19 23:18 ` [patch 27/37] frv: " David Howells
2011-01-19 23:19 ` [patch 24/37] genirq: Remove __do_IRQ David Howells
2011-01-21 7:37 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).