#include <linux/pci.h>
 #include <asm/vio.h>
 #include <asm/bug.h>
-#include <asm/abs_addr.h>
 #include <asm/machdep.h>
 
 /*
                return NULL;
        ret = page_address(page);
        memset(ret, 0, size);
-       *dma_handle = virt_to_abs(ret) + get_dma_offset(dev);
+       *dma_handle = __pa(ret) + get_dma_offset(dev);
 
        return ret;
 #endif
 
 #include <asm/delay.h>
 #include <asm/uaccess.h>
 #include <asm/rtas.h>
-#include <asm/abs_addr.h>
 
 #define MODULE_VERS "1.0"
 #define MODULE_NAME "rtas_flash"
        flist = (struct flash_block_list *)&rtas_data_buf[0];
        flist->num_blocks = 0;
        flist->next = rtas_firmware_flash_list;
-       rtas_block_list = virt_to_abs(flist);
+       rtas_block_list = __pa(flist);
        if (rtas_block_list >= 4UL*1024*1024*1024) {
                printk(KERN_ALERT "FLASH: kernel bug...flash list header addr above 4GB\n");
                spin_unlock(&rtas_data_buf_lock);
        for (f = flist; f; f = next) {
                /* Translate data addrs to absolute */
                for (i = 0; i < f->num_blocks; i++) {
-                       f->blocks[i].data = (char *)virt_to_abs(f->blocks[i].data);
+                       f->blocks[i].data = (char *)__pa(f->blocks[i].data);
                        image_size += f->blocks[i].length;
                }
                next = f->next;
                /* Don't translate NULL pointer for last entry */
                if (f->next)
-                       f->next = (struct flash_block_list *)virt_to_abs(f->next);
+                       f->next = (struct flash_block_list *)__pa(f->next);
                else
                        f->next = NULL;
                /* make num_blocks into the version/length field */