From 93430ed9e5862ca0803c67507348e25dd34d84ec Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 15 May 2012 17:36:01 -0700 Subject: [PATCH] --- yaml --- r: 304703 b: refs/heads/master c: 5aac8294de60cd2ffac3236c7052571ed6c2d56d h: refs/heads/master i: 304701: d4d6d8c4ac963bcc469db6f964d7cdeaa912cd6e 304699: 3c86b6f89a9e936350481e931a03020dc6ec015c 304695: 88ad68212a6866e57cb536d05f1beade16236bf6 304687: 944066ce943c84f18de6570cba350593087bc761 304671: 31114b475c46780790ee7646e4eb3cc3639392be 304639: f9ef6119662089e7b3b0c9dd768a57c1fa141629 v: v3 --- [refs] | 2 +- .../drivers/staging/comedi/drivers/ni_atmio.c | 92 ++++++++----------- 2 files changed, 38 insertions(+), 56 deletions(-) diff --git a/[refs] b/[refs] index fe5a835e5b47..a6172d01c025 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d22418b09d894af6a1458911dd61e245b4d1d820 +refs/heads/master: 5aac8294de60cd2ffac3236c7052571ed6c2d56d diff --git a/trunk/drivers/staging/comedi/drivers/ni_atmio.c b/trunk/drivers/staging/comedi/drivers/ni_atmio.c index 647c228abfbf..02cf44b38590 100644 --- a/trunk/drivers/staging/comedi/drivers/ni_atmio.c +++ b/trunk/drivers/staging/comedi/drivers/ni_atmio.c @@ -343,49 +343,8 @@ static struct pnp_device_id device_ids[] = { MODULE_DEVICE_TABLE(pnp, device_ids); -static int ni_atmio_attach(struct comedi_device *dev, - struct comedi_devconfig *it); -static int ni_atmio_detach(struct comedi_device *dev); -static struct comedi_driver driver_atmio = { - .driver_name = "ni_atmio", - .module = THIS_MODULE, - .attach = ni_atmio_attach, - .detach = ni_atmio_detach, -}; - -static int __init driver_atmio_init_module(void) -{ - return comedi_driver_register(&driver_atmio); -} - -static void __exit driver_atmio_cleanup_module(void) -{ - comedi_driver_unregister(&driver_atmio); -} - -module_init(driver_atmio_init_module); -module_exit(driver_atmio_cleanup_module); - #include "ni_mio_common.c" -static int ni_getboardtype(struct comedi_device *dev); - -/* clean up allocated resources */ -static int ni_atmio_detach(struct comedi_device *dev) -{ - mio_common_detach(dev); - - if (dev->iobase) - release_region(dev->iobase, NI_SIZE); - if (dev->irq) - free_irq(dev->irq, dev); - - if (devpriv->isapnp_dev) - pnp_device_detach(devpriv->isapnp_dev); - - return 0; -} - static int ni_isapnp_find_board(struct pnp_dev **dev) { struct pnp_dev *isapnp_dev = NULL; @@ -424,6 +383,26 @@ static int ni_isapnp_find_board(struct pnp_dev **dev) return 0; } +static int ni_getboardtype(struct comedi_device *dev) +{ + int device_id = ni_read_eeprom(dev, 511); + int i; + + for (i = 0; i < n_ni_boards; i++) { + if (ni_boards[i].device_id == device_id) + return i; + + } + if (device_id == 255) + printk(" can't find board\n"); + else if (device_id == 0) + printk(" EEPROM read error (?) or device not found\n"); + else + printk(" unknown device ID %d -- contact author\n", device_id); + + return -1; +} + static int ni_atmio_attach(struct comedi_device *dev, struct comedi_devconfig *it) { @@ -518,22 +497,25 @@ static int ni_atmio_attach(struct comedi_device *dev, return 0; } -static int ni_getboardtype(struct comedi_device *dev) +static int ni_atmio_detach(struct comedi_device *dev) { - int device_id = ni_read_eeprom(dev, 511); - int i; + mio_common_detach(dev); - for (i = 0; i < n_ni_boards; i++) { - if (ni_boards[i].device_id == device_id) - return i; + if (dev->iobase) + release_region(dev->iobase, NI_SIZE); + if (dev->irq) + free_irq(dev->irq, dev); - } - if (device_id == 255) - printk(" can't find board\n"); - else if (device_id == 0) - printk(" EEPROM read error (?) or device not found\n"); - else - printk(" unknown device ID %d -- contact author\n", device_id); + if (devpriv->isapnp_dev) + pnp_device_detach(devpriv->isapnp_dev); - return -1; + return 0; } + +static struct comedi_driver ni_atmio_driver = { + .driver_name = "ni_atmio", + .module = THIS_MODULE, + .attach = ni_atmio_attach, + .detach = ni_atmio_detach, +}; +module_comedi_driver(ni_atmio_driver);