goto err_free_slist;
 
        pt->nents = pages;
-       slen = pci_map_sg(pci,pt->slist,pt->nents,PCI_DMA_FROMDEVICE);
+       slen = dma_map_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE);
        if (0 == slen)
                goto err_free_pgtable;
 
        return mem;
 
 err_unmap_sg:
-       pci_unmap_sg(pci, pt->slist, pt->nents, PCI_DMA_FROMDEVICE);
+       dma_unmap_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE);
 err_free_pgtable:
        saa7146_pgtable_free(pci, pt);
 err_free_slist:
 
 void saa7146_vfree_destroy_pgtable(struct pci_dev *pci, void *mem, struct saa7146_pgtable *pt)
 {
-       pci_unmap_sg(pci, pt->slist, pt->nents, PCI_DMA_FROMDEVICE);
+       dma_unmap_sg(&pci->dev, pt->slist, pt->nents, DMA_FROM_DEVICE);
        saa7146_pgtable_free(pci, pt);
        kfree(pt->slist);
        pt->slist = NULL;
 {
        if (NULL == pt->cpu)
                return;
-       pci_free_consistent(pci, pt->size, pt->cpu, pt->dma);
+       dma_free_coherent(&pci->dev, pt->size, pt->cpu, pt->dma);
        pt->cpu = NULL;
 }
 
        __le32       *cpu;
        dma_addr_t   dma_addr = 0;
 
-       cpu = pci_alloc_consistent(pci, PAGE_SIZE, &dma_addr);
+       cpu = dma_alloc_coherent(&pci->dev, PAGE_SIZE, &dma_addr, GFP_KERNEL);
        if (NULL == cpu) {
                return -ENOMEM;
        }
        err = -ENOMEM;
 
        /* get memory for various stuff */
-       dev->d_rps0.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM,
-                                                    &dev->d_rps0.dma_handle);
+       dev->d_rps0.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM,
+                                                 &dev->d_rps0.dma_handle,
+                                                 GFP_KERNEL);
        if (!dev->d_rps0.cpu_addr)
                goto err_free_irq;
 
-       dev->d_rps1.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM,
-                                                    &dev->d_rps1.dma_handle);
+       dev->d_rps1.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM,
+                                                 &dev->d_rps1.dma_handle,
+                                                 GFP_KERNEL);
        if (!dev->d_rps1.cpu_addr)
                goto err_free_rps0;
 
-       dev->d_i2c.cpu_addr = pci_zalloc_consistent(pci, SAA7146_RPS_MEM,
-                                                   &dev->d_i2c.dma_handle);
+       dev->d_i2c.cpu_addr = dma_alloc_coherent(&pci->dev, SAA7146_RPS_MEM,
+                                                &dev->d_i2c.dma_handle, GFP_KERNEL);
        if (!dev->d_i2c.cpu_addr)
                goto err_free_rps1;
 
        return err;
 
 err_free_i2c:
-       pci_free_consistent(pci, SAA7146_RPS_MEM, dev->d_i2c.cpu_addr,
-                           dev->d_i2c.dma_handle);
+       dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_i2c.cpu_addr,
+                         dev->d_i2c.dma_handle);
 err_free_rps1:
-       pci_free_consistent(pci, SAA7146_RPS_MEM, dev->d_rps1.cpu_addr,
-                           dev->d_rps1.dma_handle);
+       dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps1.cpu_addr,
+                         dev->d_rps1.dma_handle);
 err_free_rps0:
-       pci_free_consistent(pci, SAA7146_RPS_MEM, dev->d_rps0.cpu_addr,
-                           dev->d_rps0.dma_handle);
+       dma_free_coherent(&pci->dev, SAA7146_RPS_MEM, dev->d_rps0.cpu_addr,
+                         dev->d_rps0.dma_handle);
 err_free_irq:
        free_irq(pci->irq, (void *)dev);
 err_unmap:
        free_irq(pdev->irq, dev);
 
        for (p = dev_map; p->addr; p++)
-               pci_free_consistent(pdev, SAA7146_RPS_MEM, p->addr, p->dma);
+               dma_free_coherent(&pdev->dev, SAA7146_RPS_MEM, p->addr,
+                                 p->dma);
 
        iounmap(dev->mem);
        pci_release_region(pdev, 0);
 
        dev->ext_vv_data = ext_vv;
 
        vv->d_clipping.cpu_addr =
-               pci_zalloc_consistent(dev->pci, SAA7146_CLIPPING_MEM,
-                                     &vv->d_clipping.dma_handle);
+               dma_alloc_coherent(&dev->pci->dev, SAA7146_CLIPPING_MEM,
+                                  &vv->d_clipping.dma_handle, GFP_KERNEL);
        if( NULL == vv->d_clipping.cpu_addr ) {
                ERR("out of memory. aborting.\n");
                kfree(vv);
        DEB_EE("dev:%p\n", dev);
 
        v4l2_device_unregister(&dev->v4l2_dev);
-       pci_free_consistent(dev->pci, SAA7146_CLIPPING_MEM, vv->d_clipping.cpu_addr, vv->d_clipping.dma_handle);
+       dma_free_coherent(&dev->pci->dev, SAA7146_CLIPPING_MEM,
+                         vv->d_clipping.cpu_addr, vv->d_clipping.dma_handle);
        v4l2_ctrl_handler_free(&dev->ctrl_handler);
        kfree(vv);
        dev->vv_data = NULL;
 
           as specified. there is this workaround, but please
           don't let me explain it. ;-) */
 
-       cpu = pci_alloc_consistent(dev->pci, 4096, &dma_addr);
+       cpu = dma_alloc_coherent(&dev->pci->dev, 4096, &dma_addr, GFP_KERNEL);
        if (NULL == cpu)
                return -ENOMEM;
 
                        /* stop rps1 for sure */
                        saa7146_write(dev, MC1, MASK_29);
 
-                       pci_free_consistent(dev->pci, 4096, cpu, dma_addr);
+                       dma_free_coherent(&dev->pci->dev, 4096, cpu, dma_addr);
                        return -EINTR;
                }
        }
 
-       pci_free_consistent(dev->pci, 4096, cpu, dma_addr);
+       dma_free_coherent(&dev->pci->dev, 4096, cpu, dma_addr);
        return 0;
 }