All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Ungerer <gerg@snapgear.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	linux-alpha@vger.kernel.org, linux-cris-kernel@axis.com,
	Haavard Skinnemoen <hskinnemoen@atmel.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Hirokazu Takata <takata@linux-m32r.org>,
	Greg Ungerer <gerg@uclinux.org>, Jeff Dike <jdike@addtoit.com>,
	linux-parisc@vger.kernel.org, Chris Zankel <chris@zankel.net>,
	linux-arch@vger.kernel.org
Subject: Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code
Date: Thu, 9 Sep 2010 17:21:35 +1000	[thread overview]
Message-ID: <4C888AFF.80304@snapgear.com> (raw)
In-Reply-To: <20100908152036.643594727@linutronix.de>

[-- Attachment #1: Type: text/plain, Size: 1389 bytes --]

Thomas Gleixner wrote:
> __do_IRQ() has been deprecated after a two years migration phase in
> commit 0e57aa1. Since then another 18 month have gone by.
> 
> So here's the status three and a half years after the flow based
> infrastructure was merged:
> 
>  The following architectures are fully converted to the new flow
>  handler code:
> 
>   arm, avr32, blackfin, frv, microblaze, mips, mn10300, powerpc, score, sh,
>   sparc 64bit, tile, x86, xtensa
> 
>   (avr32 and xtensa should set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
>   though)
> 
>  The following architectures are not using the generic interrupt
>  infrastructure at all and are therefor unaffected:
> 
>   s390, m68k, sparc 32bit
> 
>  The following architectures are still using __do_IRQ():
> 
>   alpha, cris, ia64, h8300, m32r, m68knommu, parisc, um

The m68knommu arch should be easy to fix up. Here is a first pass
patch. Tested and working on 1 board so far. I need to check all
the processor types, and test a few more to be sure :-)

Regards
Greg


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com

[-- Attachment #2: m68knommu-stop-using-__do_IRQ.patch --]
[-- Type: text/x-patch, Size: 3531 bytes --]

m68knommu: stop using __do_IRQ

The use of __do_IRQ is deprecated, so lets stop using it.
Generally the interrupts on the supported processors here are
level triggered, so this is strait forward to switch over to
using the standard handle_level_irq flow handler.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68knommu/Kconfig                       |    4 ++++
 arch/m68knommu/platform/5272/intc.c          |    1 +
 arch/m68knommu/platform/68328/ints.c         |    1 +
 arch/m68knommu/platform/68360/ints.c         |    1 +
 arch/m68knommu/platform/coldfire/intc-2.c    |    1 +
 arch/m68knommu/platform/coldfire/intc-simr.c |    1 +
 arch/m68knommu/platform/coldfire/intc.c      |    1 +
 7 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 2609c39..fd28178 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -59,6 +59,10 @@ config GENERIC_HARDIRQS
 	bool
 	default y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+	bool
+	default y
+
 config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
diff --git a/arch/m68knommu/platform/5272/intc.c b/arch/m68knommu/platform/5272/intc.c
index 7081e0a..e9da6f1 100644
--- a/arch/m68knommu/platform/5272/intc.c
+++ b/arch/m68knommu/platform/5272/intc.c
@@ -133,6 +133,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/68328/ints.c b/arch/m68knommu/platform/68328/ints.c
index b91ee85..90516ee 100644
--- a/arch/m68knommu/platform/68328/ints.c
+++ b/arch/m68knommu/platform/68328/ints.c
@@ -183,6 +183,7 @@ void __init init_IRQ(void)
 		irq_desc[i].action = NULL;
 		irq_desc[i].depth = 1;
 		irq_desc[i].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/68360/ints.c b/arch/m68knommu/platform/68360/ints.c
index 6f22970..cdf691e 100644
--- a/arch/m68knommu/platform/68360/ints.c
+++ b/arch/m68knommu/platform/68360/ints.c
@@ -136,6 +136,7 @@ void init_IRQ(void)
 		irq_desc[i].action = NULL;
 		irq_desc[i].depth = 1;
 		irq_desc[i].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc-2.c b/arch/m68knommu/platform/coldfire/intc-2.c
index 5598c8b..6410f7e 100644
--- a/arch/m68knommu/platform/coldfire/intc-2.c
+++ b/arch/m68knommu/platform/coldfire/intc-2.c
@@ -88,6 +88,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].action = NULL;
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc-simr.c b/arch/m68knommu/platform/coldfire/intc-simr.c
index 1b01e79..7f4abb3 100644
--- a/arch/m68knommu/platform/coldfire/intc-simr.c
+++ b/arch/m68knommu/platform/coldfire/intc-simr.c
@@ -73,6 +73,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc.c b/arch/m68knommu/platform/coldfire/intc.c
index a4560c8..40b9e8d 100644
--- a/arch/m68knommu/platform/coldfire/intc.c
+++ b/arch/m68knommu/platform/coldfire/intc.c
@@ -148,6 +148,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 

