Skip to content

Commit

Permalink
staging: comedi: 8255_pci: move ni_pcidio 8255 board support
Browse files Browse the repository at this point in the history
The 8255 based boards in the ni_pcidio driver are all simple
memory mapped 8255 boards that don't require the dma support
provided by the mite driver.

Move the support for these boards from the ni_pcidio driver to
the generic 8255_pci driver.

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>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Sep 14, 2012
1 parent 77f17d3 commit b37c1ae
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 181 deletions.
9 changes: 4 additions & 5 deletions drivers/staging/comedi/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -560,6 +560,8 @@ config COMEDI_8255_PCI
ADlink - PCI-7224, PCI-7248, and PCI-7296
Measurement Computing - PCI-DIO24, PCI-DIO24H, PCI-DIO48H and
PCI-DIO96H
National Instruments - PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503,
PCI-6503B, PCI-6503X, and PXI-6503

To compile this driver as a module, choose M here: the module will
be called 8255_pci.
Expand Down Expand Up @@ -1030,15 +1032,12 @@ config COMEDI_NI_LABPC
called ni_labpc.

config COMEDI_NI_PCIDIO
tristate "NI PCI-DIO32HS, PCI-DIO96, PCI-6533, PCI-6503 support"
tristate "NI PCI-DIO32HS, PCI-6533, PCI-6534 support"
select COMEDI_MITE
select COMEDI_8255
---help---
Enable support for National Instruments PCI-DIO-32HS, PXI-6533,
PCI-DIO-96, PCI-DIO-96B, PXI-6508, PCI-6503, PCI-6503B, PCI-6503X,
PXI-6503, PCI-6533 and PCI-6534
The DIO-96 appears as four 8255 subdevices. See the 8255
driver notes for details.
PCI-6533 and PCI-6534

To compile this driver as a module, choose M here: the module will be
called ni_pcidio.
Expand Down
71 changes: 71 additions & 0 deletions drivers/staging/comedi/drivers/8255_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,13 @@ Devices: (ADLink) PCI-7224 [adl_pci-7224] - 24 channels
(Measurement Computing) PCI-DIO24H [cb_pci-dio24h] - 24 channels
(Measurement Computing) PCI-DIO48H [cb_pci-dio48h] - 48 channels
(Measurement Computing) PCI-DIO96H [cb_pci-dio96h] - 96 channels
(National Instruments) PCI-DIO-96 [ni_pci-dio-96] - 96 channels
(National Instruments) PCI-DIO-96B [ni_pci-dio-96b] - 96 channels
(National Instruments) PXI-6508 [ni_pxi-6508] - 96 channels
(National Instruments) PCI-6503 [ni_pci-6503] - 24 channels
(National Instruments) PCI-6503B [ni_pci-6503b] - 24 channels
(National Instruments) PCI-6503X [ni_pci-6503x] - 24 channels
(National Instruments) PXI-6503 [ni_pxi-6503] - 24 channels
Author: H Hartley Sweeten <hsweeten@visionengravers.com>
Updated: Wed, 12 Sep 2012 11:52:01 -0700
Status: untested
Expand Down Expand Up @@ -66,6 +73,14 @@ Configuration Options: not applicable, uses PCI auto config
#define PCI_DEVICE_ID_CB_PCIDIO96H 0x0017
#define PCI_DEVICE_ID_CB_PCIDIO24 0x0028

#define PCI_DEVICE_ID_NI_PCIDIO96 0x0160
#define PCI_DEVICE_ID_NI_PCI6503 0x0400
#define PCI_DEVICE_ID_NI_PCI6503B 0x1250
#define PCI_DEVICE_ID_NI_PXI6508 0x13c0
#define PCI_DEVICE_ID_NI_PCIDIO96B 0x1630
#define PCI_DEVICE_ID_NI_PCI6503X 0x17d0
#define PCI_DEVICE_ID_NI_PXI_6503 0x1800

struct pci_8255_boardinfo {
const char *name;
unsigned short vendor;
Expand Down Expand Up @@ -118,6 +133,55 @@ static const struct pci_8255_boardinfo pci_8255_boards[] = {
.device = PCI_DEVICE_ID_CB_PCIDIO96H,
.dio_badr = 2,
.n_8255 = 4,
}, {
.name = "ni_pci-dio-96",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PCIDIO96,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 4,
}, {
.name = "ni_pci-dio-96b",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PCIDIO96B,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 4,
}, {
.name = "ni_pxi-6508",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PXI6508,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 4,
}, {
.name = "ni_pci-6503",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PCI6503,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 1,
}, {
.name = "ni_pci-6503b",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PCI6503B,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 1,
}, {
.name = "ni_pci-6503x",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PCI6503X,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 1,
}, {
.name = "ni_pxi-6503",
.vendor = PCI_VENDOR_ID_NI,
.device = PCI_DEVICE_ID_NI_PXI_6503,
.dio_badr = 1,
.is_mmio = 1,
.n_8255 = 1,
},
};

Expand Down Expand Up @@ -265,6 +329,13 @@ static DEFINE_PCI_DEVICE_TABLE(pci_8255_pci_table) = {
{ PCI_DEVICE(PCI_VENDOR_ID_CB, PCI_DEVICE_ID_CB_PCIDIO24H) },
{ PCI_DEVICE(PCI_VENDOR_ID_CB, PCI_DEVICE_ID_CB_PCIDIO48H) },
{ PCI_DEVICE(PCI_VENDOR_ID_CB, PCI_DEVICE_ID_CB_PCIDIO96H) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCIDIO96) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCIDIO96B) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI6508) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCI6503) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCI6503B) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCI6503X) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI_6503) },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, pci_8255_pci_table);
Expand Down
Loading

0 comments on commit b37c1ae

Please sign in to comment.