free_pages((unsigned long)vaddr, order);
  }
  
- #define SG_ENT_VIRT_ADDRESS(sg)       (sg_virt((sg)))
- 
 -void intel_unmap_sg(struct device *hwdev, struct scatterlist *sglist,
 -                  int nelems, int dir)
 +static void intel_unmap_sg(struct device *hwdev, struct scatterlist *sglist,
 +                         int nelems, enum dma_data_direction dir,
 +                         struct dma_attrs *attrs)
  {
        int i;
        struct pci_dev *pdev = to_pci_dev(hwdev);
        return nelems;
  }
  
 -int intel_map_sg(struct device *hwdev, struct scatterlist *sglist, int nelems,
 -               int dir)
 +static int intel_map_sg(struct device *hwdev, struct scatterlist *sglist, int nelems,
 +                      enum dma_data_direction dir, struct dma_attrs *attrs)
  {
-       void *addr;
+       phys_addr_t addr;
        int i;
        struct pci_dev *pdev = to_pci_dev(hwdev);
        struct dmar_domain *domain;