powerpc: Drop page_is_ram() and walk_system_ram_range()
Since commitc40dd2f766
("powerpc: Add System RAM to /proc/iomem") it is possible to use the generic walk_system_ram_range() and the generic page_is_ram(). To enable the use of walk_system_ram_range() by the IBM EHEA ethernet driver, we still need an export of the generic function. As powerpc was the only user of CONFIG_ARCH_HAS_WALK_MEMORY, the ifdef around the generic walk_system_ram_range() has become useless and can be dropped. Fixes:c40dd2f766
("powerpc: Add System RAM to /proc/iomem") Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> [mpe: Keep the EXPORT_SYMBOL_GPL in powerpc code] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
8e0f973575
commit
26b523356f
|
@ -478,9 +478,6 @@ config ARCH_CPU_PROBE_RELEASE
|
|||
config ARCH_ENABLE_MEMORY_HOTPLUG
|
||||
def_bool y
|
||||
|
||||
config ARCH_HAS_WALK_MEMORY
|
||||
def_bool y
|
||||
|
||||
config ARCH_ENABLE_MEMORY_HOTREMOVE
|
||||
def_bool y
|
||||
|
||||
|
|
|
@ -326,7 +326,6 @@ struct page;
|
|||
extern void clear_user_page(void *page, unsigned long vaddr, struct page *pg);
|
||||
extern void copy_user_page(void *to, void *from, unsigned long vaddr,
|
||||
struct page *p);
|
||||
extern int page_is_ram(unsigned long pfn);
|
||||
extern int devmem_is_allowed(unsigned long pfn);
|
||||
|
||||
#ifdef CONFIG_PPC_SMLPAR
|
||||
|
|
|
@ -80,11 +80,6 @@ static inline pte_t *virt_to_kpte(unsigned long vaddr)
|
|||
#define TOP_ZONE ZONE_NORMAL
|
||||
#endif
|
||||
|
||||
int page_is_ram(unsigned long pfn)
|
||||
{
|
||||
return memblock_is_memory(__pfn_to_phys(pfn));
|
||||
}
|
||||
|
||||
pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
unsigned long size, pgprot_t vma_prot)
|
||||
{
|
||||
|
@ -176,34 +171,6 @@ int __meminit arch_remove_memory(int nid, u64 start, u64 size,
|
|||
#endif
|
||||
#endif /* CONFIG_MEMORY_HOTPLUG */
|
||||
|
||||
/*
|
||||
* walk_memory_resource() needs to make sure there is no holes in a given
|
||||
* memory range. PPC64 does not maintain the memory layout in /proc/iomem.
|
||||
* Instead it maintains it in memblock.memory structures. Walk through the
|
||||
* memory regions, find holes and callback for contiguous regions.
|
||||
*/
|
||||
int
|
||||
walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
|
||||
void *arg, int (*func)(unsigned long, unsigned long, void *))
|
||||
{
|
||||
struct memblock_region *reg;
|
||||
unsigned long end_pfn = start_pfn + nr_pages;
|
||||
unsigned long tstart, tend;
|
||||
int ret = -1;
|
||||
|
||||
for_each_memblock(memory, reg) {
|
||||
tstart = max(start_pfn, memblock_region_memory_base_pfn(reg));
|
||||
tend = min(end_pfn, memblock_region_memory_end_pfn(reg));
|
||||
if (tstart >= tend)
|
||||
continue;
|
||||
ret = (*func)(tstart, tend - tstart, arg);
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(walk_system_ram_range);
|
||||
|
||||
#ifndef CONFIG_NEED_MULTIPLE_NODES
|
||||
void __init mem_topology_setup(void)
|
||||
{
|
||||
|
@ -585,3 +552,9 @@ int devmem_is_allowed(unsigned long pfn)
|
|||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_STRICT_DEVMEM */
|
||||
|
||||
/*
|
||||
* This is defined in kernel/resource.c but only powerpc needs to export it, for
|
||||
* the EHEA driver. Drop this when drivers/net/ethernet/ibm/ehea is removed.
|
||||
*/
|
||||
EXPORT_SYMBOL_GPL(walk_system_ram_range);
|
||||
|
|
|
@ -448,8 +448,6 @@ int walk_mem_res(u64 start, u64 end, void *arg,
|
|||
arg, func);
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_ARCH_HAS_WALK_MEMORY)
|
||||
|
||||
/*
|
||||
* This function calls the @func callback against all memory ranges of type
|
||||
* System RAM which are marked as IORESOURCE_SYSTEM_RAM and IORESOUCE_BUSY.
|
||||
|
@ -481,8 +479,6 @@ int walk_system_ram_range(unsigned long start_pfn, unsigned long nr_pages,
|
|||
return ret;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static int __is_ram(unsigned long pfn, unsigned long nr_pages, void *arg)
|
||||
{
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue