From: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]>, Chris Wedgwood
<[EMAIL PROTECTED]>
CC: Ingo Molnar <[EMAIL PROTECTED]>
As suggested by Chris, we can make the "just added" method ->release
conditional to UML only (better: to archs requesting it, i.e. only UML
currently), so that other archs don't get this unneeded crud, and if UML won't
need it any more we can kill this.
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]>
---
linux-2.6.git-paolo/arch/um/Kconfig | 5 +++++
linux-2.6.git-paolo/include/linux/irq.h | 3 +++
linux-2.6.git-paolo/kernel/irq/manage.c | 4 ++++
3 files changed, 12 insertions(+)
diff -puN arch/um/Kconfig~uml-gen-irq-conditionalize arch/um/Kconfig
--- linux-2.6.git/arch/um/Kconfig~uml-gen-irq-conditionalize 2005-06-07
02:25:25.000000000 +0200
+++ linux-2.6.git-paolo/arch/um/Kconfig 2005-06-07 02:25:25.000000000 +0200
@@ -35,6 +35,11 @@ config GENERIC_CALIBRATE_DELAY
bool
default y
+# Used in kernel/irq/manage.c and include/linux/irq.h
+config IRQ_RELEASE_METHOD
+ bool
+ default y
+
menu "UML-specific options"
config MODE_TT
diff -puN kernel/irq/manage.c~uml-gen-irq-conditionalize kernel/irq/manage.c
--- linux-2.6.git/kernel/irq/manage.c~uml-gen-irq-conditionalize
2005-06-07 02:25:25.000000000 +0200
+++ linux-2.6.git-paolo/kernel/irq/manage.c 2005-06-07 02:25:25.000000000
+0200
@@ -6,6 +6,7 @@
* This file contains driver APIs to the irq subsystem.
*/
+#include <linux/config.h>
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/random.h>
@@ -256,8 +257,11 @@ void free_irq(unsigned int irq, void *de
/* Found it - now remove it from the list of entries */
*pp = action->next;
+ /* Currently used only by UML, might disappear one
day.*/
+#ifdef CONFIG_IRQ_RELEASE_METHOD
if (desc->handler->release)
desc->handler->release(irq, dev_id);
+#endif
if (!desc->action) {
desc->status |= IRQ_DISABLED;
diff -puN include/linux/irq.h~uml-gen-irq-conditionalize include/linux/irq.h
--- linux-2.6.git/include/linux/irq.h~uml-gen-irq-conditionalize
2005-06-07 02:25:25.000000000 +0200
+++ linux-2.6.git-paolo/include/linux/irq.h 2005-06-07 02:25:25.000000000
+0200
@@ -47,7 +47,10 @@ struct hw_interrupt_type {
void (*ack)(unsigned int irq);
void (*end)(unsigned int irq);
void (*set_affinity)(unsigned int irq, cpumask_t dest);
+ /* Currently used only by UML, might disappear one day.*/
+#ifdef CONFIG_IRQ_RELEASE_METHOD
void (*release)(unsigned int irq, void *dev_id);
+#endif
};
typedef struct hw_interrupt_type hw_irq_controller;
_
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel