Skip to content

Commit

Permalink
staging: comedi: adv_pci1723: cleanup card reset
Browse files Browse the repository at this point in the history
Only one 'reset' of the card is required in the attach. Remove the
one before setting up the subdevices and leave the one before
exiting the attach function.

The 'valid' variable in the private data is not needed. This variable
is used in the detach to determine if it's ok to call the 'reset'
function. Checking if dev->iobase is valid works just as well.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: 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 Sep 4, 2012
1 parent 5222687 commit edf5147
Showing 1 changed file with 3 additions and 14 deletions.
17 changes: 3 additions & 14 deletions drivers/staging/comedi/drivers/adv_pci1723.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,8 @@ configures all channels in the same group.

#define PCI1723_SELECT_CALIBRATION 0x28 /* Select the calibration Ref_V */

/* This structure is for data unique to this hardware driver. */
struct pci1723_private {
int valid; /* card is usable; */

unsigned char da_range[8]; /* D/A output range for each channel */

short ao_data[8]; /* data output buffer */
};

Expand Down Expand Up @@ -262,8 +258,6 @@ static int pci1723_attach_pci(struct comedi_device *dev,
if (ret)
return ret;

pci1723_reset(dev);

s = dev->subdevices + 0;
dev->write_subdev = s;
s->type = COMEDI_SUBD_AO;
Expand Down Expand Up @@ -303,8 +297,6 @@ static int pci1723_attach_pci(struct comedi_device *dev,
/* read DIO port state */
s->state = inw(dev->iobase + PCI1723_READ_DIGITAL_INPUT_DATA);

devpriv->valid = 1;

pci1723_reset(dev);

dev_info(dev->class_dev, "%s attached\n", dev->board_name);
Expand All @@ -315,15 +307,12 @@ static int pci1723_attach_pci(struct comedi_device *dev,
static void pci1723_detach(struct comedi_device *dev)
{
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
struct pci1723_private *devpriv = dev->private;

if (devpriv) {
if (devpriv->valid)
pci1723_reset(dev);
}
if (pcidev) {
if (dev->iobase)
if (dev->iobase) {
pci1723_reset(dev);
comedi_pci_disable(pcidev);
}
}
}

Expand Down

0 comments on commit edf5147

Please sign in to comment.