free_skb_resources(priv);
 
-       dma_free_coherent(NULL,
+       dma_free_coherent(&dev->dev,
                        sizeof(struct txbd8)*priv->tx_ring_size
                        + sizeof(struct rxbd8)*priv->rx_ring_size,
                        priv->tx_bd_base,
        for (i = 0; i < priv->tx_ring_size; i++) {
 
                if (priv->tx_skbuff[i]) {
-                       dma_unmap_single(NULL, txbdp->bufPtr,
+                       dma_unmap_single(&priv->dev->dev, txbdp->bufPtr,
                                        txbdp->length,
                                        DMA_TO_DEVICE);
                        dev_kfree_skb_any(priv->tx_skbuff[i]);
        if(priv->rx_skbuff != NULL) {
                for (i = 0; i < priv->rx_ring_size; i++) {
                        if (priv->rx_skbuff[i]) {
-                               dma_unmap_single(NULL, rxbdp->bufPtr,
+                               dma_unmap_single(&priv->dev->dev, rxbdp->bufPtr,
                                                priv->rx_buffer_size,
                                                DMA_FROM_DEVICE);
 
        gfar_write(®s->imask, IMASK_INIT_CLEAR);
 
        /* Allocate memory for the buffer descriptors */
-       vaddr = (unsigned long) dma_alloc_coherent(NULL,
+       vaddr = (unsigned long) dma_alloc_coherent(&dev->dev,
                        sizeof (struct txbd8) * priv->tx_ring_size +
                        sizeof (struct rxbd8) * priv->rx_ring_size,
                        &addr, GFP_KERNEL);
 rx_skb_fail:
        free_skb_resources(priv);
 tx_skb_fail:
-       dma_free_coherent(NULL,
+       dma_free_coherent(&dev->dev,
                        sizeof(struct txbd8)*priv->tx_ring_size
                        + sizeof(struct rxbd8)*priv->rx_ring_size,
                        priv->tx_bd_base,
 
        /* Set buffer length and pointer */
        txbdp->length = skb->len;
-       txbdp->bufPtr = dma_map_single(NULL, skb->data,
+       txbdp->bufPtr = dma_map_single(&dev->dev, skb->data,
                        skb->len, DMA_TO_DEVICE);
 
        /* Save the skb pointer so we can free it later */
         */
        skb_reserve(skb, alignamount);
 
-       bdp->bufPtr = dma_map_single(NULL, skb->data,
+       bdp->bufPtr = dma_map_single(&dev->dev, skb->data,
                        priv->rx_buffer_size, DMA_FROM_DEVICE);
 
        bdp->length = 0;