diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h index 76eedd547f5b..3735355d3c58 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 000000000000..16532ec7a4b1 --- /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