ARM: sunxi_defconfig: enable CONFIG_REGULATOR
[cascardo/linux.git] / mm / percpu-km.c
index 89633fe..10e3d0b 100644 (file)
 
 #include <linux/log2.h>
 
-static int pcpu_populate_chunk(struct pcpu_chunk *chunk, int off, int size)
+static int pcpu_populate_chunk(struct pcpu_chunk *chunk,
+                              int page_start, int page_end)
 {
-       unsigned int cpu;
-
-       for_each_possible_cpu(cpu)
-               memset((void *)pcpu_chunk_addr(chunk, cpu, 0) + off, 0, size);
-
        return 0;
 }
 
-static void pcpu_depopulate_chunk(struct pcpu_chunk *chunk, int off, int size)
+static void pcpu_depopulate_chunk(struct pcpu_chunk *chunk,
+                                 int page_start, int page_end)
 {
        /* nada */
 }
@@ -70,6 +67,11 @@ static struct pcpu_chunk *pcpu_create_chunk(void)
 
        chunk->data = pages;
        chunk->base_addr = page_address(pages) - pcpu_group_offsets[0];
+
+       spin_lock_irq(&pcpu_lock);
+       pcpu_chunk_populated(chunk, 0, nr_pages);
+       spin_unlock_irq(&pcpu_lock);
+
        return chunk;
 }