#endif /* CONFIG_PPC32 */
 #ifdef CONFIG_PPC64
 extern void flush_dcache_range(unsigned long start, unsigned long stop);
-extern void flush_inval_dcache_range(unsigned long start, unsigned long stop);
 #endif
 
 #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
 
  *
  *    flush all bytes from start to stop-1 inclusive
  */
-_GLOBAL_TOC(flush_dcache_range)
 
-/*
- * Flush the data cache to memory 
- * 
- * Different systems have different cache line sizes
- */
-       ld      r10,PPC64_CACHES@toc(r2)
-       lwz     r7,DCACHEL1BLOCKSIZE(r10)       /* Get dcache block size */
-       addi    r5,r7,-1
-       andc    r6,r3,r5                /* round low to line bdy */
-       subf    r8,r6,r4                /* compute length */
-       add     r8,r8,r5                /* ensure we get enough */
-       lwz     r9,DCACHEL1LOGBLOCKSIZE(r10)    /* Get log-2 of dcache block size */
-       srw.    r8,r8,r9                /* compute line count */
-       beqlr                           /* nothing to do? */
-       mtctr   r8
-0:     dcbst   0,r6
-       add     r6,r6,r7
-       bdnz    0b
-       sync
-       blr
-EXPORT_SYMBOL(flush_dcache_range)
-
-_GLOBAL(flush_inval_dcache_range)
+_GLOBAL_TOC(flush_dcache_range)
        ld      r10,PPC64_CACHES@toc(r2)
        lwz     r7,DCACHEL1BLOCKSIZE(r10)       /* Get dcache block size */
        addi    r5,r7,-1
        sync
        isync
        blr
-
+EXPORT_SYMBOL(flush_dcache_range)
 
 /*
  * Flush a particular page from the data cache to RAM.
 
 void arch_wb_cache_pmem(void *addr, size_t size)
 {
        unsigned long start = (unsigned long) addr;
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
 }
 EXPORT_SYMBOL(arch_wb_cache_pmem);
 
 void arch_invalidate_pmem(void *addr, size_t size)
 {
        unsigned long start = (unsigned long) addr;
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
 }
 EXPORT_SYMBOL(arch_invalidate_pmem);
 
        unsigned long copied, start = (unsigned long) dest;
 
        copied = __copy_from_user(dest, src, size);
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
 
        return copied;
 }
        unsigned long start = (unsigned long) dest;
 
        memcpy(dest, src, size);
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
 
        return dest;
 }
 
                        start, start + size, rc);
                return -EFAULT;
        }
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
 
        return __add_pages(nid, start_pfn, nr_pages, restrictions);
 }
 
        /* Remove htab bolted mappings for this section of memory */
        start = (unsigned long)__va(start);
-       flush_inval_dcache_range(start, start + size);
+       flush_dcache_range(start, start + size);
        ret = remove_section_mapping(start, start + size);
        WARN_ON_ONCE(ret);
 
 
        unsigned int tmp;
 
        /* Perform a standard cache flush */
-       flush_inval_dcache_range(start, end);
+       flush_dcache_range(start, end);
 
        /*
         * Perform the sequence described in the CPC925 manual to
 
        /* Flush command and data to RAM */
        faddr = (unsigned long)smu->cmd_buf;
        fend = faddr + smu->cmd_buf->length + 2;
-       flush_inval_dcache_range(faddr, fend);
+       flush_dcache_range(faddr, fend);
 
 
        /* We also disable NAP mode for the duration of the command
                 * reply length (it's only 2 cache lines anyway)
                 */
                faddr = (unsigned long)smu->cmd_buf;
-               flush_inval_dcache_range(faddr, faddr + 256);
+               flush_dcache_range(faddr, faddr + 256);
 
                /* Now check ack */
                ack = (~cmd->cmd) & 0xff;