staging: comedi: drivers: gsc_hpdi: Remove use of deprecated pci API
Replace pci_[alloc|free]_consistent occurences with dma_[alloc|free]_coherent. The Coccinelle semantic patch that was used to make some of these changes is as follows: @deprecated@ idexpression id; position p; @@ ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @bad1@ idexpression id; position deprecated.p; @@ ...when != &id->dev when != pci_get_drvdata ( id ) when != pci_enable_device ( id ) ( pci_dma_supported@p ( id, ...) | pci_alloc_consistent@p ( id, ...) ) @depends on !bad1@ idexpression id; expression direction; position deprecated.p; @@ ( - pci_dma_supported@p ( id, + dma_supported ( &id->dev, ... + , GFP_KERNEL ) | - pci_alloc_consistent@p ( id, + dma_alloc_coherent ( &id->dev, ... + , GFP_KERNEL ) ) gsc_hpdi_auto_attach does not affect interrupt status but contains a call to comedi_alloc_devpriv() which calls kzalloc with GFP_KERNEL flag. Thus, there seems to be no danger that dma_alloc_coherent can be called with interrupts turned off, and GFP_KERNEL can be used. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6e1edc0f8b
commit
f3b1e4db82
|
@ -499,18 +499,18 @@ static void gsc_hpdi_free_dma(struct comedi_device *dev)
|
|||
/* free pci dma buffers */
|
||||
for (i = 0; i < NUM_DMA_BUFFERS; i++) {
|
||||
if (devpriv->dio_buffer[i])
|
||||
pci_free_consistent(pcidev,
|
||||
DMA_BUFFER_SIZE,
|
||||
devpriv->dio_buffer[i],
|
||||
devpriv->dio_buffer_phys_addr[i]);
|
||||
dma_free_coherent(&pcidev->dev,
|
||||
DMA_BUFFER_SIZE,
|
||||
devpriv->dio_buffer[i],
|
||||
devpriv->dio_buffer_phys_addr[i]);
|
||||
}
|
||||
/* free dma descriptors */
|
||||
if (devpriv->dma_desc)
|
||||
pci_free_consistent(pcidev,
|
||||
sizeof(struct plx_dma_desc) *
|
||||
NUM_DMA_DESCRIPTORS,
|
||||
devpriv->dma_desc,
|
||||
devpriv->dma_desc_phys_addr);
|
||||
dma_free_coherent(&pcidev->dev,
|
||||
sizeof(struct plx_dma_desc) *
|
||||
NUM_DMA_DESCRIPTORS,
|
||||
devpriv->dma_desc,
|
||||
devpriv->dma_desc_phys_addr);
|
||||
}
|
||||
|
||||
static int gsc_hpdi_init(struct comedi_device *dev)
|
||||
|
@ -630,14 +630,16 @@ static int gsc_hpdi_auto_attach(struct comedi_device *dev,
|
|||
/* allocate pci dma buffers */
|
||||
for (i = 0; i < NUM_DMA_BUFFERS; i++) {
|
||||
devpriv->dio_buffer[i] =
|
||||
pci_alloc_consistent(pcidev, DMA_BUFFER_SIZE,
|
||||
&devpriv->dio_buffer_phys_addr[i]);
|
||||
dma_alloc_coherent(&pcidev->dev, DMA_BUFFER_SIZE,
|
||||
&devpriv->dio_buffer_phys_addr[i],
|
||||
GFP_KERNEL);
|
||||
}
|
||||
/* allocate dma descriptors */
|
||||
devpriv->dma_desc = pci_alloc_consistent(pcidev,
|
||||
sizeof(struct plx_dma_desc) *
|
||||
NUM_DMA_DESCRIPTORS,
|
||||
&devpriv->dma_desc_phys_addr);
|
||||
devpriv->dma_desc = dma_alloc_coherent(&pcidev->dev,
|
||||
sizeof(struct plx_dma_desc) *
|
||||
NUM_DMA_DESCRIPTORS,
|
||||
&devpriv->dma_desc_phys_addr,
|
||||
GFP_KERNEL);
|
||||
if (devpriv->dma_desc_phys_addr & 0xf) {
|
||||
dev_warn(dev->class_dev,
|
||||
" dma descriptors not quad-word aligned (bug)\n");
|
||||
|
|
Loading…
Reference in New Issue