diff options
64 files changed, 340 insertions, 161 deletions
diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig index e0aa246d9948..9cc16b596e42 100644 --- a/drivers/staging/comedi/Kconfig +++ b/drivers/staging/comedi/Kconfig @@ -542,11 +542,7 @@ menuconfig COMEDI_PCI_DRIVERS bool "Comedi PCI drivers" depends on PCI ---help--- - Enable comedi PCI drivers to be built - - Note that the answer to this question won't directly affect the - kernel: saying N will just cause the configurator to skip all - the questions about PCI comedi drivers. + Enable support for comedi PCI drivers. if COMEDI_PCI_DRIVERS diff --git a/drivers/staging/comedi/Makefile b/drivers/staging/comedi/Makefile index 872a87b9642e..5372cb1adb5c 100644 --- a/drivers/staging/comedi/Makefile +++ b/drivers/staging/comedi/Makefile @@ -1,5 +1,6 @@ comedi-y := comedi_fops.o range.o drivers.o \ comedi_buf.o +comedi-$(CONFIG_COMEDI_PCI_DRIVERS) += comedi_pci.o comedi-$(CONFIG_COMEDI_USB_DRIVERS) += comedi_usb.o comedi-$(CONFIG_PROC_FS) += proc.o comedi-$(CONFIG_COMPAT) += comedi_compat32.o diff --git a/drivers/staging/comedi/comedi_pci.c b/drivers/staging/comedi/comedi_pci.c new file mode 100644 index 000000000000..37d2e4677360 --- /dev/null +++ b/drivers/staging/comedi/comedi_pci.c @@ -0,0 +1,140 @@ +/* + * comedi_pci.c + * Comedi PCI driver specific functions. + * + * COMEDI - Linux Control and Measurement Device Interface + * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org> + * + * 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. + */ + +#include <linux/pci.h> + +#include "comedidev.h" + +/** + * comedi_to_pci_dev() - comedi_device pointer to pci_dev pointer. + * @dev: comedi_device struct + */ +struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev) +{ + return dev->hw_dev ? to_pci_dev(dev->hw_dev) : NULL; +} +EXPORT_SYMBOL_GPL(comedi_to_pci_dev); + +/** + * comedi_pci_enable() - Enable the PCI device and request the regions. + * @pcidev: pci_dev struct + * @res_name: name for the requested reqource + */ +int comedi_pci_enable(struct pci_dev *pcidev, const char *res_name) +{ + int rc; + + rc = pci_enable_device(pcidev); + if (rc < 0) + return rc; + + rc = pci_request_regions(pcidev, res_name); + if (rc < 0) + pci_disable_device(pcidev); + + return rc; +} +EXPORT_SYMBOL_GPL(comedi_pci_enable); + +/** + * comedi_pci_disable() - Release the regions and disable the PCI device. + * @pcidev: pci_dev struct + * + * This must be matched with a previous successful call to comedi_pci_enable(). + */ +void comedi_pci_disable(struct pci_dev *pcidev) +{ + pci_release_regions(pcidev); + pci_disable_device(pcidev); +} +EXPORT_SYMBOL_GPL(comedi_pci_disable); + +/** + * comedi_pci_auto_config() - Configure/probe a comedi PCI driver. + * @pcidev: pci_dev struct + * @driver: comedi_driver struct + * + * Typically called from the pci_driver (*probe) function. + */ +int comedi_pci_auto_config(struct pci_dev *pcidev, + struct comedi_driver *driver) +{ + return comedi_auto_config(&pcidev->dev, driver, 0); +} +EXPORT_SYMBOL_GPL(comedi_pci_auto_config); + +/** + * comedi_pci_auto_unconfig() - Unconfigure/remove a comedi PCI driver. + * @pcidev: pci_dev struct + * + * Typically called from the pci_driver (*remove) function. + */ +void comedi_pci_auto_unconfig(struct pci_dev *pcidev) +{ + comedi_auto_unconfig(&pcidev->dev); +} +EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig); + +/** + * comedi_pci_driver_register() - Register a comedi PCI driver. + * @comedi_driver: comedi_driver struct + * @pci_driver: pci_driver struct + * + * This function is used for the module_init() of comedi PCI drivers. + * Do not call it directly, use the module_comedi_pci_driver() helper + * macro instead. + */ +int comedi_pci_driver_register(struct comedi_driver *comedi_driver, + struct pci_driver *pci_driver) +{ + int ret; + + ret = comedi_driver_register(comedi_driver); + if (ret < 0) + return ret; + + ret = pci_register_driver(pci_driver); + if (ret < 0) { + comedi_driver_unregister(comedi_driver); + return ret; + } + + return 0; +} +EXPORT_SYMBOL_GPL(comedi_pci_driver_register); + +/** + * comedi_pci_driver_unregister() - Unregister a comedi PCI driver. + * @comedi_driver: comedi_driver struct + * @pci_driver: pci_driver struct + * + * This function is used for the module_exit() of comedi PCI drivers. + * Do not call it directly, use the module_comedi_pci_driver() helper + * macro instead. + */ +void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver, + struct pci_driver *pci_driver) +{ + pci_unregister_driver(pci_driver); + comedi_driver_unregister(comedi_driver); +} +EXPORT_SYMBOL_GPL(comedi_pci_driver_unregister); diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h index 4fe29d5458d4..666caded363b 100644 --- a/drivers/staging/comedi/comedidev.h +++ b/drivers/staging/comedi/comedidev.h @@ -40,7 +40,6 @@ #include <linux/uaccess.h> #include <linux/io.h> #include <linux/timer.h> -#include <linux/pci.h> #include "comedi.h" @@ -54,22 +53,6 @@ COMEDI_MINORVERSION, COMEDI_MICROVERSION) #define COMEDI_RELEASE VERSION -/* - * PCI Vendor IDs not in <linux/pci_ids.h> - */ -#define PCI_VENDOR_ID_KOLTER 0x1001 -#define PCI_VENDOR_ID_ICP 0x104c -#define PCI_VENDOR_ID_AMCC 0x10e8 -#define PCI_VENDOR_ID_DT 0x1116 -#define PCI_VENDOR_ID_IOTECH 0x1616 -#define PCI_VENDOR_ID_CONTEC 0x1221 -#define PCI_VENDOR_ID_CB 0x1307 /* Measurement Computing */ -#define PCI_VENDOR_ID_ADVANTECH 0x13fe -#define PCI_VENDOR_ID_MEILHAUS 0x1402 -#define PCI_VENDOR_ID_RTD 0x1435 -#define PCI_VENDOR_ID_ADLINK 0x144a -#define PCI_VENDOR_ID_AMPLICON 0x14dc - #define COMEDI_NUM_MINORS 0x100 #define COMEDI_NUM_BOARD_MINORS 0x30 #define COMEDI_FIRST_SUBDEVICE_MINOR COMEDI_NUM_BOARD_MINORS @@ -295,26 +278,6 @@ int comedi_driver_unregister(struct comedi_driver *); module_driver(__comedi_driver, comedi_driver_register, \ comedi_driver_unregister) -int comedi_pci_enable(struct pci_dev *, const char *); -void comedi_pci_disable(struct pci_dev *); - -int comedi_pci_driver_register(struct comedi_driver *, struct pci_driver *); -void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *); - -/** - * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver - * @__comedi_driver: comedi_driver struct - * @__pci_driver: pci_driver struct - * - * Helper macro for comedi PCI drivers which do not do anything special - * in module init/exit. This eliminates a lot of boilerplate. Each - * module may only use this macro once, and calling it replaces - * module_init() and module_exit() - */ -#define module_comedi_pci_driver(__comedi_driver, __pci_driver) \ - module_driver(__comedi_driver, comedi_pci_driver_register, \ - comedi_pci_driver_unregister, &(__pci_driver)) - struct pcmcia_driver; int comedi_pcmcia_driver_register(struct comedi_driver *, @@ -424,11 +387,6 @@ static inline void comedi_set_hw_dev(struct comedi_device *dev, put_device(old_hw_dev); } -static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev) -{ - return dev->hw_dev ? to_pci_dev(dev->hw_dev) : NULL; -} - unsigned int comedi_buf_write_alloc(struct comedi_async *, unsigned int); unsigned int comedi_buf_write_free(struct comedi_async *, unsigned int); @@ -451,13 +409,77 @@ int comedi_auto_config(struct device *hardware_device, struct comedi_driver *driver, unsigned long context); void comedi_auto_unconfig(struct device *hardware_device); -static inline int comedi_pci_auto_config(struct pci_dev *pcidev, - struct comedi_driver *driver) +#ifdef CONFIG_COMEDI_PCI_DRIVERS + +/* comedi_pci.c - comedi PCI driver specific functions */ + +/* + * PCI Vendor IDs not in <linux/pci_ids.h> + */ +#define PCI_VENDOR_ID_KOLTER 0x1001 +#define PCI_VENDOR_ID_ICP 0x104c +#define PCI_VENDOR_ID_AMCC 0x10e8 +#define PCI_VENDOR_ID_DT 0x1116 +#define PCI_VENDOR_ID_IOTECH 0x1616 +#define PCI_VENDOR_ID_CONTEC 0x1221 +#define PCI_VENDOR_ID_CB 0x1307 /* Measurement Computing */ +#define PCI_VENDOR_ID_ADVANTECH 0x13fe +#define PCI_VENDOR_ID_MEILHAUS 0x1402 +#define PCI_VENDOR_ID_RTD 0x1435 +#define PCI_VENDOR_ID_ADLINK 0x144a +#define PCI_VENDOR_ID_AMPLICON 0x14dc + +struct pci_dev; +struct pci_driver; + +struct pci_dev *comedi_to_pci_dev(struct comedi_device *); + +int comedi_pci_enable(struct pci_dev *, const char *); +void comedi_pci_disable(struct pci_dev *); + +int comedi_pci_auto_config(struct pci_dev *, struct comedi_driver *); +void comedi_pci_auto_unconfig(struct pci_dev *); + +int comedi_pci_driver_register(struct comedi_driver *, struct pci_driver *); +void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *); + +/** + * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver + * @__comedi_driver: comedi_driver struct + * @__pci_driver: pci_driver struct + * + * Helper macro for comedi PCI drivers which do not do anything special + * in module init/exit. This eliminates a lot of boilerplate. Each + * module may only use this macro once, and calling it replaces + * module_init() and module_exit() + */ +#define module_comedi_pci_driver(__comedi_driver, __pci_driver) \ + module_driver(__comedi_driver, comedi_pci_driver_register, \ + comedi_pci_driver_unregister, &(__pci_driver)) + +#else + +/* + * Some of the comedi mixed ISA/PCI drivers call the PCI specific + * functions. Provide some dummy functions if CONFIG_COMEDI_PCI_DRIVERS + * is not enabled. + */ + +static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev) +{ + return NULL; +} + +static inline int comedi_pci_enable(struct pci_dev *dev, const char *name) +{ + return -ENOSYS; +} + +static inline void comedi_pci_disable(struct pci_dev *dev) { - return comedi_auto_config(&pcidev->dev, driver, 0); } -void comedi_pci_auto_unconfig(struct pci_dev *pcidev); +#endif /* CONFIG_COMEDI_PCI_DRIVERS */ #ifdef CONFIG_COMEDI_USB_DRIVERS diff --git a/drivers/staging/comedi/drivers.c b/drivers/staging/comedi/drivers.c index 86fcd3698216..4e6e8a1700f5 100644 --- a/drivers/staging/comedi/drivers.c +++ b/drivers/staging/comedi/drivers.c @@ -23,7 +23,6 @@ #include <linux/device.h> #include <linux/module.h> -#include <linux/pci.h> #include <pcmcia/cistpl.h> #include <pcmcia/ds.h> #include <linux/errno.h> @@ -496,73 +495,6 @@ void comedi_auto_unconfig(struct device *hardware_device) } EXPORT_SYMBOL_GPL(comedi_auto_unconfig); -/** - * comedi_pci_enable() - Enable the PCI device and request the regions. - * @pdev: pci_dev struct - * @res_name: name for the requested reqource - */ -int comedi_pci_enable(struct pci_dev *pdev, const char *res_name) -{ - int rc; - - rc = pci_enable_device(pdev); - if (rc < 0) - return rc; - - rc = pci_request_regions(pdev, res_name); - if (rc < 0) - pci_disable_device(pdev); - - return rc; -} -EXPORT_SYMBOL_GPL(comedi_pci_enable); - -/** - * comedi_pci_disable() - Release the regions and disable the PCI device. - * @pdev: pci_dev struct - * - * This must be matched with a previous successful call to comedi_pci_enable(). - */ -void comedi_pci_disable(struct pci_dev *pdev) -{ - pci_release_regions(pdev); - pci_disable_device(pdev); -} -EXPORT_SYMBOL_GPL(comedi_pci_disable); - -int comedi_pci_driver_register(struct comedi_driver *comedi_driver, - struct pci_driver *pci_driver) -{ - int ret; - - ret = comedi_driver_register(comedi_driver); - if (ret < 0) - return ret; - - ret = pci_register_driver(pci_driver); - if (ret < 0) { - comedi_driver_unregister(comedi_driver); - return ret; - } - - return 0; -} -EXPORT_SYMBOL_GPL(comedi_pci_driver_register); - -void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver, - struct pci_driver *pci_driver) -{ - pci_unregister_driver(pci_driver); - comedi_driver_unregister(comedi_driver); -} -EXPORT_SYMBOL_GPL(comedi_pci_driver_unregister); - -void comedi_pci_auto_unconfig(struct pci_dev *pcidev) -{ - comedi_auto_unconfig(&pcidev->dev); -} -EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig); - #if IS_ENABLED(CONFIG_PCMCIA) int comedi_pcmcia_driver_register(struct comedi_driver *comedi_driver, struct pcmcia_driver *pcmcia_driver) diff --git a/drivers/staging/comedi/drivers/8255_pci.c b/drivers/staging/comedi/drivers/8255_pci.c index 87fe96da971d..0ae356ae56ea 100644 --- a/drivers/staging/comedi/drivers/8255_pci.c +++ b/drivers/staging/comedi/drivers/8255_pci.c @@ -54,6 +54,8 @@ Interrupt support for these boards is also not currently supported. Configuration Options: not applicable, uses PCI auto config */ +#include <linux/pci.h> + #include "../comedidev.h" #include "8255.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_035.c b/drivers/staging/comedi/drivers/addi_apci_035.c index d69d6ec78361..5a53e58258a0 100644 --- a/drivers/staging/comedi/drivers/addi_apci_035.c +++ b/drivers/staging/comedi/drivers/addi_apci_035.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_1032.c b/drivers/staging/comedi/drivers/addi_apci_1032.c index d6c7ba6cd622..c0d0429c35c8 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1032.c +++ b/drivers/staging/comedi/drivers/addi_apci_1032.c @@ -29,6 +29,7 @@ * source code. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_1500.c b/drivers/staging/comedi/drivers/addi_apci_1500.c index 1ac40629012c..9c2f8eeb7977 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1500.c +++ b/drivers/staging/comedi/drivers/addi_apci_1500.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_1516.c b/drivers/staging/comedi/drivers/addi_apci_1516.c index 1721ba7f4e53..69e399638419 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1516.c +++ b/drivers/staging/comedi/drivers/addi_apci_1516.c @@ -29,6 +29,8 @@ * this source code. */ +#include <linux/pci.h> + #include "../comedidev.h" #include "addi_watchdog.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c b/drivers/staging/comedi/drivers/addi_apci_1564.c index 3556c61551b9..ddea64df9180 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1564.c +++ b/drivers/staging/comedi/drivers/addi_apci_1564.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_16xx.c b/drivers/staging/comedi/drivers/addi_apci_16xx.c index 8b88503decca..e51f80001363 100644 --- a/drivers/staging/comedi/drivers/addi_apci_16xx.c +++ b/drivers/staging/comedi/drivers/addi_apci_16xx.c @@ -29,6 +29,8 @@ * this source code. */ +#include <linux/pci.h> + #include "../comedidev.h" /* diff --git a/drivers/staging/comedi/drivers/addi_apci_1710.c b/drivers/staging/comedi/drivers/addi_apci_1710.c index 7eb03b183915..e83e829831b0 100644 --- a/drivers/staging/comedi/drivers/addi_apci_1710.c +++ b/drivers/staging/comedi/drivers/addi_apci_1710.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include <asm/i387.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_2032.c b/drivers/staging/comedi/drivers/addi_apci_2032.c index 15b080e737cf..9ce1d26aff2f 100644 --- a/drivers/staging/comedi/drivers/addi_apci_2032.c +++ b/drivers/staging/comedi/drivers/addi_apci_2032.c @@ -29,6 +29,7 @@ * this source code. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_2200.c b/drivers/staging/comedi/drivers/addi_apci_2200.c index a9891b4e60e6..b1c4226902e1 100644 --- a/drivers/staging/comedi/drivers/addi_apci_2200.c +++ b/drivers/staging/comedi/drivers/addi_apci_2200.c @@ -29,6 +29,8 @@ * this source code. */ +#include <linux/pci.h> + #include "../comedidev.h" #include "addi_watchdog.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_3120.c b/drivers/staging/comedi/drivers/addi_apci_3120.c index 8cad18f7fc49..917234d24e99 100644 --- a/drivers/staging/comedi/drivers/addi_apci_3120.c +++ b/drivers/staging/comedi/drivers/addi_apci_3120.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_3200.c b/drivers/staging/comedi/drivers/addi_apci_3200.c index c11bf4bda426..90ee4f844f91 100644 --- a/drivers/staging/comedi/drivers/addi_apci_3200.c +++ b/drivers/staging/comedi/drivers/addi_apci_3200.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include <asm/i387.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/addi_apci_3501.c b/drivers/staging/comedi/drivers/addi_apci_3501.c index 55127319bdff..786fcaf82c32 100644 --- a/drivers/staging/comedi/drivers/addi_apci_3501.c +++ b/drivers/staging/comedi/drivers/addi_apci_3501.c @@ -29,6 +29,7 @@ * this source code. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/sched.h> diff --git a/drivers/staging/comedi/drivers/addi_apci_3xxx.c b/drivers/staging/comedi/drivers/addi_apci_3xxx.c index 69f5bf4d52e0..09d4b21fce23 100644 --- a/drivers/staging/comedi/drivers/addi_apci_3xxx.c +++ b/drivers/staging/comedi/drivers/addi_apci_3xxx.c @@ -1,3 +1,5 @@ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/adl_pci6208.c b/drivers/staging/comedi/drivers/adl_pci6208.c index 41df0105e824..7b3e331616ed 100644 --- a/drivers/staging/comedi/drivers/adl_pci6208.c +++ b/drivers/staging/comedi/drivers/adl_pci6208.c @@ -42,6 +42,8 @@ References: - adl_pci9118.c */ +#include <linux/pci.h> + #include "../comedidev.h" /* diff --git a/drivers/staging/comedi/drivers/adl_pci7x3x.c b/drivers/staging/comedi/drivers/adl_pci7x3x.c index 2a8bc9804961..539b1d8e5235 100644 --- a/drivers/staging/comedi/drivers/adl_pci7x3x.c +++ b/drivers/staging/comedi/drivers/adl_pci7x3x.c @@ -54,6 +54,8 @@ driver. Configuration Options: not applicable */ +#include <linux/pci.h> + #include "../comedidev.h" /* diff --git a/drivers/staging/comedi/drivers/adl_pci8164.c b/drivers/staging/comedi/drivers/adl_pci8164.c index ece84dd3aa6c..d06b83f38653 100644 --- a/drivers/staging/comedi/drivers/adl_pci8164.c +++ b/drivers/staging/comedi/drivers/adl_pci8164.c @@ -30,9 +30,11 @@ Updated: Mon, 14 Apr 2008 15:10:32 +0100 Configuration Options: not applicable, uses PCI auto config */ -#include "../comedidev.h" #include <linux/kernel.h> +#include <linux/pci.h> #include <linux/delay.h> + +#include "../comedidev.h" #include "comedi_fc.h" #include "8253.h" diff --git a/drivers/staging/comedi/drivers/adl_pci9111.c b/drivers/staging/comedi/drivers/adl_pci9111.c index 1a31e910fcbd..eeb10ec7f178 100644 --- a/drivers/staging/comedi/drivers/adl_pci9111.c +++ b/drivers/staging/comedi/drivers/adl_pci9111.c @@ -68,11 +68,12 @@ TODO: */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include "../comedidev.h" + #include "8253.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/adl_pci9118.c b/drivers/staging/comedi/drivers/adl_pci9118.c index d21dfe65ba85..ef4dbe5ff0b8 100644 --- a/drivers/staging/comedi/drivers/adl_pci9118.c +++ b/drivers/staging/comedi/drivers/adl_pci9118.c @@ -76,13 +76,15 @@ Configuration options: * attachment if necessary, and possibly to set other options supported by * manual attachment. */ -#include "../comedidev.h" +#include <linux/pci.h> #include <linux/delay.h> #include <linux/gfp.h> #include <linux/interrupt.h> #include <linux/io.h> +#include "../comedidev.h" + #include "amcc_s5933.h" #include "8253.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c index d232d0c60a92..3d788c76d648 100644 --- a/drivers/staging/comedi/drivers/adv_pci1710.c +++ b/drivers/staging/comedi/drivers/adv_pci1710.c @@ -41,6 +41,7 @@ Configuration options: device will be used. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/adv_pci1723.c b/drivers/staging/comedi/drivers/adv_pci1723.c index 1be8902f8231..02ce55a01d2a 100644 --- a/drivers/staging/comedi/drivers/adv_pci1723.c +++ b/drivers/staging/comedi/drivers/adv_pci1723.c @@ -48,6 +48,8 @@ TODO: 3. Implement calibration. */ +#include <linux/pci.h> + #include "../comedidev.h" /* all the registers for the pci1723 board */ diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c index 35887e40ef0c..338c43e716ba 100644 --- a/drivers/staging/comedi/drivers/adv_pci_dio.c +++ b/drivers/staging/comedi/drivers/adv_pci_dio.c @@ -29,10 +29,11 @@ Configuration options: */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> +#include "../comedidev.h" + #include "8255.h" #include "8253.h" diff --git a/drivers/staging/comedi/drivers/amplc_dio200.c b/drivers/staging/comedi/drivers/amplc_dio200.c index 1fadf5d0ad26..b30d1a05c33c 100644 --- a/drivers/staging/comedi/drivers/amplc_dio200.c +++ b/drivers/staging/comedi/drivers/amplc_dio200.c @@ -258,6 +258,7 @@ * order they appear in the channel list. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/slab.h> diff --git a/drivers/staging/comedi/drivers/amplc_pc236.c b/drivers/staging/comedi/drivers/amplc_pc236.c index 5011016a947e..479e10fddd22 100644 --- a/drivers/staging/comedi/drivers/amplc_pc236.c +++ b/drivers/staging/comedi/drivers/amplc_pc236.c @@ -52,6 +52,7 @@ the IRQ jumper. If no interrupt is connected, then subdevice 1 is unused. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/amplc_pc263.c b/drivers/staging/comedi/drivers/amplc_pc263.c index c34bb009b710..11c1f4764eac 100644 --- a/drivers/staging/comedi/drivers/amplc_pc263.c +++ b/drivers/staging/comedi/drivers/amplc_pc263.c @@ -44,6 +44,8 @@ connected to a reed-relay. Relay contacts are closed when output is 1. The state of the outputs can be read. */ +#include <linux/pci.h> + #include "../comedidev.h" #define PC263_DRIVER_NAME "amplc_pc263" diff --git a/drivers/staging/comedi/drivers/amplc_pci224.c b/drivers/staging/comedi/drivers/amplc_pci224.c index 24794f4c565f..c9da4cd74baa 100644 --- a/drivers/staging/comedi/drivers/amplc_pci224.c +++ b/drivers/staging/comedi/drivers/amplc_pci224.c @@ -103,6 +103,7 @@ Caveats: correctly. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/slab.h> diff --git a/drivers/staging/comedi/drivers/amplc_pci230.c b/drivers/staging/comedi/drivers/amplc_pci230.c index 2440596a3ec4..e2244c6e536b 100644 --- a/drivers/staging/comedi/drivers/amplc_pci230.c +++ b/drivers/staging/comedi/drivers/amplc_pci230.c @@ -188,11 +188,12 @@ Support for PCI230+/260+, more triggered scan functionality, and workarounds for (or detection of) various hardware problems added by Ian Abbott. */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include "../comedidev.h" + #include "comedi_fc.h" #include "8253.h" #include "8255.h" diff --git a/drivers/staging/comedi/drivers/cb_pcidas.c b/drivers/staging/comedi/drivers/cb_pcidas.c index 0fd6fcf0cefe..79c72118a090 100644 --- a/drivers/staging/comedi/drivers/cb_pcidas.c +++ b/drivers/staging/comedi/drivers/cb_pcidas.c @@ -67,10 +67,12 @@ TODO: analog triggering on 1602 series */ -#include "../comedidev.h" +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include "../comedidev.h" + #include "8253.h" #include "8255.h" #include "amcc_s5933.h" diff --git a/drivers/staging/comedi/drivers/cb_pcidas64.c b/drivers/staging/comedi/drivers/cb_pcidas64.c index e7d297708a5b..d33fc327236f 100644 --- a/drivers/staging/comedi/drivers/cb_pcidas64.c +++ b/drivers/staging/comedi/drivers/cb_pcidas64.c @@ -87,10 +87,12 @@ TODO: #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -#include "../comedidev.h" +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include "../comedidev.h" + #include "8253.h" #include "8255.h" #include "plx9080.h" diff --git a/drivers/staging/comedi/drivers/cb_pcidda.c b/drivers/staging/comedi/drivers/cb_pcidda.c index 04be8c62d79d..e2cadc728455 100644 --- a/drivers/staging/comedi/drivers/cb_pcidda.c +++ b/drivers/staging/comedi/drivers/cb_pcidda.c @@ -41,6 +41,8 @@ * Only simple analog output writing is supported. */ +#include <linux/pci.h> + #include "../comedidev.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/cb_pcimdas.c b/drivers/staging/comedi/drivers/cb_pcimdas.c index 709c5c670f40..aae063ca85a0 100644 --- a/drivers/staging/comedi/drivers/cb_pcimdas.c +++ b/drivers/staging/comedi/drivers/cb_pcimdas.c @@ -40,11 +40,12 @@ No interrupts, multi channel or FIFO AI, although the card looks like it could s See http://www.mccdaq.com/PDFs/Manuals/pcim-das1602-16.pdf for more details. */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include "../comedidev.h" + #include "plx9052.h" #include "8255.h" diff --git a/drivers/staging/comedi/drivers/cb_pcimdda.c b/drivers/staging/comedi/drivers/cb_pcimdda.c index 74aa4e062596..63cfbaf3a3fe 100644 --- a/drivers/staging/comedi/drivers/cb_pcimdda.c +++ b/drivers/staging/comedi/drivers/cb_pcimdda.c @@ -79,6 +79,8 @@ Configuration Options: not applicable, uses PCI auto config -Calin Culianu <calin@ajvar.org> */ +#include <linux/pci.h> + #include "../comedidev.h" #include "8255.h" diff --git a/drivers/staging/comedi/drivers/contec_pci_dio.c b/drivers/staging/comedi/drivers/contec_pci_dio.c index e0273c445af6..182dea669ef2 100644 --- a/drivers/staging/comedi/drivers/contec_pci_dio.c +++ b/drivers/staging/comedi/drivers/contec_pci_dio.c @@ -30,6 +30,8 @@ Status: works Configuration Options: not applicable, uses comedi PCI auto config */ +#include <linux/pci.h> + #include "../comedidev.h" #define PCI_DEVICE_ID_PIO1616L 0x8172 diff --git a/drivers/staging/comedi/drivers/daqboard2000.c b/drivers/staging/comedi/drivers/daqboard2000.c index d1fc190313c5..50b450f09c65 100644 --- a/drivers/staging/comedi/drivers/daqboard2000.c +++ b/drivers/staging/comedi/drivers/daqboard2000.c @@ -107,12 +107,13 @@ Configuration options: not applicable, uses PCI auto config */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> #include <linux/interrupt.h> #include <linux/firmware.h> +#include "../comedidev.h" + #include "8255.h" #define DAQBOARD2000_FIRMWARE "daqboard2000_firmware.bin" diff --git a/drivers/staging/comedi/drivers/das08.c b/drivers/staging/comedi/drivers/das08.c index 37f03c2b766d..45a937e95910 100644 --- a/drivers/staging/comedi/drivers/das08.c +++ b/drivers/staging/comedi/drivers/das08.c @@ -51,10 +51,11 @@ * driver. */ -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> +#include "../comedidev.h" + #include "8255.h" #include "8253.h" #include "das08.h" diff --git a/drivers/staging/comedi/drivers/das08_cs.c b/drivers/staging/comedi/drivers/das08_cs.c index 73a2418933f7..ff67348be77d 100644 --- a/drivers/staging/comedi/drivers/das08_cs.c +++ b/drivers/staging/comedi/drivers/das08_cs.c @@ -46,12 +46,11 @@ Options (for pcm-das08): Command support does not exist, but could be added for this board. */ -#include "../comedidev.h" - #include <linux/delay.h> -#include <linux/pci.h> #include <linux/slab.h> +#include "../comedidev.h" + #include "das08.h" /* pcmcia includes */ diff --git a/drivers/staging/comedi/drivers/das16.c b/drivers/staging/comedi/drivers/das16.c index b159f44d694f..f238a1fbccbf 100644 --- a/drivers/staging/comedi/drivers/das16.c +++ b/drivers/staging/comedi/drivers/das16.c @@ -82,7 +82,9 @@ www.measurementcomputing.com #include <linux/pci.h> #include <linux/slab.h> #include <linux/interrupt.h> + #include <asm/dma.h> + #include "../comedidev.h" #include "8253.h" diff --git a/drivers/staging/comedi/drivers/dt3000.c b/drivers/staging/comedi/drivers/dt3000.c index 1fabe8870cd0..3ce499fa5dbf 100644 --- a/drivers/staging/comedi/drivers/dt3000.c +++ b/drivers/staging/comedi/drivers/dt3000.c @@ -55,9 +55,11 @@ AO commands are not supported. #define DEBUG 1 +#include <linux/pci.h> +#include <linux/delay.h> #include <linux/interrupt.h> + #include "../comedidev.h" -#include <linux/delay.h> #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/dyna_pci10xx.c b/drivers/staging/comedi/drivers/dyna_pci10xx.c index 5aa695e84650..decc17f1867e 100644 --- a/drivers/staging/comedi/drivers/dyna_pci10xx.c +++ b/drivers/staging/comedi/drivers/dyna_pci10xx.c @@ -37,9 +37,11 @@ their cards in their manuals. */ -#include "../comedidev.h" +#include <linux/pci.h> #include <linux/mutex.h> +#include "../comedidev.h" + #define READ_TIMEOUT 50 static const struct comedi_lrange range_pci1050_ai = { 3, { diff --git a/drivers/staging/comedi/drivers/gsc_hpdi.c b/drivers/staging/comedi/drivers/gsc_hpdi.c index 6d88b72fd472..b60c97562676 100644 --- a/drivers/staging/comedi/drivers/gsc_hpdi.c +++ b/drivers/staging/comedi/drivers/gsc_hpdi.c @@ -47,9 +47,11 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt +#include <linux/pci.h> +#include <linux/delay.h> #include <linux/interrupt.h> + #include "../comedidev.h" -#include <linux/delay.h> #include "plx9080.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/icp_multi.c b/drivers/staging/comedi/drivers/icp_multi.c index 017429539bd4..1e08f9141fad 100644 --- a/drivers/staging/comedi/drivers/icp_multi.c +++ b/drivers/staging/comedi/drivers/icp_multi.c @@ -47,11 +47,11 @@ There are 4 x 12-bit Analogue Outputs. Ranges : 5V, 10V, +/-5V, +/-10V Configuration options: not applicable, uses PCI auto config */ +#include <linux/pci.h> +#include <linux/delay.h> #include <linux/interrupt.h> -#include "../comedidev.h" -#include <linux/delay.h> -#include <linux/pci.h> +#include "../comedidev.h" #define PCI_DEVICE_ID_ICP_MULTI 0x8000 diff --git a/drivers/staging/comedi/drivers/jr3_pci.c b/drivers/staging/comedi/drivers/jr3_pci.c index 8d79c761509b..17ba75e0ab89 100644 --- a/drivers/staging/comedi/drivers/jr3_pci.c +++ b/drivers/staging/comedi/drivers/jr3_pci.c @@ -42,15 +42,17 @@ * comedi_nonfree_firmware tarball. The file is called "jr3pci.idm". */ -#include "../comedidev.h" - +#include <linux/kernel.h> +#include <linux/pci.h> #include <linux/delay.h> #include <linux/ctype.h> #include <linux/firmware.h> #include <linux/jiffies.h> #include <linux/slab.h> #include <linux/timer.h> -#include <linux/kernel.h> + +#include "../comedidev.h" + #include "jr3_pci.h" #define PCI_VENDOR_ID_JR3 0x1762 diff --git a/drivers/staging/comedi/drivers/ke_counter.c b/drivers/staging/comedi/drivers/ke_counter.c index 535800a36901..8c09c026508a 100644 --- a/drivers/staging/comedi/drivers/ke_counter.c +++ b/drivers/staging/comedi/drivers/ke_counter.c @@ -34,6 +34,8 @@ This driver is a simple driver to read the counter values from Kolter Electronic PCI Counter Card. */ +#include <linux/pci.h> + #include "../comedidev.h" #define CNT_CARD_DEVICE_ID 0x0014 diff --git a/drivers/staging/comedi/drivers/me4000.c b/drivers/staging/comedi/drivers/me4000.c index 4312b3707d16..b766bb93efd6 100644 --- a/drivers/staging/comedi/drivers/me4000.c +++ b/drivers/staging/comedi/drivers/me4000.c @@ -45,13 +45,14 @@ broken. */ -#include <linux/interrupt.h> -#include "../comedidev.h" - +#include <linux/pci.h> #include <linux/delay.h> +#include <linux/interrupt.h> #include <linux/list.h> #include <linux/spinlock.h> +#include "../comedidev.h" + #include "comedi_fc.h" #include "8253.h" diff --git a/drivers/staging/comedi/drivers/me_daq.c b/drivers/staging/comedi/drivers/me_daq.c index ee8bafcc46d1..06490ebc8cc8 100644 --- a/drivers/staging/comedi/drivers/me_daq.c +++ b/drivers/staging/comedi/drivers/me_daq.c @@ -34,9 +34,11 @@ * Analog Input, Analog Output, Digital I/O */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/sched.h> #include <linux/firmware.h> + #include "../comedidev.h" #define ME2600_FIRMWARE "me2600_firmware.bin" diff --git a/drivers/staging/comedi/drivers/mite.c b/drivers/staging/comedi/drivers/mite.c index e27850f628ce..be2c15f84614 100644 --- a/drivers/staging/comedi/drivers/mite.c +++ b/drivers/staging/comedi/drivers/mite.c @@ -51,11 +51,12 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -#include "mite.h" +#include <linux/pci.h> -#include "comedi_fc.h" #include "../comedidev.h" +#include "comedi_fc.h" +#include "mite.h" #define PCI_MITE_SIZE 4096 #define PCI_DAQ_SIZE 4096 diff --git a/drivers/staging/comedi/drivers/ni_6527.c b/drivers/staging/comedi/drivers/ni_6527.c index 67aa6f4e4329..bcd4df290ec4 100644 --- a/drivers/staging/comedi/drivers/ni_6527.c +++ b/drivers/staging/comedi/drivers/ni_6527.c @@ -41,7 +41,9 @@ Updated: Sat, 25 Jan 2003 13:24:40 -0800 #define DEBUG 1 #define DEBUG_FLAGS +#include <linux/pci.h> #include <linux/interrupt.h> + #include "../comedidev.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/ni_65xx.c b/drivers/staging/comedi/drivers/ni_65xx.c index fb7e8b887ce7..bfa790ecf41d 100644 --- a/drivers/staging/comedi/drivers/ni_65xx.c +++ b/drivers/staging/comedi/drivers/ni_65xx.c @@ -50,8 +50,11 @@ except maybe the 6514. #define DEBUG 1 #define DEBUG_FLAGS + +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/slab.h> + #include "../comedidev.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/ni_660x.c b/drivers/staging/comedi/drivers/ni_660x.c index bdef2e4dd3db..e46dd7a1a724 100644 --- a/drivers/staging/comedi/drivers/ni_660x.c +++ b/drivers/staging/comedi/drivers/ni_660x.c @@ -40,8 +40,11 @@ DAQ 6601/6602 User Manual (NI 322137B-01) */ +#include <linux/pci.h> #include <linux/interrupt.h> + #include "../comedidev.h" + #include "mite.h" #include "ni_tio.h" diff --git a/drivers/staging/comedi/drivers/ni_670x.c b/drivers/staging/comedi/drivers/ni_670x.c index 6f3c0909c06d..2faf86c83dc5 100644 --- a/drivers/staging/comedi/drivers/ni_670x.c +++ b/drivers/staging/comedi/drivers/ni_670x.c @@ -41,8 +41,10 @@ Commands are not supported. */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/slab.h> + #include "../comedidev.h" #include "mite.h" diff --git a/drivers/staging/comedi/drivers/ni_labpc.c b/drivers/staging/comedi/drivers/ni_labpc.c index dedb2ab780f3..9e4d2da5f5a7 100644 --- a/drivers/staging/comedi/drivers/ni_labpc.c +++ b/drivers/staging/comedi/drivers/ni_labpc.c @@ -73,12 +73,14 @@ NI manuals: */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/slab.h> #include <linux/io.h> +#include <linux/delay.h> + #include "../comedidev.h" -#include <linux/delay.h> #include <asm/dma.h> #include "8253.h" diff --git a/drivers/staging/comedi/drivers/ni_pcidio.c b/drivers/staging/comedi/drivers/ni_pcidio.c index ba8c2f2561f5..0a00260d11f3 100644 --- a/drivers/staging/comedi/drivers/ni_pcidio.c +++ b/drivers/staging/comedi/drivers/ni_pcidio.c @@ -55,9 +55,11 @@ comedi_nonfree_firmware tarball available from http://www.comedi.org /* #define DEBUG 1 */ /* #define DEBUG_FLAGS */ +#include <linux/delay.h> #include <linux/interrupt.h> #include <linux/sched.h> #include <linux/firmware.h> + #include "../comedidev.h" #include "comedi_fc.h" diff --git a/drivers/staging/comedi/drivers/ni_pcimio.c b/drivers/staging/comedi/drivers/ni_pcimio.c index 26a870cbc7a1..98b43f2fc65d 100644 --- a/drivers/staging/comedi/drivers/ni_pcimio.c +++ b/drivers/staging/comedi/drivers/ni_pcimio.c @@ -110,10 +110,12 @@ Bugs: */ +#include <linux/delay.h> +#include <linux/delay.h> + #include "../comedidev.h" #include <asm/byteorder.h> -#include <linux/delay.h> #include "ni_stc.h" #include "mite.h" diff --git a/drivers/staging/comedi/drivers/pcmda12.c b/drivers/staging/comedi/drivers/pcmda12.c index 48b049b7d36a..13f79f49748a 100644 --- a/drivers/staging/comedi/drivers/pcmda12.c +++ b/drivers/staging/comedi/drivers/pcmda12.c @@ -53,8 +53,6 @@ Configuration Options: #include "../comedidev.h" -#include <linux/pci.h> /* for PCI devices */ - #define CHANS 8 #define IOSIZE 16 #define LSB(x) ((unsigned char)((x) & 0xff)) diff --git a/drivers/staging/comedi/drivers/pcmmio.c b/drivers/staging/comedi/drivers/pcmmio.c index d6d3d9584ea4..5fa1fe08eb97 100644 --- a/drivers/staging/comedi/drivers/pcmmio.c +++ b/drivers/staging/comedi/drivers/pcmmio.c @@ -78,9 +78,9 @@ Configuration Options: #include <linux/interrupt.h> #include <linux/slab.h> -#include <linux/pci.h> #include "../comedidev.h" + #include "comedi_fc.h" /* This stuff is all from pcmuio.c -- it refers to the DIO subdevices only */ diff --git a/drivers/staging/comedi/drivers/pcmuio.c b/drivers/staging/comedi/drivers/pcmuio.c index b74431fba151..71ef3f90bc98 100644 --- a/drivers/staging/comedi/drivers/pcmuio.c +++ b/drivers/staging/comedi/drivers/pcmuio.c @@ -77,9 +77,9 @@ Configuration Options: #include <linux/interrupt.h> #include <linux/slab.h> -#include <linux/pci.h> #include "../comedidev.h" + #include "comedi_fc.h" #define CHANS_PER_PORT 8 diff --git a/drivers/staging/comedi/drivers/rtd520.c b/drivers/staging/comedi/drivers/rtd520.c index 558145276427..6a5c914fa501 100644 --- a/drivers/staging/comedi/drivers/rtd520.c +++ b/drivers/staging/comedi/drivers/rtd520.c @@ -101,8 +101,9 @@ Configuration options: */ -#include <linux/interrupt.h> +#include <linux/pci.h> #include <linux/delay.h> +#include <linux/interrupt.h> #include "../comedidev.h" diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c index 0c7221c6dfea..81a1fe661579 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -64,6 +64,7 @@ INSN_CONFIG instructions: comedi_do_insn(cf,&insn); //executing configuration */ +#include <linux/pci.h> #include <linux/interrupt.h> #include <linux/kernel.h> #include <linux/types.h> diff --git a/drivers/staging/comedi/drivers/skel.c b/drivers/staging/comedi/drivers/skel.c index 0aad815f92f5..cb83f6ae48b9 100644 --- a/drivers/staging/comedi/drivers/skel.c +++ b/drivers/staging/comedi/drivers/skel.c @@ -72,9 +72,9 @@ Configuration Options: * options that are used with comedi_config. */ -#include "../comedidev.h" +#include <linux/pci.h> -#include <linux/pci.h> /* for PCI devices */ +#include "../comedidev.h" #include "comedi_fc.h" |