m68knommu: Correct page_to_phys when PAGE_OFFSET is non-zero.

The definition of page_to_phys for nommu produces an incorrect value when
PAGE_OFFSET is non-zero.  The nommu version of page_to_pfn works correctly
for non-zero PAGE_OFFSET, so use that instead.

Signed-off-by: Steven King <sfking@fdwdc.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
Steven King 2014-06-11 20:01:10 -07:00 committed by Greg Ungerer
parent 7171511eae
commit 817f72d680

View file

@ -26,16 +26,12 @@ static inline void *phys_to_virt(unsigned long address)
} }
/* Permanent address of a page. */ /* Permanent address of a page. */
#ifdef CONFIG_MMU #if defined(CONFIG_MMU) && defined(CONFIG_SINGLE_MEMORY_CHUNK)
#ifdef CONFIG_SINGLE_MEMORY_CHUNK
#define page_to_phys(page) \ #define page_to_phys(page) \
__pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT)) __pa(PAGE_OFFSET + (((page) - pg_data_map[0].node_mem_map) << PAGE_SHIFT))
#else #else
#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT)
#endif #endif
#else
#define page_to_phys(page) (((page) - mem_map) << PAGE_SHIFT)
#endif
/* /*
* IO bus memory addresses are 1:1 with the physical address, * IO bus memory addresses are 1:1 with the physical address,