|
@@ -306,14 +306,6 @@ static void devm_memremap_pages_release(void *data)
|
|
|
"%s: failed to free all reserved pages\n", __func__);
|
|
|
}
|
|
|
|
|
|
-/* assumes rcu_read_lock() held at entry */
|
|
|
-static struct dev_pagemap *find_dev_pagemap(resource_size_t phys)
|
|
|
-{
|
|
|
- WARN_ON_ONCE(!rcu_read_lock_held());
|
|
|
-
|
|
|
- return radix_tree_lookup(&pgmap_radix, PHYS_PFN(phys));
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* devm_memremap_pages - remap and provide memmap backing for the given resource
|
|
|
* @dev: hosting device for @res
|
|
@@ -466,7 +458,7 @@ struct dev_pagemap *get_dev_pagemap(unsigned long pfn,
|
|
|
|
|
|
/* fall back to slow path lookup */
|
|
|
rcu_read_lock();
|
|
|
- pgmap = find_dev_pagemap(phys);
|
|
|
+ pgmap = radix_tree_lookup(&pgmap_radix, PHYS_PFN(phys));
|
|
|
if (pgmap && !percpu_ref_tryget_live(pgmap->ref))
|
|
|
pgmap = NULL;
|
|
|
rcu_read_unlock();
|