aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/comedi
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2008-11-14 14:37:37 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2009-01-06 13:52:18 -0800
commit94ab11c22727acb4cefad6f7d0953e23eda06dad (patch)
tree7507ef62f7d92ba0ddedc83f896f2b4b71606ff7 /drivers/staging/comedi
parent74b847f4d07bce1eaf84505d65aff42f14e5fb2f (diff)
Staging: comedi: add pci and usb wrapper header files
This are used by usb and pci comedi drivers to handle the different kernel versions. They will be eventually removed, but are needed now to be able to add comedi drivers to the tree. 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>
Diffstat (limited to 'drivers/staging/comedi')
-rw-r--r--drivers/staging/comedi/pci.h31
-rw-r--r--drivers/staging/comedi/pci_ids.h31
-rw-r--r--drivers/staging/comedi/usb.h75
3 files changed, 137 insertions, 0 deletions
diff --git a/drivers/staging/comedi/pci.h b/drivers/staging/comedi/pci.h
new file mode 100644
index 00000000000..962e4348ac2
--- /dev/null
+++ b/drivers/staging/comedi/pci.h
@@ -0,0 +1,31 @@
+/*
+ * linux/pci.h compatibility header
+ */
+
+#ifndef _COMPAT_PCI_H
+#define _COMPAT_PCI_H
+
+#include <linux/version.h>
+
+#include <linux/pci.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+#define pci_get_device pci_find_device
+#define pci_get_subsys pci_find_subsys
+#define pci_dev_get(x) (x)
+#define pci_dev_put(x)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,22)
+static inline char *pci_name(struct pci_dev *pdev)
+{
+ return pdev->slot_name;
+}
+#endif
+
+#ifndef DEFINE_PCI_DEVICE_TABLE
+#define DEFINE_PCI_DEVICE_TABLE(_table) \
+ struct pci_device_id _table[]
+#endif
+
+#endif /* _COMPAT_PCI_H */
diff --git a/drivers/staging/comedi/pci_ids.h b/drivers/staging/comedi/pci_ids.h
new file mode 100644
index 00000000000..c61ba90f960
--- /dev/null
+++ b/drivers/staging/comedi/pci_ids.h
@@ -0,0 +1,31 @@
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef __COMPAT_LINUX_PCI_IDS_H
+#define __COMPAT_LINUX_PCI_IDS_H
+
+#include <linux/pci_ids.h>
+
+#ifndef PCI_VENDOR_ID_AMCC
+#define PCI_VENDOR_ID_AMCC 0x10e8
+#endif
+
+#ifndef PCI_VENDOR_ID_CBOARDS
+#define PCI_VENDOR_ID_CBOARDS 0x1307
+#endif
+
+#ifndef PCI_VENDOR_ID_QUANCOM
+#define PCI_VENDOR_ID_QUANCOM 0x8008
+#endif
+
+#ifndef PCI_DEVICE_ID_QUANCOM_GPIB
+#define PCI_DEVICE_ID_QUANCOM_GPIB 0x3302
+#endif
+
+#endif // __COMPAT_LINUX_PCI_IDS_H
diff --git a/drivers/staging/comedi/usb.h b/drivers/staging/comedi/usb.h
new file mode 100644
index 00000000000..40ad651d86c
--- /dev/null
+++ b/drivers/staging/comedi/usb.h
@@ -0,0 +1,75 @@
+/*
+
+ linux/usb.h compatibility header
+
+ Copyright (C) 2003 Bernd Porr, Bernd.Porr@cn.stir.ac.uk
+
+ 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_USB_H_
+#define __COMPAT_LINUX_USB_H_
+
+#include <linux/version.h>
+#include <linux/time.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+#include <linux/kernel.h>
+
+#define USB_ALLOC_URB(x) usb_alloc_urb(x)
+#define USB_SUBMIT_URB(x) usb_submit_urb(x)
+#define URB_ISO_ASAP USB_ISO_ASAP
+#define PROBE_ERR_RETURN(x) NULL
+#define usb_get_dev(x) (x)
+#define usb_put_dev(x)
+#define interface_to_usbdev(intf) NULL
+#else
+#define USB_ALLOC_URB(x) usb_alloc_urb(x,GFP_KERNEL)
+#define USB_SUBMIT_URB(x) usb_submit_urb(x,GFP_ATOMIC)
+#define PROBE_ERR_RETURN(x) (x)
+#endif
+
+#include <linux/usb.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12)
+static inline int USB_CONTROL_MSG(struct usb_device *dev, unsigned int pipe,
+ __u8 request, __u8 requesttype, __u16 value, __u16 index,
+ void *data, __u16 size, int millisec_timeout)
+{
+ return usb_control_msg(dev, pipe, request, requesttype, value, index,
+ data, size, msecs_to_jiffies(millisec_timeout));
+}
+static inline int USB_BULK_MSG(struct usb_device *usb_dev, unsigned int pipe,
+ void *data, int len, int *actual_length, int millisec_timeout)
+{
+ return usb_bulk_msg(usb_dev, pipe, data, len, actual_length,
+ msecs_to_jiffies(millisec_timeout));
+}
+#else
+#define USB_CONTROL_MSG usb_control_msg
+#define USB_BULK_MSG usb_bulk_msg
+#endif
+
+/*
+ * Determine whether we need the "owner" member of struct usb_driver and
+ * define COMEDI_HAVE_USB_DRIVER_OWNER if we need it.
+ */
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,19) \
+ && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16)
+#define COMEDI_HAVE_USB_DRIVER_OWNER
+#endif
+
+#endif