Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 304707
b: refs/heads/master
c: cb4c516
h: refs/heads/master
i:
  304705: f8e1f0b
  304703: 93430ed
v: v3
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed May 16, 2012
1 parent 1ca8e70 commit 8a43556
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 81 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fe14fa2b243f301841ef193de334376bab686643
refs/heads/master: cb4c516ca14efd9dd64caf6dd3ae7558f0d480e3
137 changes: 57 additions & 80 deletions trunk/drivers/staging/comedi/drivers/ni_pcidio.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,18 +293,9 @@ enum FPGA_Control_Bits {
#define IntEn (TransferReady|CountExpired|Waited|PrimaryTC|SecondaryTC)
#endif

static int nidio_attach(struct comedi_device *dev, struct comedi_devconfig *it);
static int nidio_detach(struct comedi_device *dev);
static int ni_pcidio_cancel(struct comedi_device *dev,
struct comedi_subdevice *s);

static struct comedi_driver driver_pcidio = {
.driver_name = "ni_pcidio",
.module = THIS_MODULE,
.attach = nidio_attach,
.detach = nidio_detach,
};

struct nidio_board {

int dev_id;
Expand Down Expand Up @@ -381,22 +372,6 @@ static const struct nidio_board nidio_boards[] = {
#define n_nidio_boards ARRAY_SIZE(nidio_boards)
#define this_board ((const struct nidio_board *)dev->board_ptr)

static DEFINE_PCI_DEVICE_TABLE(ni_pcidio_pci_table) = {
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1150)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1320)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x12b0)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x0160)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1630)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x13c0)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x0400)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1250)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x17d0)},
{PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1800)},
{0}
};

MODULE_DEVICE_TABLE(pci, ni_pcidio_pci_table);

struct nidio96_private {
struct mite_struct *mite;
int boardtype;
Expand All @@ -414,7 +389,6 @@ static int ni_pcidio_cmdtest(struct comedi_device *dev,
static int ni_pcidio_cmd(struct comedi_device *dev, struct comedi_subdevice *s);
static int ni_pcidio_inttrig(struct comedi_device *dev,
struct comedi_subdevice *s, unsigned int trignum);
static int nidio_find_device(struct comedi_device *dev, int bus, int slot);
static int ni_pcidio_ns_to_timer(int *nanosec, int round_mode);
static int setup_mite_dma(struct comedi_device *dev,
struct comedi_subdevice *s);
Expand Down Expand Up @@ -1205,6 +1179,33 @@ static int pci_6534_upload_firmware(struct comedi_device *dev, int options[])
return 0;
}

static int nidio_find_device(struct comedi_device *dev, int bus, int slot)
{
struct mite_struct *mite;
int i;

for (mite = mite_devices; mite; mite = mite->next) {
if (mite->used)
continue;
if (bus || slot) {
if (bus != mite->pcidev->bus->number ||
slot != PCI_SLOT(mite->pcidev->devfn))
continue;
}
for (i = 0; i < n_nidio_boards; i++) {
if (mite_device_id(mite) == nidio_boards[i].dev_id) {
dev->board_ptr = nidio_boards + i;
devpriv->mite = mite;

return 0;
}
}
}
printk(KERN_WARNING "no device found\n");
mite_list_devices();
return -EIO;
}

static int nidio_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
struct comedi_subdevice *s;
Expand Down Expand Up @@ -1329,70 +1330,46 @@ static int nidio_detach(struct comedi_device *dev)
return 0;
}

static int nidio_find_device(struct comedi_device *dev, int bus, int slot)
{
struct mite_struct *mite;
int i;

for (mite = mite_devices; mite; mite = mite->next) {
if (mite->used)
continue;
if (bus || slot) {
if (bus != mite->pcidev->bus->number ||
slot != PCI_SLOT(mite->pcidev->devfn))
continue;
}
for (i = 0; i < n_nidio_boards; i++) {
if (mite_device_id(mite) == nidio_boards[i].dev_id) {
dev->board_ptr = nidio_boards + i;
devpriv->mite = mite;

return 0;
}
}
}
printk(KERN_WARNING "no device found\n");
mite_list_devices();
return -EIO;
}
static struct comedi_driver ni_pcidio_driver = {
.driver_name = "ni_pcidio",
.module = THIS_MODULE,
.attach = nidio_attach,
.detach = nidio_detach,
};

static int __devinit driver_pcidio_pci_probe(struct pci_dev *dev,
const struct pci_device_id *ent)
static int __devinit ni_pcidio_pci_probe(struct pci_dev *dev,
const struct pci_device_id *ent)
{
return comedi_pci_auto_config(dev, &driver_pcidio);
return comedi_pci_auto_config(dev, &ni_pcidio_driver);
}

static void __devexit driver_pcidio_pci_remove(struct pci_dev *dev)
static void __devexit ni_pcidio_pci_remove(struct pci_dev *dev)
{
comedi_pci_auto_unconfig(dev);
}

static struct pci_driver driver_pcidio_pci_driver = {
.id_table = ni_pcidio_pci_table,
.probe = &driver_pcidio_pci_probe,
.remove = __devexit_p(&driver_pcidio_pci_remove)
static DEFINE_PCI_DEVICE_TABLE(ni_pcidio_pci_table) = {
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1150) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1320) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x12b0) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x0160) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1630) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x13c0) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x0400) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1250) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x17d0) },
{ PCI_DEVICE(PCI_VENDOR_ID_NI, 0x1800) },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, ni_pcidio_pci_table);

static int __init driver_pcidio_init_module(void)
{
int retval;

retval = comedi_driver_register(&driver_pcidio);
if (retval < 0)
return retval;

driver_pcidio_pci_driver.name = (char *)driver_pcidio.driver_name;
return pci_register_driver(&driver_pcidio_pci_driver);
}

static void __exit driver_pcidio_cleanup_module(void)
{
pci_unregister_driver(&driver_pcidio_pci_driver);
comedi_driver_unregister(&driver_pcidio);
}

module_init(driver_pcidio_init_module);
module_exit(driver_pcidio_cleanup_module);
static struct pci_driver ni_pcidio_pci_driver = {
.name = "ni_pcidio",
.id_table = ni_pcidio_pci_table,
.probe = ni_pcidio_pci_probe,
.remove = __devexit_p(ni_pcidio_pci_remove),
};
module_comedi_pci_driver(ni_pcidio_driver, ni_pcidio_pci_driver);

MODULE_AUTHOR("Comedi http://www.comedi.org");
MODULE_DESCRIPTION("Comedi low-level driver");
Expand Down

0 comments on commit 8a43556

Please sign in to comment.