memory-hotplug: preparation to notify memory block's state at memory hot remove
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / base / memory.c
index 7dda4f7..44e7de6 100644 (file)
@@ -248,26 +248,23 @@ static bool pages_correctly_reserved(unsigned long start_pfn,
 static int
 memory_block_action(unsigned long phys_index, unsigned long action)
 {
-       unsigned long start_pfn, start_paddr;
+       unsigned long start_pfn;
        unsigned long nr_pages = PAGES_PER_SECTION * sections_per_block;
        struct page *first_page;
        int ret;
 
        first_page = pfn_to_page(phys_index << PFN_SECTION_SHIFT);
+       start_pfn = page_to_pfn(first_page);
 
        switch (action) {
                case MEM_ONLINE:
-                       start_pfn = page_to_pfn(first_page);
-
                        if (!pages_correctly_reserved(start_pfn, nr_pages))
                                return -EBUSY;
 
                        ret = online_pages(start_pfn, nr_pages);
                        break;
                case MEM_OFFLINE:
-                       start_paddr = page_to_pfn(first_page) << PAGE_SHIFT;
-                       ret = remove_memory(start_paddr,
-                                           nr_pages << PAGE_SHIFT);
+                       ret = offline_pages(start_pfn, nr_pages);
                        break;
                default:
                        WARN(1, KERN_WARNING "%s(%ld, %ld) unknown action: "