From 57aade1daebfdabf0028a13857dc8e85558e1c25 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Mon, 10 Jun 2013 10:16:15 -0700 Subject: [PATCH] staging: comedi: pcl724: tidy up pcl724_attach() Consolidate the special handling of the 'hoard->can_have96' flag. This flag overrides the iorange and n_subdevices for the PCL-724 board when it is used in a 96 DIO configuration. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/pcl724.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/staging/comedi/drivers/pcl724.c b/drivers/staging/comedi/drivers/pcl724.c index 5391294ef14c..329aa9a54d0a 100644 --- a/drivers/staging/comedi/drivers/pcl724.c +++ b/drivers/staging/comedi/drivers/pcl724.c @@ -111,27 +111,31 @@ static int pcl724_8255mapped_io(int dir, int port, int data, } } -static int pcl724_attach(struct comedi_device *dev, struct comedi_devconfig *it) +static int pcl724_attach(struct comedi_device *dev, + struct comedi_devconfig *it) { const struct pcl724_board *board = comedi_board(dev); struct comedi_subdevice *s; unsigned long iobase; unsigned int iorange; - int ret, i, n_subdevices; + int n_subdevices; + int ret; + int i; iorange = board->io_range; - if ((board->can_have96) && - ((it->options[1] == 1) || (it->options[1] == 96))) - iorange = 0x10; /* PCL-724 in 96 DIO configuration */ + n_subdevices = board->numofports; + + /* Handle PCL-724 in 96 DIO configuration */ + if (board->can_have96 && + (it->options[1] == 1 || it->options[1] == 96)) { + iorange = 0x10; + n_subdevices = 4; + } + ret = comedi_request_region(dev, it->options[0], iorange); if (ret) return ret; - n_subdevices = board->numofports; - if ((board->can_have96) && ((it->options[1] == 1) - || (it->options[1] == 96))) - n_subdevices = 4; /* PCL-724 in 96 DIO configuration */ - ret = comedi_alloc_subdevices(dev, n_subdevices); if (ret) return ret; -- 2.34.1