ARM: sunxi_defconfig: enable CONFIG_REGULATOR
[cascardo/linux.git] / mm / swap_state.c
index 3e0ec83..1544449 100644 (file)
@@ -28,7 +28,9 @@
 static const struct address_space_operations swap_aops = {
        .writepage      = swap_writepage,
        .set_page_dirty = swap_set_page_dirty,
+#ifdef CONFIG_MIGRATION
        .migratepage    = migrate_page,
+#endif
 };
 
 static struct backing_dev_info swap_backing_dev_info = {
@@ -263,18 +265,12 @@ void free_page_and_swap_cache(struct page *page)
 void free_pages_and_swap_cache(struct page **pages, int nr)
 {
        struct page **pagep = pages;
+       int i;
 
        lru_add_drain();
-       while (nr) {
-               int todo = min(nr, PAGEVEC_SIZE);
-               int i;
-
-               for (i = 0; i < todo; i++)
-                       free_swap_cache(pagep[i]);
-               release_pages(pagep, todo, false);
-               pagep += todo;
-               nr -= todo;
-       }
+       for (i = 0; i < nr; i++)
+               free_swap_cache(pagep[i]);
+       release_pages(pagep, nr, false);
 }
 
 /*