Commit 5b1ccca7 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: addi_common.c: remove i_ADDI_Reset()

The addi_apci_035 and addi_apci_1500 are the only drivers left that use
this function in addi_common.c. The function simply calls the 'reset'
function that is in the boardinfo of the driver. Both drivers use the
same 'reset' function for all boardnfo entries.

Remove the i_ADDI_Reset() function as well as the 'reset' boardinfo and
just call the 'reset' function directly.

The i_ADDI_Reset() is called by addi_auto_attach() in addi_common.c after
a sucessful attach. Modify the (*auto_attach) in the drivers to call the
'reset' function directly and remove it from addi_auto_attach().
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6a9c4199
...@@ -65,14 +65,6 @@ static irqreturn_t v_ADDI_Interrupt(int irq, void *d) ...@@ -65,14 +65,6 @@ static irqreturn_t v_ADDI_Interrupt(int irq, void *d)
return IRQ_RETVAL(1); return IRQ_RETVAL(1);
} }
static int i_ADDI_Reset(struct comedi_device *dev)
{
const struct addi_board *this_board = dev->board_ptr;
this_board->reset(dev);
return 0;
}
static int addi_auto_attach(struct comedi_device *dev, static int addi_auto_attach(struct comedi_device *dev,
unsigned long context_unused) unsigned long context_unused)
{ {
...@@ -262,6 +254,5 @@ static int addi_auto_attach(struct comedi_device *dev, ...@@ -262,6 +254,5 @@ static int addi_auto_attach(struct comedi_device *dev,
s->type = COMEDI_SUBD_UNUSED; s->type = COMEDI_SUBD_UNUSED;
} }
i_ADDI_Reset(dev);
return 0; return 0;
} }
...@@ -28,7 +28,6 @@ static const struct addi_board apci035_boardtypes[] = { ...@@ -28,7 +28,6 @@ static const struct addi_board apci035_boardtypes[] = {
.ui_MinAcquisitiontimeNs = 10000, .ui_MinAcquisitiontimeNs = 10000,
.ui_MinDelaytimeNs = 100000, .ui_MinDelaytimeNs = 100000,
.interrupt = apci035_interrupt, .interrupt = apci035_interrupt,
.reset = apci035_reset,
.ai_config = apci035_ai_config, .ai_config = apci035_ai_config,
.ai_read = apci035_ai_read, .ai_read = apci035_ai_read,
.timer_config = apci035_timer_config, .timer_config = apci035_timer_config,
...@@ -40,15 +39,23 @@ static const struct addi_board apci035_boardtypes[] = { ...@@ -40,15 +39,23 @@ static const struct addi_board apci035_boardtypes[] = {
static int apci035_auto_attach(struct comedi_device *dev, static int apci035_auto_attach(struct comedi_device *dev,
unsigned long context) unsigned long context)
{ {
int ret;
dev->board_ptr = &apci035_boardtypes[0]; dev->board_ptr = &apci035_boardtypes[0];
return addi_auto_attach(dev, context); ret = addi_auto_attach(dev, context);
if (ret)
return ret;
apci035_reset(dev);
return 0;
} }
static void apci035_detach(struct comedi_device *dev) static void apci035_detach(struct comedi_device *dev)
{ {
if (dev->iobase) if (dev->iobase)
i_ADDI_Reset(dev); apci035_reset(dev);
comedi_pci_detach(dev); comedi_pci_detach(dev);
} }
......
...@@ -21,7 +21,6 @@ static const struct addi_board apci1500_boardtypes[] = { ...@@ -21,7 +21,6 @@ static const struct addi_board apci1500_boardtypes[] = {
.i_DoMaxdata = 0xffff, .i_DoMaxdata = 0xffff,
.i_Timer = 1, .i_Timer = 1,
.interrupt = apci1500_interrupt, .interrupt = apci1500_interrupt,
.reset = apci1500_reset,
.di_config = apci1500_di_config, .di_config = apci1500_di_config,
.di_read = apci1500_di_read, .di_read = apci1500_di_read,
.di_write = apci1500_di_write, .di_write = apci1500_di_write,
...@@ -39,15 +38,23 @@ static const struct addi_board apci1500_boardtypes[] = { ...@@ -39,15 +38,23 @@ static const struct addi_board apci1500_boardtypes[] = {
static int apci1500_auto_attach(struct comedi_device *dev, static int apci1500_auto_attach(struct comedi_device *dev,
unsigned long context) unsigned long context)
{ {
int ret;
dev->board_ptr = &apci1500_boardtypes[0]; dev->board_ptr = &apci1500_boardtypes[0];
return addi_auto_attach(dev, context); ret = addi_auto_attach(dev, context);
if (ret)
return ret;
apci1500_reset(dev);
return 0;
} }
static void apci1500_detach(struct comedi_device *dev) static void apci1500_detach(struct comedi_device *dev)
{ {
if (dev->iobase) if (dev->iobase)
i_ADDI_Reset(dev); apci1500_reset(dev);
comedi_pci_detach(dev); comedi_pci_detach(dev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment