From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Ungerer 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 Message-ID: <4C888AFF.80304@snapgear.com> References: <20100908152036.643594727@linutronix.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010606090302060609020406" Return-path: Received: from dalsmrelay2.nai.com ([205.227.136.216]:28437 "HELO dalsmrelay2.nai.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1750870Ab0IIHXi (ORCPT ); Thu, 9 Sep 2010 03:23:38 -0400 In-Reply-To: <20100908152036.643594727@linutronix.de> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Thomas Gleixner Cc: LKML , Linus Torvalds , Andrew Morton , Ingo Molnar , Peter Zijlstra , Christoph Hellwig , linux-alpha@vger.kernel.org, linux-cris-kernel@axis.com, Haavard Skinnemoen , Tony Luck , linux-ia64@vger.kernel.org, Yoshinori Sato , Hirokazu Takata , Greg Ungerer , Jeff Dike , linux-parisc@vger.kernel.org, Chris Zankel , linux-arch@vger.kernel.org --------------010606090302060609020406 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit 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 --------------010606090302060609020406 Content-Type: text/x-patch; name="m68knommu-stop-using-__do_IRQ.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="m68knommu-stop-using-__do_IRQ.patch" 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 --- 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); } } --------------010606090302060609020406--