From 71827d43421824a11ac50d83b9e212061a84b025 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 9 Apr 2013 16:13:19 -0700 Subject: [PATCH] staging: comedi: ampcl_dio200: use comedi_request_region() Use comedi_request_region() to request the I/O region used by this driver. Remove the noise when the board is first attached as well as the error message when the request_region() fails, comedi_request_reqion() will output the error message if necessary. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Cc: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/amplc_dio200.c | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/drivers/staging/comedi/drivers/amplc_dio200.c b/drivers/staging/comedi/drivers/amplc_dio200.c index 1d1f2feaeb66..dc35cc9fb081 100644 --- a/drivers/staging/comedi/drivers/amplc_dio200.c +++ b/drivers/staging/comedi/drivers/amplc_dio200.c @@ -268,44 +268,24 @@ static const struct dio200_board dio200_isa_boards[] = { }, }; -/* - * This function checks and requests an I/O region, reporting an error - * if there is a conflict. - */ -static int -dio200_request_region(struct comedi_device *dev, - unsigned long from, unsigned long extent) -{ - if (!from || !request_region(from, extent, dev->board_name)) { - dev_err(dev->class_dev, "I/O port conflict (%#lx,%lu)!\n", - from, extent); - return -EIO; - } - return 0; -} - static int dio200_attach(struct comedi_device *dev, struct comedi_devconfig *it) { const struct dio200_board *thisboard = comedi_board(dev); struct dio200_private *devpriv; - unsigned long iobase; unsigned int irq; int ret; - iobase = it->options[0]; irq = it->options[1]; - dev_info(dev->class_dev, "%s: attach %s 0x%lX,%u\n", - dev->driver->driver_name, dev->board_name, iobase, irq); devpriv = kzalloc(sizeof(*devpriv), GFP_KERNEL); if (!devpriv) return -ENOMEM; dev->private = devpriv; - ret = dio200_request_region(dev, iobase, thisboard->mainsize); - if (ret < 0) + ret = comedi_request_region(dev, it->options[0], thisboard->mainsize); + if (ret) return ret; - devpriv->io.u.iobase = iobase; + devpriv->io.u.iobase = dev->iobase; devpriv->io.regtype = io_regtype; return amplc_dio200_common_attach(dev, irq, 0); }