unsigned long alloc;
 };
 
-#ifdef CONFIG_ZONE_DEVICE
-struct vmem_altmap *to_vmem_altmap(unsigned long memmap_start);
-#else
-static inline struct vmem_altmap *to_vmem_altmap(unsigned long memmap_start)
-{
-       return NULL;
-}
-#endif
-
 /*
  * Specialize ZONE_DEVICE memory into multiple types each having differents
  * usage.
 
        altmap->alloc -= nr_pfns;
 }
 
-struct vmem_altmap *to_vmem_altmap(unsigned long memmap_start)
-{
-       /*
-        * 'memmap_start' is the virtual address for the first "struct
-        * page" in this range of the vmemmap array.  In the case of
-        * CONFIG_SPARSEMEM_VMEMMAP a page_to_pfn conversion is simple
-        * pointer arithmetic, so we can perform this to_vmem_altmap()
-        * conversion without concern for the initialization state of
-        * the struct page fields.
-        */
-       struct page *page = (struct page *) memmap_start;
-       struct dev_pagemap *pgmap;
-
-       /*
-        * Unconditionally retrieve a dev_pagemap associated with the
-        * given physical address, this is only for use in the
-        * arch_{add|remove}_memory() for setting up and tearing down
-        * the memmap.
-        */
-       rcu_read_lock();
-       pgmap = find_dev_pagemap(__pfn_to_phys(page_to_pfn(page)));
-       rcu_read_unlock();
-
-       return pgmap ? pgmap->altmap : NULL;
-}
-
 /**
  * get_dev_pagemap() - take a new live reference on the dev_pagemap for @pfn
  * @pfn: page frame number to lookup page_map