WARNING: multiple messages have this Message-ID (diff)
From: Greg Ungerer <gerg@snapgear.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	Christoph Hellwig <hch@infradead.org>,
	linux-alpha@vger.kernel.org, linux-cris-kernel@axis.com,
	Haavard Skinnemoen <hskinnemoen@atmel.com>,
	Tony Luck <tony.luck@intel.com>,
	linux-ia64@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Hirokazu Takata <takata@linux-m32r.org>,
	Greg Ungerer <gerg@uclinux.org>, Jeff Dike <jdike@addtoit.com>,
	linux-parisc@vger.kernel.org, Chris Zankel <chris@zankel.net>,
	linux-arch@vger.kernel.org
Subject: Re: [RFC trollpatch 1/1] genirq: Remove the fits all and nothing
Date: Thu, 09 Sep 2010 07:21:35 +0000	[thread overview]
Message-ID: <4C888AFF.80304@snapgear.com> (raw)
In-Reply-To: <20100908152036.643594727@linutronix.de>

[-- Attachment #1: Type: text/plain, Size: 1389 bytes --]

Thomas Gleixner wrote:
> __do_IRQ() has been deprecated after a two years migration phase in
> commit 0e57aa1. Since then another 18 month have gone by.
> 
> So here's the status three and a half years after the flow based
> infrastructure was merged:
> 
>  The following architectures are fully converted to the new flow
>  handler code:
> 
>   arm, avr32, blackfin, frv, microblaze, mips, mn10300, powerpc, score, sh,
>   sparc 64bit, tile, x86, xtensa
> 
>   (avr32 and xtensa should set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
>   though)
> 
>  The following architectures are not using the generic interrupt
>  infrastructure at all and are therefor unaffected:
> 
>   s390, m68k, sparc 32bit
> 
>  The following architectures are still using __do_IRQ():
> 
>   alpha, cris, ia64, h8300, m32r, m68knommu, parisc, um

The m68knommu arch should be easy to fix up. Here is a first pass
patch. Tested and working on 1 board so far. I need to check all
the processor types, and test a few more to be sure :-)

Regards
Greg


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com

[-- Attachment #2: m68knommu-stop-using-__do_IRQ.patch --]
[-- Type: text/x-patch, Size: 3531 bytes --]

m68knommu: stop using __do_IRQ

The use of __do_IRQ is deprecated, so lets stop using it.
Generally the interrupts on the supported processors here are
level triggered, so this is strait forward to switch over to
using the standard handle_level_irq flow handler.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
---
 arch/m68knommu/Kconfig                       |    4 ++++
 arch/m68knommu/platform/5272/intc.c          |    1 +
 arch/m68knommu/platform/68328/ints.c         |    1 +
 arch/m68knommu/platform/68360/ints.c         |    1 +
 arch/m68knommu/platform/coldfire/intc-2.c    |    1 +
 arch/m68knommu/platform/coldfire/intc-simr.c |    1 +
 arch/m68knommu/platform/coldfire/intc.c      |    1 +
 7 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index 2609c39..fd28178 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -59,6 +59,10 @@ config GENERIC_HARDIRQS
 	bool
 	default y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+	bool
+	default y
+
 config GENERIC_CALIBRATE_DELAY
 	bool
 	default y
diff --git a/arch/m68knommu/platform/5272/intc.c b/arch/m68knommu/platform/5272/intc.c
index 7081e0a..e9da6f1 100644
--- a/arch/m68knommu/platform/5272/intc.c
+++ b/arch/m68knommu/platform/5272/intc.c
@@ -133,6 +133,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/68328/ints.c b/arch/m68knommu/platform/68328/ints.c
index b91ee85..90516ee 100644
--- a/arch/m68knommu/platform/68328/ints.c
+++ b/arch/m68knommu/platform/68328/ints.c
@@ -183,6 +183,7 @@ void __init init_IRQ(void)
 		irq_desc[i].action = NULL;
 		irq_desc[i].depth = 1;
 		irq_desc[i].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/68360/ints.c b/arch/m68knommu/platform/68360/ints.c
index 6f22970..cdf691e 100644
--- a/arch/m68knommu/platform/68360/ints.c
+++ b/arch/m68knommu/platform/68360/ints.c
@@ -136,6 +136,7 @@ void init_IRQ(void)
 		irq_desc[i].action = NULL;
 		irq_desc[i].depth = 1;
 		irq_desc[i].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc-2.c b/arch/m68knommu/platform/coldfire/intc-2.c
index 5598c8b..6410f7e 100644
--- a/arch/m68knommu/platform/coldfire/intc-2.c
+++ b/arch/m68knommu/platform/coldfire/intc-2.c
@@ -88,6 +88,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].action = NULL;
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc-simr.c b/arch/m68knommu/platform/coldfire/intc-simr.c
index 1b01e79..7f4abb3 100644
--- a/arch/m68knommu/platform/coldfire/intc-simr.c
+++ b/arch/m68knommu/platform/coldfire/intc-simr.c
@@ -73,6 +73,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 
diff --git a/arch/m68knommu/platform/coldfire/intc.c b/arch/m68knommu/platform/coldfire/intc.c
index a4560c8..40b9e8d 100644
--- a/arch/m68knommu/platform/coldfire/intc.c
+++ b/arch/m68knommu/platform/coldfire/intc.c
@@ -148,6 +148,7 @@ void __init init_IRQ(void)
 		irq_desc[irq].depth = 1;
 		irq_desc[irq].chip = &intc_irq_chip;
 		intc_irq_set_type(irq, 0);
