• Colin Cross's avatar
    staging: android: persistent_ram: handle reserving and mapping memory · 404a6043
    Colin Cross authored
    Replace the ioremapped memory passed in from the drivers with
    a memblock_reserve and vmap.  Adds a new function,
    persistent_ram_early_init, designed to be called from the machine
    init_early callback, that calls memblock_remove and saves the
    provided persistent ram area layout.
    
    Drivers only pass in their struct device * and ecc settings.
    Locating and mapping the memory is now handled entirely within
    persistent_ram.
    
    Also, convert ram_console to the new persistent_ram_init
    parameters that only take a struct device * and ecc settings.
    
    [jstultz: Fix pr_info casting issues on 64bit, folded two
    patches as the build breaks if they are apart. Also replaced
    phys_to_page() w/ pfn_to_page(addr>>PAGE_SHIFT), as phys_to_page
    is only on a few arches.]
    CC: Greg KH <gregkh@linuxfoundation.org>
    CC: Android Kernel Team <kernel-team@android.com>
    Signed-off-by: default avatarColin Cross <ccross@android.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    404a6043
persistent_ram.h 1.86 KB