Skip to content

Commit

Permalink
staging: comedi: addi_common: remove dma setup/free code
Browse files Browse the repository at this point in the history
None of the addi-data drivers that use the "common" code in addi_common.c
support dma. Remove the code that sets up the dma and allocates the buffers
in the attach and the code that frees the buffers in the detach.

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 Nov 2, 2012
1 parent bb6986f commit e50e242
Showing 1 changed file with 2 additions and 52 deletions.
54 changes: 2 additions & 52 deletions drivers/staging/comedi/drivers/addi-data/addi_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ static int addi_attach_pci(struct comedi_device *dev,
const struct addi_board *this_board;
struct addi_private *devpriv;
struct comedi_subdevice *s;
int ret, pages, i, n_subdevices;
int ret, n_subdevices;
unsigned int dw_Dummy;

this_board = addi_find_boardinfo(dev, pcidev);
Expand All @@ -116,8 +116,6 @@ static int addi_attach_pci(struct comedi_device *dev,
ret = comedi_pci_enable(pcidev, dev->board_name);
if (ret)
return ret;
if (this_board->i_Dma)
pci_set_master(pcidev);

if (!this_board->pc_EepromChip ||
!strcmp(this_board->pc_EepromChip, ADDIDATA_9054)) {
Expand Down Expand Up @@ -178,40 +176,6 @@ static int addi_attach_pci(struct comedi_device *dev,
addi_eeprom_read_info(dev, pci_resource_start(pcidev, 0));
}

devpriv->us_UseDma = ADDI_ENABLE;

if (devpriv->s_EeParameters.i_Dma) {
if (devpriv->us_UseDma == ADDI_ENABLE) {
/* alloc DMA buffers */
devpriv->b_DmaDoubleBuffer = 0;
for (i = 0; i < 2; i++) {
for (pages = 4; pages >= 0; pages--) {
devpriv->ul_DmaBufferVirtual[i] =
(void *) __get_free_pages(GFP_KERNEL, pages);

if (devpriv->ul_DmaBufferVirtual[i])
break;
}
if (devpriv->ul_DmaBufferVirtual[i]) {
devpriv->ui_DmaBufferPages[i] = pages;
devpriv->ui_DmaBufferSize[i] =
PAGE_SIZE * pages;
devpriv->ui_DmaBufferSamples[i] =
devpriv->
ui_DmaBufferSize[i] >> 1;
devpriv->ul_DmaBufferHw[i] =
virt_to_bus((void *)devpriv->
ul_DmaBufferVirtual[i]);
}
}
if (!devpriv->ul_DmaBufferVirtual[0])
devpriv->us_UseDma = ADDI_DISABLE;

if (devpriv->ul_DmaBufferVirtual[1])
devpriv->b_DmaDoubleBuffer = 1;
}
}

n_subdevices = 7;
ret = comedi_alloc_subdevices(dev, n_subdevices);
if (ret)
Expand Down Expand Up @@ -363,7 +327,6 @@ static int addi_attach_pci(struct comedi_device *dev,

static void i_ADDI_Detach(struct comedi_device *dev)
{
const struct addi_board *this_board = comedi_board(dev);
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
struct addi_private *devpriv = dev->private;

Expand All @@ -372,21 +335,8 @@ static void i_ADDI_Detach(struct comedi_device *dev)
i_ADDI_Reset(dev);
if (dev->irq)
free_irq(dev->irq, dev);
if ((this_board->pc_EepromChip == NULL) ||
(strcmp(this_board->pc_EepromChip, ADDIDATA_9054) != 0)) {
if (devpriv->ul_DmaBufferVirtual[0]) {
free_pages((unsigned long)devpriv->
ul_DmaBufferVirtual[0],
devpriv->ui_DmaBufferPages[0]);
}
if (devpriv->ul_DmaBufferVirtual[1]) {
free_pages((unsigned long)devpriv->
ul_DmaBufferVirtual[1],
devpriv->ui_DmaBufferPages[1]);
}
} else {
if (devpriv->dw_AiBase)
iounmap(devpriv->dw_AiBase);
}
}
if (pcidev) {
if (dev->iobase)
Expand Down

0 comments on commit e50e242

Please sign in to comment.