Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/es8328', 'asoc/fix/fsl...
[firefly-linux-kernel-4.4.55.git] / drivers / base / node.c
index ae98ebaf6313ec1cd8cd7c59517a86a623227f5e..560751bad2947105a0d06e7650bf906c3e4f0de7 100644 (file)
@@ -390,18 +390,7 @@ int register_mem_sect_under_node(struct memory_block *mem_blk, int nid)
        sect_end_pfn = section_nr_to_pfn(mem_blk->end_section_nr);
        sect_end_pfn += PAGES_PER_SECTION - 1;
        for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
-               int page_nid, scn_nr;
-
-               /*
-                * memory block could have several absent sections from start.
-                * skip pfn range from absent section
-                */
-               scn_nr = pfn_to_section_nr(pfn);
-               if (!present_section_nr(scn_nr)) {
-                       pfn = round_down(pfn + PAGES_PER_SECTION,
-                                        PAGES_PER_SECTION) - 1;
-                       continue;
-               }
+               int page_nid;
 
                /*
                 * memory block could have several absent sections from start.
@@ -447,22 +436,10 @@ int unregister_mem_sect_under_nodes(struct memory_block *mem_blk,
                return -ENOMEM;
        nodes_clear(*unlinked_nodes);
 
-       sect_start_pfn = section_nr_to_pfn(mem_blk->start_section_nr);
-       sect_end_pfn = section_nr_to_pfn(mem_blk->end_section_nr);
-       sect_end_pfn += PAGES_PER_SECTION - 1;
+       sect_start_pfn = section_nr_to_pfn(phys_index);
+       sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
        for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
-               int nid, scn_nr;
-
-               /*
-                * memory block could have several absent sections from start.
-                * skip pfn range from absent section
-                */
-               scn_nr = pfn_to_section_nr(pfn);
-               if (!present_section_nr(scn_nr)) {
-                       pfn = round_down(pfn + PAGES_PER_SECTION,
-                                        PAGES_PER_SECTION) - 1;
-                       continue;
-               }
+               int nid;
 
                nid = get_nid_for_pfn(pfn);
                if (nid < 0)