txd = (struct s_smt_fp_txd *) HWM_GET_CURR_TXD(smc, queue);
 
-               dma_address = pci_map_single(&bp->pdev, skb->data,
-                                            skb->len, PCI_DMA_TODEVICE);
+               dma_address = dma_map_single(&(&bp->pdev)->dev, skb->data,
+                                            skb->len, DMA_TO_DEVICE);
                if (frame_status & LAN_TX) {
                        txd->txd_os.skb = skb;                  // save skb
                        txd->txd_os.dma_addr = dma_address;     // save dma mapping
                       frame_status | FIRST_FRAG | LAST_FRAG | EN_IRQ_EOF);
 
                if (!(frame_status & LAN_TX)) {         // local only frame
-                       pci_unmap_single(&bp->pdev, dma_address,
-                                        skb->len, PCI_DMA_TODEVICE);
+                       dma_unmap_single(&(&bp->pdev)->dev, dma_address,
+                                        skb->len, DMA_TO_DEVICE);
                        dev_kfree_skb_irq(skb);
                }
                spin_unlock_irqrestore(&bp->DriverLock, Flags);
                if (r->rxd_os.skb && r->rxd_os.dma_addr) {
                        int MaxFrameSize = bp->MaxFrameSize;
 
-                       pci_unmap_single(&bp->pdev, r->rxd_os.dma_addr,
-                                        MaxFrameSize, PCI_DMA_FROMDEVICE);
+                       dma_unmap_single(&(&bp->pdev)->dev,
+                                        r->rxd_os.dma_addr, MaxFrameSize,
+                                        DMA_FROM_DEVICE);
                        r->rxd_os.dma_addr = 0;
                }
        }
        txd->txd_os.skb = NULL;
 
        // release the DMA mapping
-       pci_unmap_single(&smc->os.pdev, txd->txd_os.dma_addr,
-                        skb->len, PCI_DMA_TODEVICE);
+       dma_unmap_single(&(&smc->os.pdev)->dev, txd->txd_os.dma_addr,
+                        skb->len, DMA_TO_DEVICE);
        txd->txd_os.dma_addr = 0;
 
        smc->os.MacStat.gen.tx_packets++;       // Count transmitted packets.
                                skb_reserve(skb, 3);
                                skb_put(skb, MaxFrameSize);
                                v_addr = skb->data;
-                               b_addr = pci_map_single(&smc->os.pdev,
-                                                       v_addr,
-                                                       MaxFrameSize,
-                                                       PCI_DMA_FROMDEVICE);
+                               b_addr = dma_map_single(&(&smc->os.pdev)->dev,
+                                                       v_addr, MaxFrameSize,
+                                                       DMA_FROM_DEVICE);
                                rxd->rxd_os.dma_addr = b_addr;
                        } else {
                                // no skb available, use local buffer
                        // we use skb from old rxd
                        rxd->rxd_os.skb = skb;
                        v_addr = skb->data;
-                       b_addr = pci_map_single(&smc->os.pdev,
-                                               v_addr,
-                                               MaxFrameSize,
-                                               PCI_DMA_FROMDEVICE);
+                       b_addr = dma_map_single(&(&smc->os.pdev)->dev, v_addr,
+                                               MaxFrameSize, DMA_FROM_DEVICE);
                        rxd->rxd_os.dma_addr = b_addr;
                }
                hwm_rx_frag(smc, v_addr, b_addr, MaxFrameSize,
                        skb_reserve(skb, 3);
                        skb_put(skb, MaxFrameSize);
                        v_addr = skb->data;
-                       b_addr = pci_map_single(&smc->os.pdev,
-                                               v_addr,
-                                               MaxFrameSize,
-                                               PCI_DMA_FROMDEVICE);
+                       b_addr = dma_map_single(&(&smc->os.pdev)->dev, v_addr,
+                                               MaxFrameSize, DMA_FROM_DEVICE);
                        rxd->rxd_os.dma_addr = b_addr;
                } else {
                        // no skb available, use local buffer
                        skfddi_priv *bp = &smc->os;
                        int MaxFrameSize = bp->MaxFrameSize;
 
-                       pci_unmap_single(&bp->pdev, rxd->rxd_os.dma_addr,
-                                        MaxFrameSize, PCI_DMA_FROMDEVICE);
+                       dma_unmap_single(&(&bp->pdev)->dev,
+                                        rxd->rxd_os.dma_addr, MaxFrameSize,
+                                        DMA_FROM_DEVICE);
 
                        dev_kfree_skb(skb);
                        rxd->rxd_os.skb = NULL;