{
        int chunk;
        unsigned long mem_avail = 0;
-       unsigned long zones_size[3] = { 0, };
+       unsigned long zones_size[MAX_NR_ZONES] = { 0, };
 
 #ifdef DEBUG
        {
 #ifdef DEBUG
        printk ("before free_area_init\n");
 #endif
-       zones_size[0] = (mach_max_dma_address < (unsigned long)high_memory ?
-                        (mach_max_dma_address+1) : (unsigned long)high_memory);
-       zones_size[1] = (unsigned long)high_memory - zones_size[0];
+       zones_size[ZONE_DMA] = (mach_max_dma_address < (unsigned long)high_memory ?
+                               (mach_max_dma_address+1) : (unsigned long)high_memory);
+       zones_size[ZONE_NORMAL] = (unsigned long)high_memory - zones_size[0];
 
-       zones_size[0] = (zones_size[0] - PAGE_OFFSET) >> PAGE_SHIFT;
-       zones_size[1] >>= PAGE_SHIFT;
+       zones_size[ZONE_DMA] = (zones_size[ZONE_DMA] - PAGE_OFFSET) >> PAGE_SHIFT;
+       zones_size[ZONE_NORMAL] >>= PAGE_SHIFT;
 
        free_area_init(zones_size);
 }
 
        unsigned long address;
        unsigned long next_pgtable;
        unsigned long bootmem_end;
-       unsigned long zones_size[3] = {0, 0, 0};
+       unsigned long zones_size[MAX_NR_ZONES] = { 0, };
        unsigned long size;
 
 
        current->mm = NULL;
 
        /* memory sizing is a hack stolen from motorola.c..  hope it works for us */
-       zones_size[0] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT;
-       zones_size[1] = 0;
+       zones_size[ZONE_DMA] = ((unsigned long)high_memory - PAGE_OFFSET) >> PAGE_SHIFT;
 
        free_area_init(zones_size);