Hi Kyle, Kyle McMartin wrote:
On Thu, Sep 09, 2010 at 05:21:35PM +1000, Greg Ungerer wrote: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 :-)Dunno if you noticed, Greg, but you've already had a removal patch submitted some time ago...
I had forgotten about that patch... But if you follow the email trail I had to drop it soon after, it caused user space to lock up. I let Steven know (in that same thread) but he never came back with any fixes/updates. (That patch also added support for edge triggered GPIO interrupts, and that may well have been the source of the problems). Thanks Greg
Date: Wed, 16 Dec 2009 19:15:39 -0800 From: Steven King <sfking@xxxxxxxxx> To: Greg Ungerer <gerg@xxxxxxxxxxxx> Subject: [PATCH] m68knommu: get rid of __do_IRQ and add support for using gpio irqs.(noticed this while searching for __do_IRQ related stuff in my email last night.) regards, KyleRegards Greg -- ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@xxxxxxxxxxxx SnapGear Group, McAfee PHONE: +61 7 3435 2888 8 Gardner Close FAX: +61 7 3217 5323 Milton, QLD, 4064, Australia WEB: http://www.SnapGear.comm68knommu: 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@xxxxxxxxxxx> --- 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.cindex 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.cindex 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.cindex 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.cindex 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.cindex 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); } }
-- ------------------------------------------------------------------------ Greg Ungerer -- Principal Engineer EMAIL: gerg@xxxxxxxxxxxx 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 -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html