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 <ds@schleef.org>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
David Schleef 2008-11-14 14:20:56 -08:00 committed by Greg Kroah-Hartman
parent 84c9dc212a
commit 74b847f4d0
2 changed files with 68 additions and 1 deletions

View file

@ -37,7 +37,7 @@
#include <linux/init.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include "interrupt.h"
#include <linux/dma-mapping.h>
#include <linux/uaccess.h>
#include <linux/io.h>

View file

@ -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 <linux/interrupt.h>
#include <linux/version.h>
#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