• Greg Ungerer's avatar
    m68k: merge and clean up delay.h files · 7c946199
    Greg Ungerer authored
    The real difference between the mmu and non-mmu varients of the delay.h
    files has nothing to do with having an mmu or not. It is processor family
    differences that means slightly different code. Merge the delay_mm.h and
    delay_no.h files back into a single file.
    
    The primarly difference we need to deal with is whether the processor
    supports a 32bit * 32bit -> 64bit multiply. Without it we need to do some
    shift scaling as well as use a 32bit * 32bit -> 32bit multiply. If building
    for a multi-CPU type kernel then we must use the simpler mult/shift scaling.
    
    This version of delay code allows the CPU32 family to use a 64bit mul,
    since it supports this instruction, the old code did not.
    
    The changes use macros where appropriate to try and optimize constant sized
    udelay times. And it removes the use of a fixed lib function for the non-mmu
    case. Code size on typical kernel configurations is similar, or only larger
    by a few tens of bytes.
    
    Also removed the unused muldiv() code from delay_mm.h.
    
    Build and run tested on ColdFire and ARAnyM. Build tested only on 68328
    and 68360 (CPU32).
    Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
    7c946199
Makefile 275 Bytes