فهرست منبع

IRQ: Typedef the IRQ handler function type

Typedef the IRQ handler function type.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1356d1e5fd256997e3d3dce0777ab787d0515c7a commit)
David Howells 18 سال پیش
والد
کامیت
da482792a6
2فایلهای تغییر یافته به همراه5 افزوده شده و 6 حذف شده
  1. 4 3
      include/linux/interrupt.h
  2. 1 3
      kernel/irq/manage.c

+ 4 - 3
include/linux/interrupt.h

@@ -64,8 +64,10 @@
 #define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
 #define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
 #define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
 #define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
 
 
+typedef irqreturn_t (*irq_handler_t)(int, void *, struct pt_regs *);
+
 struct irqaction {
 struct irqaction {
-	irqreturn_t (*handler)(int, void *, struct pt_regs *);
+	irq_handler_t handler;
 	unsigned long flags;
 	unsigned long flags;
 	cpumask_t mask;
 	cpumask_t mask;
 	const char *name;
 	const char *name;
@@ -76,8 +78,7 @@ struct irqaction {
 };
 };
 
 
 extern irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs);
 extern irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs);
-extern int request_irq(unsigned int,
-		       irqreturn_t (*handler)(int, void *, struct pt_regs *),
+extern int request_irq(unsigned int, irq_handler_t handler,
 		       unsigned long, const char *, void *);
 		       unsigned long, const char *, void *);
 extern void free_irq(unsigned int, void *);
 extern void free_irq(unsigned int, void *);
 
 

+ 1 - 3
kernel/irq/manage.c

@@ -427,8 +427,7 @@ EXPORT_SYMBOL(free_irq);
  *	IRQF_SAMPLE_RANDOM	The interrupt can be used for entropy
  *	IRQF_SAMPLE_RANDOM	The interrupt can be used for entropy
  *
  *
  */
  */
-int request_irq(unsigned int irq,
-		irqreturn_t (*handler)(int, void *, struct pt_regs *),
+int request_irq(unsigned int irq, irq_handler_t handler,
 		unsigned long irqflags, const char *devname, void *dev_id)
 		unsigned long irqflags, const char *devname, void *dev_id)
 {
 {
 	struct irqaction *action;
 	struct irqaction *action;
@@ -475,4 +474,3 @@ int request_irq(unsigned int irq,
 	return retval;
 	return retval;
 }
 }
 EXPORT_SYMBOL(request_irq);
 EXPORT_SYMBOL(request_irq);
-