• Linus Walleij's avatar
    Hexagon: Make pfn accessors statics inlines · d6e81532
    Linus Walleij authored
    
    
    Making virt_to_pfn() a static inline taking a strongly typed
    (const void *) makes the contract of a passing a pointer of that
    type to the function explicit and exposes any misuse of the
    macro virt_to_pfn() acting polymorphic and accepting many types
    such as (void *), (unitptr_t) or (unsigned long) as arguments
    without warnings.
    
    For symmetry do the same with pfn_to_virt().
    
    For compiletime resolution of __pa() we need PAGE_OFFSET which
    was not available to __pa() and resolved by the preprocessor
    wherever __pa() was used. Fix this by explicitly including
    <asm/mem-layout.h> where required, following the pattern of the
    architectures page.h file.
    Acked-by: default avatarBrian Cain <bcain@quicinc.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    d6e81532
page.h 4.03 KB