Skip to content

Commit

Permalink
staging: comedi: das800: move das800_probe()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
H Hartley Sweeten authored and Greg Kroah-Hartman committed Apr 23, 2013
1 parent 92046ae commit 4f71cee
Showing 1 changed file with 65 additions and 67 deletions.
132 changes: 65 additions & 67 deletions drivers/staging/comedi/drivers/das800.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 4f71cee

Please sign in to comment.