aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-01-30 17:22:21 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-31 04:38:10 -0500
commit33782dd5edf8db3cdb7c81a3523bf743dd0209b7 (patch)
tree952a325b3dd1b619def75a58caaf17cc83ba4b57
parentabac8b54a353b9a1ac7d09ff790812655f618896 (diff)
staging: comedi: conditionally build in PCI driver support
Separate the comedi_pci_* functions out of drivers.c into a new source file, comedi_pci.c. This allows conditionally building support for comedi PCI drivers into the comedi core. Fix the Kconfig and Makefile appropriately. Group all the comedi_pci_* prototypes and related defines into one place in comedidev.h. Protect these prototypes with an #ifdef and provide some dummy functions so that the mixed ISA/PCI comedi drivers will still build correctly. Remove the #include <linux/pci.h> from comedidev.h and drivers.c. This include is only needed by the comedi PCI driver support code and the PCI drivers. The include should occur in those files. Also, remove the #include <linux/pci.h> from a couple non-PCI drivers since it's not needed. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/Kconfig6
-rw-r--r--drivers/staging/comedi/Makefile1
-rw-r--r--drivers/staging/comedi/comedi_pci.c140
-rw-r--r--drivers/staging/comedi/comedidev.h114
-rw-r--r--drivers/staging/comedi/drivers.c68
-rw-r--r--drivers/staging/comedi/drivers/8255_pci.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_035.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1032.c1
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1500.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1516.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1564.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_16xx.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1710.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_2032.c1
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_2200.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3120.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3200.c2
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3501.c1
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3xxx.c2
-rw-r--r--drivers/staging/comedi/drivers/adl_pci6208.c2
-rw-r--r--drivers/staging/comedi/drivers/adl_pci7x3x.c2
-rw-r--r--drivers/staging/comedi/drivers/adl_pci8164.c4
-rw-r--r--drivers/staging/comedi/drivers/adl_pci9111.c5
-rw-r--r--drivers/staging/comedi/drivers/adl_pci9118.c4
-rw-r--r--drivers/staging/comedi/drivers/adv_pci1710.c1
-rw-r--r--drivers/staging/comedi/drivers/adv_pci1723.c2
-rw-r--r--drivers/staging/comedi/drivers/adv_pci_dio.c5
-rw-r--r--drivers/staging/comedi/drivers/amplc_dio200.c1
-rw-r--r--drivers/staging/comedi/drivers/amplc_pc236.c1
-rw-r--r--drivers/staging/comedi/drivers/amplc_pc263.c2
-rw-r--r--drivers/staging/comedi/drivers/amplc_pci224.c1
-rw-r--r--drivers/staging/comedi/drivers/amplc_pci230.c5
-rw-r--r--drivers/staging/comedi/drivers/cb_pcidas.c4
-rw-r--r--drivers/staging/comedi/drivers/cb_pcidas64.c4
-rw-r--r--drivers/staging/comedi/drivers/cb_pcidda.c2
-rw-r--r--drivers/staging/comedi/drivers/cb_pcimdas.c5
-rw-r--r--drivers/staging/comedi/drivers/cb_pcimdda.c2
-rw-r--r--drivers/staging/comedi/drivers/contec_pci_dio.c2
-rw-r--r--drivers/staging/comedi/drivers/daqboard2000.c5
-rw-r--r--drivers/staging/comedi/drivers/das08.c5
-rw-r--r--drivers/staging/comedi/drivers/das08_cs.c5
-rw-r--r--drivers/staging/comedi/drivers/das16.c2
-rw-r--r--drivers/staging/comedi/drivers/dt3000.c4
-rw-r--r--drivers/staging/comedi/drivers/dyna_pci10xx.c4
-rw-r--r--drivers/staging/comedi/drivers/gsc_hpdi.c4
-rw-r--r--drivers/staging/comedi/drivers/icp_multi.c6
-rw-r--r--drivers/staging/comedi/drivers/jr3_pci.c8
-rw-r--r--drivers/staging/comedi/drivers/ke_counter.c2
-rw-r--r--drivers/staging/comedi/drivers/me4000.c7
-rw-r--r--drivers/staging/comedi/drivers/me_daq.c2
-rw-r--r--drivers/staging/comedi/drivers/mite.c5
-rw-r--r--drivers/staging/comedi/drivers/ni_6527.c2
-rw-r--r--drivers/staging/comedi/drivers/ni_65xx.c3
-rw-r--r--drivers/staging/comedi/drivers/ni_660x.c3
-rw-r--r--drivers/staging/comedi/drivers/ni_670x.c2
-rw-r--r--drivers/staging/comedi/drivers/ni_labpc.c4
-rw-r--r--drivers/staging/comedi/drivers/ni_pcidio.c2
-rw-r--r--drivers/staging/comedi/drivers/ni_pcimio.c4
-rw-r--r--drivers/staging/comedi/drivers/pcmda12.c2
-rw-r--r--drivers/staging/comedi/drivers/pcmmio.c2
-rw-r--r--drivers/staging/comedi/drivers/pcmuio.c2
-rw-r--r--drivers/staging/comedi/drivers/rtd520.c3
-rw-r--r--drivers/staging/comedi/drivers/s626.c1
-rw-r--r--drivers/staging/comedi/drivers/skel.c4
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
542 bool "Comedi PCI drivers" 542 bool "Comedi PCI drivers"
543 depends on PCI 543 depends on PCI
544 ---help--- 544 ---help---
545 Enable comedi PCI drivers to be built 545 Enable support for comedi PCI drivers.
546
547 Note that the answer to this question won't directly affect the
548 kernel: saying N will just cause the configurator to skip all
549 the questions about PCI comedi drivers.
550 546
551if COMEDI_PCI_DRIVERS 547if COMEDI_PCI_DRIVERS
552 548
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 @@
1comedi-y := comedi_fops.o range.o drivers.o \ 1comedi-y := comedi_fops.o range.o drivers.o \
2 comedi_buf.o 2 comedi_buf.o
3comedi-$(CONFIG_COMEDI_PCI_DRIVERS) += comedi_pci.o
3comedi-$(CONFIG_COMEDI_USB_DRIVERS) += comedi_usb.o 4comedi-$(CONFIG_COMEDI_USB_DRIVERS) += comedi_usb.o
4comedi-$(CONFIG_PROC_FS) += proc.o 5comedi-$(CONFIG_PROC_FS) += proc.o
5comedi-$(CONFIG_COMPAT) += comedi_compat32.o 6comedi-$(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 @@
1/*
2 * comedi_pci.c
3 * Comedi PCI driver specific functions.
4 *
5 * COMEDI - Linux Control and Measurement Device Interface
6 * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23#include <linux/pci.h>
24
25#include "comedidev.h"
26
27/**
28 * comedi_to_pci_dev() - comedi_device pointer to pci_dev pointer.
29 * @dev: comedi_device struct
30 */
31struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev)
32{
33 return dev->hw_dev ? to_pci_dev(dev->hw_dev) : NULL;
34}
35EXPORT_SYMBOL_GPL(comedi_to_pci_dev);
36
37/**
38 * comedi_pci_enable() - Enable the PCI device and request the regions.
39 * @pcidev: pci_dev struct
40 * @res_name: name for the requested reqource
41 */
42int comedi_pci_enable(struct pci_dev *pcidev, const char *res_name)
43{
44 int rc;
45
46 rc = pci_enable_device(pcidev);
47 if (rc < 0)
48 return rc;
49
50 rc = pci_request_regions(pcidev, res_name);
51 if (rc < 0)
52 pci_disable_device(pcidev);
53
54 return rc;
55}
56EXPORT_SYMBOL_GPL(comedi_pci_enable);
57
58/**
59 * comedi_pci_disable() - Release the regions and disable the PCI device.
60 * @pcidev: pci_dev struct
61 *
62 * This must be matched with a previous successful call to comedi_pci_enable().
63 */
64void comedi_pci_disable(struct pci_dev *pcidev)
65{
66 pci_release_regions(pcidev);
67 pci_disable_device(pcidev);
68}
69EXPORT_SYMBOL_GPL(comedi_pci_disable);
70
71/**
72 * comedi_pci_auto_config() - Configure/probe a comedi PCI driver.
73 * @pcidev: pci_dev struct
74 * @driver: comedi_driver struct
75 *
76 * Typically called from the pci_driver (*probe) function.
77 */
78int comedi_pci_auto_config(struct pci_dev *pcidev,
79 struct comedi_driver *driver)
80{
81 return comedi_auto_config(&pcidev->dev, driver, 0);
82}
83EXPORT_SYMBOL_GPL(comedi_pci_auto_config);
84
85/**
86 * comedi_pci_auto_unconfig() - Unconfigure/remove a comedi PCI driver.
87 * @pcidev: pci_dev struct
88 *
89 * Typically called from the pci_driver (*remove) function.
90 */
91void comedi_pci_auto_unconfig(struct pci_dev *pcidev)
92{
93 comedi_auto_unconfig(&pcidev->dev);
94}
95EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig);
96
97/**
98 * comedi_pci_driver_register() - Register a comedi PCI driver.
99 * @comedi_driver: comedi_driver struct
100 * @pci_driver: pci_driver struct
101 *
102 * This function is used for the module_init() of comedi PCI drivers.
103 * Do not call it directly, use the module_comedi_pci_driver() helper
104 * macro instead.
105 */
106int comedi_pci_driver_register(struct comedi_driver *comedi_driver,
107 struct pci_driver *pci_driver)
108{
109 int ret;
110
111 ret = comedi_driver_register(comedi_driver);
112 if (ret < 0)
113 return ret;
114
115 ret = pci_register_driver(pci_driver);
116 if (ret < 0) {
117 comedi_driver_unregister(comedi_driver);
118 return ret;
119 }
120
121 return 0;
122}
123EXPORT_SYMBOL_GPL(comedi_pci_driver_register);
124
125/**
126 * comedi_pci_driver_unregister() - Unregister a comedi PCI driver.
127 * @comedi_driver: comedi_driver struct
128 * @pci_driver: pci_driver struct
129 *
130 * This function is used for the module_exit() of comedi PCI drivers.
131 * Do not call it directly, use the module_comedi_pci_driver() helper
132 * macro instead.
133 */
134void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver,
135 struct pci_driver *pci_driver)
136{
137 pci_unregister_driver(pci_driver);
138 comedi_driver_unregister(comedi_driver);
139}
140EXPORT_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 @@
40#include <linux/uaccess.h> 40#include <linux/uaccess.h>
41#include <linux/io.h> 41#include <linux/io.h>
42#include <linux/timer.h> 42#include <linux/timer.h>
43#include <linux/pci.h>
44 43
45#include "comedi.h" 44#include "comedi.h"
46 45
@@ -54,22 +53,6 @@
54 COMEDI_MINORVERSION, COMEDI_MICROVERSION) 53 COMEDI_MINORVERSION, COMEDI_MICROVERSION)
55#define COMEDI_RELEASE VERSION 54#define COMEDI_RELEASE VERSION
56 55
57/*
58 * PCI Vendor IDs not in <linux/pci_ids.h>
59 */
60#define PCI_VENDOR_ID_KOLTER 0x1001
61#define PCI_VENDOR_ID_ICP 0x104c
62#define PCI_VENDOR_ID_AMCC 0x10e8
63#define PCI_VENDOR_ID_DT 0x1116
64#define PCI_VENDOR_ID_IOTECH 0x1616
65#define PCI_VENDOR_ID_CONTEC 0x1221
66#define PCI_VENDOR_ID_CB 0x1307 /* Measurement Computing */
67#define PCI_VENDOR_ID_ADVANTECH 0x13fe
68#define PCI_VENDOR_ID_MEILHAUS 0x1402
69#define PCI_VENDOR_ID_RTD 0x1435
70#define PCI_VENDOR_ID_ADLINK 0x144a
71#define PCI_VENDOR_ID_AMPLICON 0x14dc
72
73#define COMEDI_NUM_MINORS 0x100 56#define COMEDI_NUM_MINORS 0x100
74#define COMEDI_NUM_BOARD_MINORS 0x30 57#define COMEDI_NUM_BOARD_MINORS 0x30
75#define COMEDI_FIRST_SUBDEVICE_MINOR COMEDI_NUM_BOARD_MINORS 58#define COMEDI_FIRST_SUBDEVICE_MINOR COMEDI_NUM_BOARD_MINORS
@@ -295,26 +278,6 @@ int comedi_driver_unregister(struct comedi_driver *);
295 module_driver(__comedi_driver, comedi_driver_register, \ 278 module_driver(__comedi_driver, comedi_driver_register, \
296 comedi_driver_unregister) 279 comedi_driver_unregister)
297 280
298int comedi_pci_enable(struct pci_dev *, const char *);
299void comedi_pci_disable(struct pci_dev *);
300
301int comedi_pci_driver_register(struct comedi_driver *, struct pci_driver *);
302void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *);
303
304/**
305 * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver
306 * @__comedi_driver: comedi_driver struct
307 * @__pci_driver: pci_driver struct
308 *
309 * Helper macro for comedi PCI drivers which do not do anything special
310 * in module init/exit. This eliminates a lot of boilerplate. Each
311 * module may only use this macro once, and calling it replaces
312 * module_init() and module_exit()
313 */
314#define module_comedi_pci_driver(__comedi_driver, __pci_driver) \
315 module_driver(__comedi_driver, comedi_pci_driver_register, \
316 comedi_pci_driver_unregister, &(__pci_driver))
317
318struct pcmcia_driver; 281struct pcmcia_driver;
319 282
320int comedi_pcmcia_driver_register(struct comedi_driver *, 283int comedi_pcmcia_driver_register(struct comedi_driver *,
@@ -424,11 +387,6 @@ static inline void comedi_set_hw_dev(struct comedi_device *dev,
424 put_device(old_hw_dev); 387 put_device(old_hw_dev);
425} 388}
426 389
427static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev)
428{
429 return dev->hw_dev ? to_pci_dev(dev->hw_dev) : NULL;
430}
431
432unsigned int comedi_buf_write_alloc(struct comedi_async *, unsigned int); 390unsigned int comedi_buf_write_alloc(struct comedi_async *, unsigned int);
433unsigned int comedi_buf_write_free(struct comedi_async *, unsigned int); 391unsigned int comedi_buf_write_free(struct comedi_async *, unsigned int);
434 392
@@ -451,13 +409,77 @@ int comedi_auto_config(struct device *hardware_device,
451 struct comedi_driver *driver, unsigned long context); 409 struct comedi_driver *driver, unsigned long context);
452void comedi_auto_unconfig(struct device *hardware_device); 410void comedi_auto_unconfig(struct device *hardware_device);
453 411
454static inline int comedi_pci_auto_config(struct pci_dev *pcidev, 412#ifdef CONFIG_COMEDI_PCI_DRIVERS
455 struct comedi_driver *driver) 413
414/* comedi_pci.c - comedi PCI driver specific functions */
415
416/*
417 * PCI Vendor IDs not in <linux/pci_ids.h>
418 */
419#define PCI_VENDOR_ID_KOLTER 0x1001
420#define PCI_VENDOR_ID_ICP 0x104c
421#define PCI_VENDOR_ID_AMCC 0x10e8
422#define PCI_VENDOR_ID_DT 0x1116
423#define PCI_VENDOR_ID_IOTECH 0x1616
424#define PCI_VENDOR_ID_CONTEC 0x1221
425#define PCI_VENDOR_ID_CB 0x1307 /* Measurement Computing */
426#define PCI_VENDOR_ID_ADVANTECH 0x13fe
427#define PCI_VENDOR_ID_MEILHAUS 0x1402
428#define PCI_VENDOR_ID_RTD 0x1435
429#define PCI_VENDOR_ID_ADLINK 0x144a
430#define PCI_VENDOR_ID_AMPLICON 0x14dc
431
432struct pci_dev;
433struct pci_driver;
434
435struct pci_dev *comedi_to_pci_dev(struct comedi_device *);
436
437int comedi_pci_enable(struct pci_dev *, const char *);
438void comedi_pci_disable(struct pci_dev *);
439
440int comedi_pci_auto_config(struct pci_dev *, struct comedi_driver *);
441void comedi_pci_auto_unconfig(struct pci_dev *);
442
443int comedi_pci_driver_register(struct comedi_driver *, struct pci_driver *);
444void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *);
445
446/**
447 * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver
448 * @__comedi_driver: comedi_driver struct
449 * @__pci_driver: pci_driver struct
450 *
451 * Helper macro for comedi PCI drivers which do not do anything special
452 * in module init/exit. This eliminates a lot of boilerplate. Each
453 * module may only use this macro once, and calling it replaces
454 * module_init() and module_exit()
455 */
456#define module_comedi_pci_driver(__comedi_driver, __pci_driver) \
457 module_driver(__comedi_driver, comedi_pci_driver_register, \
458 comedi_pci_driver_unregister, &(__pci_driver))
459
460#else
461
462/*
463 * Some of the comedi mixed ISA/PCI drivers call the PCI specific
464 * functions. Provide some dummy functions if CONFIG_COMEDI_PCI_DRIVERS
465 * is not enabled.
466 */
467
468static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev)
469{
470 return NULL;
471}
472
473static inline int comedi_pci_enable(struct pci_dev *dev, const char *name)
474{
475 return -ENOSYS;
476}
477
478static inline void comedi_pci_disable(struct pci_dev *dev)
456{ 479{
457 return comedi_auto_config(&pcidev->dev, driver, 0);
458} 480}
459 481
460void comedi_pci_auto_unconfig(struct pci_dev *pcidev); 482#endif /* CONFIG_COMEDI_PCI_DRIVERS */
461 483
462#ifdef CONFIG_COMEDI_USB_DRIVERS 484#ifdef CONFIG_COMEDI_USB_DRIVERS
463 485
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 @@
23 23
24#include <linux/device.h> 24#include <linux/device.h>
25#include <linux/module.h> 25#include <linux/module.h>
26#include <linux/pci.h>
27#include <pcmcia/cistpl.h> 26#include <pcmcia/cistpl.h>
28#include <pcmcia/ds.h> 27#include <pcmcia/ds.h>
29#include <linux/errno.h> 28#include <linux/errno.h>
@@ -496,73 +495,6 @@ void comedi_auto_unconfig(struct device *hardware_device)
496} 495}
497EXPORT_SYMBOL_GPL(comedi_auto_unconfig); 496EXPORT_SYMBOL_GPL(comedi_auto_unconfig);
498 497
499/**
500 * comedi_pci_enable() - Enable the PCI device and request the regions.
501 * @pdev: pci_dev struct
502 * @res_name: name for the requested reqource
503 */
504int comedi_pci_enable(struct pci_dev *pdev, const char *res_name)
505{
506 int rc;
507
508 rc = pci_enable_device(pdev);
509 if (rc < 0)
510 return rc;
511
512 rc = pci_request_regions(pdev, res_name);
513 if (rc < 0)
514 pci_disable_device(pdev);
515
516 return rc;
517}
518EXPORT_SYMBOL_GPL(comedi_pci_enable);
519
520/**
521 * comedi_pci_disable() - Release the regions and disable the PCI device.
522 * @pdev: pci_dev struct
523 *
524 * This must be matched with a previous successful call to comedi_pci_enable().
525 */
526void comedi_pci_disable(struct pci_dev *pdev)
527{
528 pci_release_regions(pdev);
529 pci_disable_device(pdev);
530}
531EXPORT_SYMBOL_GPL(comedi_pci_disable);
532
533int comedi_pci_driver_register(struct comedi_driver *comedi_driver,
534 struct pci_driver *pci_driver)
535{
536 int ret;
537
538 ret = comedi_driver_register(comedi_driver);
539 if (ret < 0)
540 return ret;
541
542 ret = pci_register_driver(pci_driver);
543 if (ret < 0) {
544 comedi_driver_unregister(comedi_driver);
545 return ret;
546 }
547
548 return 0;
549}
550EXPORT_SYMBOL_GPL(comedi_pci_driver_register);
551
552void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver,
553 struct pci_driver *pci_driver)
554{
555 pci_unregister_driver(pci_driver);
556 comedi_driver_unregister(comedi_driver);
557}
558EXPORT_SYMBOL_GPL(comedi_pci_driver_unregister);
559
560void comedi_pci_auto_unconfig(struct pci_dev *pcidev)
561{
562 comedi_auto_unconfig(&pcidev->dev);
563}
564EXPORT_SYMBOL_GPL(comedi_pci_auto_unconfig);
565
566#if IS_ENABLED(CONFIG_PCMCIA) 498#if IS_ENABLED(CONFIG_PCMCIA)
567int comedi_pcmcia_driver_register(struct comedi_driver *comedi_driver, 499int comedi_pcmcia_driver_register(struct comedi_driver *comedi_driver,
568 struct pcmcia_driver *pcmcia_driver) 500 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.
54Configuration Options: not applicable, uses PCI auto config 54Configuration Options: not applicable, uses PCI auto config
55*/ 55*/
56 56
57#include <linux/pci.h>
58
57#include "../comedidev.h" 59#include "../comedidev.h"
58 60
59#include "8255.h" 61#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 @@
1#include <linux/pci.h>
2
1#include "../comedidev.h" 3#include "../comedidev.h"
2#include "comedi_fc.h" 4#include "comedi_fc.h"
3#include "amcc_s5933.h" 5#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 @@
29 * source code. 29 * source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
32#include <linux/interrupt.h> 33#include <linux/interrupt.h>
33 34
34#include "../comedidev.h" 35#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 @@
1#include <linux/pci.h>
2
1#include "../comedidev.h" 3#include "../comedidev.h"
2#include "comedi_fc.h" 4#include "comedi_fc.h"
3#include "amcc_s5933.h" 5#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 @@
29 * this source code. 29 * this source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
33
32#include "../comedidev.h" 34#include "../comedidev.h"
33#include "addi_watchdog.h" 35#include "addi_watchdog.h"
34#include "comedi_fc.h" 36#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 @@
1#include <linux/pci.h>
2
1#include "../comedidev.h" 3#include "../comedidev.h"
2#include "comedi_fc.h" 4#include "comedi_fc.h"
3#include "amcc_s5933.h" 5#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 @@
29 * this source code. 29 * this source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
33
32#include "../comedidev.h" 34#include "../comedidev.h"
33 35
34/* 36/*
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 @@
1#include <linux/pci.h>
2
1#include <asm/i387.h> 3#include <asm/i387.h>
2 4
3#include "../comedidev.h" 5#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 @@
29 * this source code. 29 * this source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
32#include <linux/interrupt.h> 33#include <linux/interrupt.h>
33 34
34#include "../comedidev.h" 35#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 @@
29 * this source code. 29 * this source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
33
32#include "../comedidev.h" 34#include "../comedidev.h"
33#include "addi_watchdog.h" 35#include "addi_watchdog.h"
34 36
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 @@
1#include <linux/pci.h>
2
1#include "../comedidev.h" 3#include "../comedidev.h"
2#include "comedi_fc.h" 4#include "comedi_fc.h"
3#include "amcc_s5933.h" 5#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 @@
1#include <linux/pci.h>
2
1#include <asm/i387.h> 3#include <asm/i387.h>
2 4
3#include "../comedidev.h" 5#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 @@
29 * this source code. 29 * this source code.
30 */ 30 */
31 31
32#include <linux/pci.h>
32#include <linux/interrupt.h> 33#include <linux/interrupt.h>
33#include <linux/sched.h> 34#include <linux/sched.h>
34 35
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 @@
1#include <linux/pci.h>
2
1#include "../comedidev.h" 3#include "../comedidev.h"
2#include "comedi_fc.h" 4#include "comedi_fc.h"
3#include "amcc_s5933.h" 5#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:
42 - adl_pci9118.c 42 - adl_pci9118.c
43*/ 43*/
44 44
45#include <linux/pci.h>
46
45#include "../comedidev.h" 47#include "../comedidev.h"
46 48
47/* 49/*
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.
54Configuration Options: not applicable 54Configuration Options: not applicable
55*/ 55*/
56 56
57#include <linux/pci.h>
58
57#include "../comedidev.h" 59#include "../comedidev.h"
58 60
59/* 61/*
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
30Configuration Options: not applicable, uses PCI auto config 30Configuration Options: not applicable, uses PCI auto config
31*/ 31*/
32 32
33#include "../comedidev.h"
34#include <linux/kernel.h> 33#include <linux/kernel.h>
34#include <linux/pci.h>
35#include <linux/delay.h> 35#include <linux/delay.h>
36
37#include "../comedidev.h"
36#include "comedi_fc.h" 38#include "comedi_fc.h"
37#include "8253.h" 39#include "8253.h"
38 40
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:
68 68
69*/ 69*/
70 70
71#include "../comedidev.h" 71#include <linux/pci.h>
72
73#include <linux/delay.h> 72#include <linux/delay.h>
74#include <linux/interrupt.h> 73#include <linux/interrupt.h>
75 74
75#include "../comedidev.h"
76
76#include "8253.h" 77#include "8253.h"
77#include "comedi_fc.h" 78#include "comedi_fc.h"
78 79
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:
76 * attachment if necessary, and possibly to set other options supported by 76 * attachment if necessary, and possibly to set other options supported by
77 * manual attachment. 77 * manual attachment.
78 */ 78 */
79#include "../comedidev.h"
80 79
80#include <linux/pci.h>
81#include <linux/delay.h> 81#include <linux/delay.h>
82#include <linux/gfp.h> 82#include <linux/gfp.h>
83#include <linux/interrupt.h> 83#include <linux/interrupt.h>
84#include <linux/io.h> 84#include <linux/io.h>
85 85
86#include "../comedidev.h"
87
86#include "amcc_s5933.h" 88#include "amcc_s5933.h"
87#include "8253.h" 89#include "8253.h"
88#include "comedi_fc.h" 90#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:
41 device will be used. 41 device will be used.
42*/ 42*/
43 43
44#include <linux/pci.h>
44#include <linux/interrupt.h> 45#include <linux/interrupt.h>
45 46
46#include "../comedidev.h" 47#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:
483. Implement calibration. 483. Implement calibration.
49*/ 49*/
50 50
51#include <linux/pci.h>
52
51#include "../comedidev.h" 53#include "../comedidev.h"
52 54
53/* all the registers for the pci1723 board */ 55/* 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:
29 29
30*/ 30*/
31 31
32#include "../comedidev.h" 32#include <linux/pci.h>
33
34#include <linux/delay.h> 33#include <linux/delay.h>
35 34
35#include "../comedidev.h"
36
36#include "8255.h" 37#include "8255.h"
37#include "8253.h" 38#include "8253.h"
38 39
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 @@
258 * order they appear in the channel list. 258 * order they appear in the channel list.
259 */ 259 */
260 260
261#include <linux/pci.h>
261#include <linux/interrupt.h> 262#include <linux/interrupt.h>
262#include <linux/slab.h> 263#include <linux/slab.h>
263 264
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
52unused. 52unused.
53*/ 53*/
54 54
55#include <linux/pci.h>
55#include <linux/interrupt.h> 56#include <linux/interrupt.h>
56 57
57#include "../comedidev.h" 58#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.
44The state of the outputs can be read. 44The state of the outputs can be read.
45*/ 45*/
46 46
47#include <linux/pci.h>
48
47#include "../comedidev.h" 49#include "../comedidev.h"
48 50
49#define PC263_DRIVER_NAME "amplc_pc263" 51#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:
103 correctly. 103 correctly.
104*/ 104*/
105 105
106#include <linux/pci.h>
106#include <linux/interrupt.h> 107#include <linux/interrupt.h>
107#include <linux/slab.h> 108#include <linux/slab.h>
108 109
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
188for (or detection of) various hardware problems added by Ian Abbott. 188for (or detection of) various hardware problems added by Ian Abbott.
189*/ 189*/
190 190
191#include "../comedidev.h" 191#include <linux/pci.h>
192
193#include <linux/delay.h> 192#include <linux/delay.h>
194#include <linux/interrupt.h> 193#include <linux/interrupt.h>
195 194
195#include "../comedidev.h"
196
196#include "comedi_fc.h" 197#include "comedi_fc.h"
197#include "8253.h" 198#include "8253.h"
198#include "8255.h" 199#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:
67analog triggering on 1602 series 67analog triggering on 1602 series
68*/ 68*/
69 69
70#include "../comedidev.h" 70#include <linux/pci.h>
71#include <linux/delay.h> 71#include <linux/delay.h>
72#include <linux/interrupt.h> 72#include <linux/interrupt.h>
73 73
74#include "../comedidev.h"
75
74#include "8253.h" 76#include "8253.h"
75#include "8255.h" 77#include "8255.h"
76#include "amcc_s5933.h" 78#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:
87 87
88#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 88#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
89 89
90#include "../comedidev.h" 90#include <linux/pci.h>
91#include <linux/delay.h> 91#include <linux/delay.h>
92#include <linux/interrupt.h> 92#include <linux/interrupt.h>
93 93
94#include "../comedidev.h"
95
94#include "8253.h" 96#include "8253.h"
95#include "8255.h" 97#include "8255.h"
96#include "plx9080.h" 98#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 @@
41 * Only simple analog output writing is supported. 41 * Only simple analog output writing is supported.
42 */ 42 */
43 43
44#include <linux/pci.h>
45
44#include "../comedidev.h" 46#include "../comedidev.h"
45 47
46#include "comedi_fc.h" 48#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
40See http://www.mccdaq.com/PDFs/Manuals/pcim-das1602-16.pdf for more details. 40See http://www.mccdaq.com/PDFs/Manuals/pcim-das1602-16.pdf for more details.
41*/ 41*/
42 42
43#include "../comedidev.h" 43#include <linux/pci.h>
44
45#include <linux/delay.h> 44#include <linux/delay.h>
46#include <linux/interrupt.h> 45#include <linux/interrupt.h>
47 46
47#include "../comedidev.h"
48
48#include "plx9052.h" 49#include "plx9052.h"
49#include "8255.h" 50#include "8255.h"
50 51
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
79 -Calin Culianu <calin@ajvar.org> 79 -Calin Culianu <calin@ajvar.org>
80 */ 80 */
81 81
82#include <linux/pci.h>
83
82#include "../comedidev.h" 84#include "../comedidev.h"
83 85
84#include "8255.h" 86#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
30Configuration Options: not applicable, uses comedi PCI auto config 30Configuration Options: not applicable, uses comedi PCI auto config
31*/ 31*/
32 32
33#include <linux/pci.h>
34
33#include "../comedidev.h" 35#include "../comedidev.h"
34 36
35#define PCI_DEVICE_ID_PIO1616L 0x8172 37#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
107 107
108 */ 108 */
109 109
110#include "../comedidev.h" 110#include <linux/pci.h>
111
112#include <linux/delay.h> 111#include <linux/delay.h>
113#include <linux/interrupt.h> 112#include <linux/interrupt.h>
114#include <linux/firmware.h> 113#include <linux/firmware.h>
115 114
115#include "../comedidev.h"
116
116#include "8255.h" 117#include "8255.h"
117 118
118#define DAQBOARD2000_FIRMWARE "daqboard2000_firmware.bin" 119#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 @@
51 * driver. 51 * driver.
52 */ 52 */
53 53
54#include "../comedidev.h" 54#include <linux/pci.h>
55
56#include <linux/delay.h> 55#include <linux/delay.h>
57 56
57#include "../comedidev.h"
58
58#include "8255.h" 59#include "8255.h"
59#include "8253.h" 60#include "8253.h"
60#include "das08.h" 61#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):
46Command support does not exist, but could be added for this board. 46Command support does not exist, but could be added for this board.
47*/ 47*/
48 48
49#include "../comedidev.h"
50
51#include <linux/delay.h> 49#include <linux/delay.h>
52#include <linux/pci.h>
53#include <linux/slab.h> 50#include <linux/slab.h>
54 51
52#include "../comedidev.h"
53
55#include "das08.h" 54#include "das08.h"
56 55
57/* pcmcia includes */ 56/* 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
82#include <linux/pci.h> 82#include <linux/pci.h>
83#include <linux/slab.h> 83#include <linux/slab.h>
84#include <linux/interrupt.h> 84#include <linux/interrupt.h>
85
85#include <asm/dma.h> 86#include <asm/dma.h>
87
86#include "../comedidev.h" 88#include "../comedidev.h"
87 89
88#include "8253.h" 90#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.
55 55
56#define DEBUG 1 56#define DEBUG 1
57 57
58#include <linux/pci.h>
59#include <linux/delay.h>
58#include <linux/interrupt.h> 60#include <linux/interrupt.h>
61
59#include "../comedidev.h" 62#include "../comedidev.h"
60#include <linux/delay.h>
61 63
62#include "comedi_fc.h" 64#include "comedi_fc.h"
63 65
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 @@
37 their cards in their manuals. 37 their cards in their manuals.
38*/ 38*/
39 39
40#include "../comedidev.h" 40#include <linux/pci.h>
41#include <linux/mutex.h> 41#include <linux/mutex.h>
42 42
43#include "../comedidev.h"
44
43#define READ_TIMEOUT 50 45#define READ_TIMEOUT 50
44 46
45static const struct comedi_lrange range_pci1050_ai = { 3, { 47static 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 @@
47 47
48#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 48#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
49 49
50#include <linux/pci.h>
51#include <linux/delay.h>
50#include <linux/interrupt.h> 52#include <linux/interrupt.h>
53
51#include "../comedidev.h" 54#include "../comedidev.h"
52#include <linux/delay.h>
53 55
54#include "plx9080.h" 56#include "plx9080.h"
55#include "comedi_fc.h" 57#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
47Configuration options: not applicable, uses PCI auto config 47Configuration options: not applicable, uses PCI auto config
48*/ 48*/
49 49
50#include <linux/pci.h>
51#include <linux/delay.h>
50#include <linux/interrupt.h> 52#include <linux/interrupt.h>
51#include "../comedidev.h"
52 53
53#include <linux/delay.h> 54#include "../comedidev.h"
54#include <linux/pci.h>
55 55
56#define PCI_DEVICE_ID_ICP_MULTI 0x8000 56#define PCI_DEVICE_ID_ICP_MULTI 0x8000
57 57
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 @@
42 * comedi_nonfree_firmware tarball. The file is called "jr3pci.idm". 42 * comedi_nonfree_firmware tarball. The file is called "jr3pci.idm".
43 */ 43 */
44 44
45#include "../comedidev.h" 45#include <linux/kernel.h>
46 46#include <linux/pci.h>
47#include <linux/delay.h> 47#include <linux/delay.h>
48#include <linux/ctype.h> 48#include <linux/ctype.h>
49#include <linux/firmware.h> 49#include <linux/firmware.h>
50#include <linux/jiffies.h> 50#include <linux/jiffies.h>
51#include <linux/slab.h> 51#include <linux/slab.h>
52#include <linux/timer.h> 52#include <linux/timer.h>
53#include <linux/kernel.h> 53
54#include "../comedidev.h"
55
54#include "jr3_pci.h" 56#include "jr3_pci.h"
55 57
56#define PCI_VENDOR_ID_JR3 0x1762 58#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
34Kolter Electronic PCI Counter Card. 34Kolter Electronic PCI Counter Card.
35*/ 35*/
36 36
37#include <linux/pci.h>
38
37#include "../comedidev.h" 39#include "../comedidev.h"
38 40
39#define CNT_CARD_DEVICE_ID 0x0014 41#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.
45 45
46 */ 46 */
47 47
48#include <linux/interrupt.h> 48#include <linux/pci.h>
49#include "../comedidev.h"
50
51#include <linux/delay.h> 49#include <linux/delay.h>
50#include <linux/interrupt.h>
52#include <linux/list.h> 51#include <linux/list.h>
53#include <linux/spinlock.h> 52#include <linux/spinlock.h>
54 53
54#include "../comedidev.h"
55
55#include "comedi_fc.h" 56#include "comedi_fc.h"
56#include "8253.h" 57#include "8253.h"
57 58
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 @@
34 * Analog Input, Analog Output, Digital I/O 34 * Analog Input, Analog Output, Digital I/O
35 */ 35 */
36 36
37#include <linux/pci.h>
37#include <linux/interrupt.h> 38#include <linux/interrupt.h>
38#include <linux/sched.h> 39#include <linux/sched.h>
39#include <linux/firmware.h> 40#include <linux/firmware.h>
41
40#include "../comedidev.h" 42#include "../comedidev.h"
41 43
42#define ME2600_FIRMWARE "me2600_firmware.bin" 44#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 @@
51 51
52#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 52#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
53 53
54#include "mite.h" 54#include <linux/pci.h>
55 55
56#include "comedi_fc.h"
57#include "../comedidev.h" 56#include "../comedidev.h"
58 57
58#include "comedi_fc.h"
59#include "mite.h"
59 60
60#define PCI_MITE_SIZE 4096 61#define PCI_MITE_SIZE 4096
61#define PCI_DAQ_SIZE 4096 62#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
41#define DEBUG 1 41#define DEBUG 1
42#define DEBUG_FLAGS 42#define DEBUG_FLAGS
43 43
44#include <linux/pci.h>
44#include <linux/interrupt.h> 45#include <linux/interrupt.h>
46
45#include "../comedidev.h" 47#include "../comedidev.h"
46 48
47#include "comedi_fc.h" 49#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.
50 50
51#define DEBUG 1 51#define DEBUG 1
52#define DEBUG_FLAGS 52#define DEBUG_FLAGS
53
54#include <linux/pci.h>
53#include <linux/interrupt.h> 55#include <linux/interrupt.h>
54#include <linux/slab.h> 56#include <linux/slab.h>
57
55#include "../comedidev.h" 58#include "../comedidev.h"
56 59
57#include "comedi_fc.h" 60#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)
40 40
41*/ 41*/
42 42
43#include <linux/pci.h>
43#include <linux/interrupt.h> 44#include <linux/interrupt.h>
45
44#include "../comedidev.h" 46#include "../comedidev.h"
47
45#include "mite.h" 48#include "mite.h"
46#include "ni_tio.h" 49#include "ni_tio.h"
47 50
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.
41 41
42*/ 42*/
43 43
44#include <linux/pci.h>
44#include <linux/interrupt.h> 45#include <linux/interrupt.h>
45#include <linux/slab.h> 46#include <linux/slab.h>
47
46#include "../comedidev.h" 48#include "../comedidev.h"
47 49
48#include "mite.h" 50#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:
73 73
74*/ 74*/
75 75
76#include <linux/pci.h>
76#include <linux/interrupt.h> 77#include <linux/interrupt.h>
77#include <linux/slab.h> 78#include <linux/slab.h>
78#include <linux/io.h> 79#include <linux/io.h>
80#include <linux/delay.h>
81
79#include "../comedidev.h" 82#include "../comedidev.h"
80 83
81#include <linux/delay.h>
82#include <asm/dma.h> 84#include <asm/dma.h>
83 85
84#include "8253.h" 86#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
55/* #define DEBUG 1 */ 55/* #define DEBUG 1 */
56/* #define DEBUG_FLAGS */ 56/* #define DEBUG_FLAGS */
57 57
58#include <linux/delay.h>
58#include <linux/interrupt.h> 59#include <linux/interrupt.h>
59#include <linux/sched.h> 60#include <linux/sched.h>
60#include <linux/firmware.h> 61#include <linux/firmware.h>
62
61#include "../comedidev.h" 63#include "../comedidev.h"
62 64
63#include "comedi_fc.h" 65#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:
110 110
111*/ 111*/
112 112
113#include <linux/delay.h>
114#include <linux/delay.h>
115
113#include "../comedidev.h" 116#include "../comedidev.h"
114 117
115#include <asm/byteorder.h> 118#include <asm/byteorder.h>
116#include <linux/delay.h>
117 119
118#include "ni_stc.h" 120#include "ni_stc.h"
119#include "mite.h" 121#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:
53 53
54#include "../comedidev.h" 54#include "../comedidev.h"
55 55
56#include <linux/pci.h> /* for PCI devices */
57
58#define CHANS 8 56#define CHANS 8
59#define IOSIZE 16 57#define IOSIZE 16
60#define LSB(x) ((unsigned char)((x) & 0xff)) 58#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:
78 78
79#include <linux/interrupt.h> 79#include <linux/interrupt.h>
80#include <linux/slab.h> 80#include <linux/slab.h>
81#include <linux/pci.h>
82 81
83#include "../comedidev.h" 82#include "../comedidev.h"
83
84#include "comedi_fc.h" 84#include "comedi_fc.h"
85 85
86/* This stuff is all from pcmuio.c -- it refers to the DIO subdevices only */ 86/* 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:
77 77
78#include <linux/interrupt.h> 78#include <linux/interrupt.h>
79#include <linux/slab.h> 79#include <linux/slab.h>
80#include <linux/pci.h>
81 80
82#include "../comedidev.h" 81#include "../comedidev.h"
82
83#include "comedi_fc.h" 83#include "comedi_fc.h"
84 84
85#define CHANS_PER_PORT 8 85#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:
101 101
102*/ 102*/
103 103
104#include <linux/interrupt.h> 104#include <linux/pci.h>
105#include <linux/delay.h> 105#include <linux/delay.h>
106#include <linux/interrupt.h>
106 107
107#include "../comedidev.h" 108#include "../comedidev.h"
108 109
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:
64 comedi_do_insn(cf,&insn); //executing configuration 64 comedi_do_insn(cf,&insn); //executing configuration
65*/ 65*/
66 66
67#include <linux/pci.h>
67#include <linux/interrupt.h> 68#include <linux/interrupt.h>
68#include <linux/kernel.h> 69#include <linux/kernel.h>
69#include <linux/types.h> 70#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:
72 * options that are used with comedi_config. 72 * options that are used with comedi_config.
73 */ 73 */
74 74
75#include "../comedidev.h" 75#include <linux/pci.h>
76 76
77#include <linux/pci.h> /* for PCI devices */ 77#include "../comedidev.h"
78 78
79#include "comedi_fc.h" 79#include "comedi_fc.h"
80 80