+		set_irq_handler(irq, handle_level_irq);
 	}
 }
 

  parent reply	other threads:[~2010-09-09  7:21 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08 18:14 [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 18:14 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 18:14 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 18:51 ` James Bottomley
2010-09-08 18:51   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing James Bottomley
2010-09-08 19:34   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 19:34     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 20:35     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code James Bottomley
2010-09-08 20:35       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing James Bottomley
2010-09-08 21:35       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-08 21:35         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-08 20:28   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mike Frysinger
2010-09-08 20:28     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Mike Frysinger
2010-09-08 20:28     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mike Frysinger
2010-09-08 20:28     ` Mike Frysinger
2010-09-08 18:58 ` Kyle McMartin
2010-09-08 18:58   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-08 20:36   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-08 20:36     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-09  7:10 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mikael Starvik
2010-09-09  7:10   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Mikael Starvik
2010-09-09  7:10   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Mikael Starvik
2010-09-09  7:10   ` Mikael Starvik
2010-09-09  7:10   ` Mikael Starvik
2010-09-09 13:44   ` Dialup Jon Norstog
2010-09-09 13:44     ` Dialup Jon Norstog
2010-09-09  7:21 ` Greg Ungerer [this message]
2010-09-09  7:21   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Greg Ungerer
2010-09-09 14:09   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-09 14:09     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-09 23:17     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Greg Ungerer
2010-09-09 23:17       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Greg Ungerer
2010-09-27 17:36 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Tony Luck
2010-09-27 17:36   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Tony Luck
2010-09-27 17:36   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Tony Luck
2010-09-27 18:01   ` Thomas Gleixner
2010-09-27 18:01     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-27 18:39     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-27 18:39       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-27 18:49       ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Thomas Gleixner
2010-09-27 18:49         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-27 19:01         ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-27 19:01           ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-29  0:46           ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-29  0:46             ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-29  4:55             ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Luck, Tony
2010-09-29  4:55               ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Luck, Tony
2010-09-29 14:38               ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-29 14:38                 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-27 19:48 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code richard -rw- weinberger
2010-09-27 19:48   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing richard -rw- weinberger
2010-09-27 19:48   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code richard -rw- weinberger
2010-09-27 19:48   ` richard -rw- weinberger
2010-09-27 19:54   ` Thomas Gleixner
2010-09-27 19:54     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Thomas Gleixner
2010-09-30  1:26 ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-30  1:26   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin
2010-09-30  2:41   ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing __do_IRQ() code Kyle McMartin
2010-09-30  2:41     ` [RFC trollpatch 1/1] genirq: Remove the fits all and nothing Kyle McMartin

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=4C888AFF.80304@snapgear.com \
    --to=gerg@snapgear.com \
    --cc=akpm@linux-foundation.org \
    --cc=chris@zankel.net \
    --cc=gerg@uclinux.org \
    --cc=hch@infradead.org \
    --cc=hskinnemoen@atmel.com \
    --cc=jdike@addtoit.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-cris-kernel@axis.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=takata@linux-m32r.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

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

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