diff options
author | H Hartley Sweeten <hsweeten@visionengravers.com> | 2013-04-22 18:32:25 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-23 10:41:37 -0700 |
commit | 4f71ceebebe8af5a4cbedf13c88d1908a96987fc (patch) | |
tree | fabbdf3cb14e741294c4c69c1b9e07ac29cd9d7c /drivers/staging | |
parent | 92046ae49dec96ec40d861721c922c50fabf1756 (diff) |
staging: comedi: das800: move das800_probe()
For aesthetic reasons, move the das800_probe() function near its
only caller, das800_attach().
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/comedi/drivers/das800.c | 132 |
1 files changed, 65 insertions, 67 deletions
diff --git a/drivers/staging/comedi/drivers/das800.c b/drivers/staging/comedi/drivers/das800.c index b3221b77559..630a14dd5b2 100644 --- a/drivers/staging/comedi/drivers/das800.c +++ b/drivers/staging/comedi/drivers/das800.c @@ -235,73 +235,6 @@ static void enable_das800(struct comedi_device *dev); static void disable_das800(struct comedi_device *dev); static int das800_set_frequency(struct comedi_device *dev); -/* checks and probes das-800 series board type */ -static int das800_probe(struct comedi_device *dev) -{ - const struct das800_board *thisboard = comedi_board(dev); - int id_bits; - unsigned long irq_flags; - int board; - - /* 'comedi spin lock irqsave' disables even rt interrupts, we use them to protect indirect addressing */ - spin_lock_irqsave(&dev->spinlock, irq_flags); - outb(ID, dev->iobase + DAS800_GAIN); /* select base address + 7 to be ID register */ - id_bits = inb(dev->iobase + DAS800_ID) & 0x3; /* get id bits */ - spin_unlock_irqrestore(&dev->spinlock, irq_flags); - - board = thisboard - das800_boards; - - switch (id_bits) { - case 0x0: - if (board == das800) { - dev_dbg(dev->class_dev, "Board model: DAS-800\n"); - return board; - } - if (board == ciodas800) { - dev_dbg(dev->class_dev, "Board model: CIO-DAS800\n"); - return board; - } - dev_dbg(dev->class_dev, "Board model (probed): DAS-800\n"); - return das800; - break; - case 0x2: - if (board == das801) { - dev_dbg(dev->class_dev, "Board model: DAS-801\n"); - return board; - } - if (board == ciodas801) { - dev_dbg(dev->class_dev, "Board model: CIO-DAS801\n"); - return board; - } - dev_dbg(dev->class_dev, "Board model (probed): DAS-801\n"); - return das801; - break; - case 0x3: - if (board == das802) { - dev_dbg(dev->class_dev, "Board model: DAS-802\n"); - return board; - } - if (board == ciodas802) { - dev_dbg(dev->class_dev, "Board model: CIO-DAS802\n"); - return board; - } - if (board == ciodas80216) { - dev_dbg(dev->class_dev, "Board model: CIO-DAS802/16\n"); - return board; - } - dev_dbg(dev->class_dev, "Board model (probed): DAS-802\n"); - return das802; - break; - default: - dev_dbg(dev->class_dev, - "Board model: probe returned 0x%x (unknown)\n", - id_bits); - return board; - break; - } - return -1; -} - /* interrupt service routine */ static irqreturn_t das800_interrupt(int irq, void *d) { @@ -729,6 +662,71 @@ static int das800_set_frequency(struct comedi_device *dev) return 0; } +static int das800_probe(struct comedi_device *dev) +{ + const struct das800_board *thisboard = comedi_board(dev); + int id_bits; + unsigned long irq_flags; + int board; + + spin_lock_irqsave(&dev->spinlock, irq_flags); + outb(ID, dev->iobase + DAS800_GAIN); + id_bits = inb(dev->iobase + DAS800_ID) & 0x3; + spin_unlock_irqrestore(&dev->spinlock, irq_flags); + + board = thisboard - das800_boards; + + switch (id_bits) { + case 0x0: + if (board == das800) { + dev_dbg(dev->class_dev, "Board model: DAS-800\n"); + return board; + } + if (board == ciodas800) { + dev_dbg(dev->class_dev, "Board model: CIO-DAS800\n"); + return board; + } + dev_dbg(dev->class_dev, "Board model (probed): DAS-800\n"); + return das800; + break; + case 0x2: + if (board == das801) { + dev_dbg(dev->class_dev, "Board model: DAS-801\n"); + return board; + } + if (board == ciodas801) { + dev_dbg(dev->class_dev, "Board model: CIO-DAS801\n"); + return board; + } + dev_dbg(dev->class_dev, "Board model (probed): DAS-801\n"); + return das801; + break; + case 0x3: + if (board == das802) { + dev_dbg(dev->class_dev, "Board model: DAS-802\n"); + return board; + } + if (board == ciodas802) { + dev_dbg(dev->class_dev, "Board model: CIO-DAS802\n"); + return board; + } + if (board == ciodas80216) { + dev_dbg(dev->class_dev, "Board model: CIO-DAS802/16\n"); + return board; + } + dev_dbg(dev->class_dev, "Board model (probed): DAS-802\n"); + return das802; + break; + default: + dev_dbg(dev->class_dev, + "Board model: probe returned 0x%x (unknown)\n", + id_bits); + return board; + break; + } + return -1; +} + static int das800_attach(struct comedi_device *dev, struct comedi_devconfig *it) { const struct das800_board *thisboard = comedi_board(dev); |