return bad_dma_address;
 }
 
-static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
+static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
        unsigned int npages)
 {
        unsigned long entry;
        spin_unlock_irqrestore(&tbl->it_lock, flags);
 }
 
-static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr,
-       unsigned int npages)
-{
-       __iommu_free(tbl, dma_addr, npages);
-}
-
 static inline struct iommu_table *find_iommu_table(struct device *dev)
 {
        struct pci_dev *pdev;
        return tbl;
 }
 
-static void __calgary_unmap_sg(struct iommu_table *tbl,
+static void calgary_unmap_sg(struct device *dev,
        struct scatterlist *sglist, int nelems, int direction)
 {
+       struct iommu_table *tbl = find_iommu_table(dev);
+
+       if (!translate_phb(to_pci_dev(dev)))
+               return;
+
        while (nelems--) {
                unsigned int npages;
                dma_addr_t dma = sglist->dma_address;
                        break;
 
                npages = num_dma_pages(dma, dmalen);
-               __iommu_free(tbl, dma, npages);
+               iommu_free(tbl, dma, npages);
                sglist++;
        }
 }
 
-void calgary_unmap_sg(struct device *dev, struct scatterlist *sglist,
-                     int nelems, int direction)
-{
-       struct iommu_table *tbl = find_iommu_table(dev);
-
-       if (!translate_phb(to_pci_dev(dev)))
-               return;
-
-       __calgary_unmap_sg(tbl, sglist, nelems, direction);
-}
-
 static int calgary_nontranslate_map_sg(struct device* dev,
        struct scatterlist *sg, int nelems, int direction)
 {
 
        return nelems;
 error:
-       __calgary_unmap_sg(tbl, sg, nelems, direction);
+       calgary_unmap_sg(dev, sg, nelems, direction);
        for (i = 0; i < nelems; i++) {
                sg[i].dma_address = bad_dma_address;
                sg[i].dma_length = 0;