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...
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, Kyle
Regards
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.com
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@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.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);
}
}