From 74b847f4d07bce1eaf84505d65aff42f14e5fb2f Mon Sep 17 00:00:00 2001 From: David Schleef Date: Fri, 14 Nov 2008 14:20:56 -0800 Subject: [PATCH] Staging: comedi: add local copy of interrupt.h This is needed for some internal comedi driver macros that were built up over the years to handle multiple kernel versions. It will be removed eventually. From: David Schleef Cc: Frank Mori Hess Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/comedidev.h | 2 +- drivers/staging/comedi/interrupt.h | 67 ++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 drivers/staging/comedi/interrupt.h diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h index 76eedd547f5..3735355d3c5 100644 --- a/drivers/staging/comedi/comedidev.h +++ b/drivers/staging/comedi/comedidev.h @@ -37,7 +37,7 @@ #include #include #include -#include +#include "interrupt.h" #include #include #include diff --git a/drivers/staging/comedi/interrupt.h b/drivers/staging/comedi/interrupt.h new file mode 100644 index 00000000000..16532ec7a4b --- /dev/null +++ b/drivers/staging/comedi/interrupt.h @@ -0,0 +1,67 @@ +/* + linux/interrupt.h compatibility header + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __COMPAT_LINUX_INTERRUPT_H_ +#define __COMPAT_LINUX_INTERRUPT_H_ + +#include + +#include + +#ifndef IRQ_NONE +typedef void irqreturn_t; +#define IRQ_NONE +#define IRQ_HANDLED +#define IRQ_RETVAL(x) (void)(x) +#endif + +#ifndef IRQF_DISABLED +#define IRQF_DISABLED SA_INTERRUPT +#define IRQF_SAMPLE_RANDOM SA_SAMPLE_RANDOM +#define IRQF_SHARED SA_SHIRQ +#define IRQF_PROBE_SHARED SA_PROBEIRQ +#define IRQF_PERCPU SA_PERCPU +#ifdef SA_TRIGGER_MASK +#define IRQF_TRIGGER_NONE 0 +#define IRQF_TRIGGER_LOW SA_TRIGGER_LOW +#define IRQF_TRIGGER_HIGH SA_TRIGGER_HIGH +#define IRQF_TRIGGER_FALLING SA_TRIGGER_FALLING +#define IRQF_TRIGGER_RISING SA_TRIGGER_RISING +#define IRQF_TRIGGER_MASK SA_TRIGGER_MASK +#else +#define IRQF_TRIGGER_NONE 0 +#define IRQF_TRIGGER_LOW 0 +#define IRQF_TRIGGER_HIGH 0 +#define IRQF_TRIGGER_FALLING 0 +#define IRQF_TRIGGER_RISING 0 +#define IRQF_TRIGGER_MASK 0 +#endif +#endif + +/* if interrupt handler prototype has pt_regs* parameter */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) +#define PT_REGS_ARG , struct pt_regs *regs +#define PT_REGS_CALL , regs +#define PT_REGS_NULL , NULL +#else +#define PT_REGS_ARG +#define PT_REGS_CALL +#define PT_REGS_NULL +#endif + +#endif -- 2.39.5