X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=mm%2Finternal.h;h=0034e947e4bc677c9220c267eaaa75d5d89e7760;hb=9b8a3e4cb1361cf4b4a50916876e72f07a9037e9;hp=5a9a6200e034fb43aad09efe34ac1b2e49825509;hpb=39ce941ec15032c0efc3632b9f00a6b2365e1870;p=linux-2.6-omap-h63xx.git diff --git a/mm/internal.h b/mm/internal.h index 5a9a6200e03..0034e947e4b 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -34,8 +34,7 @@ static inline void __put_page(struct page *page) atomic_dec(&page->_count); } -extern void __init __free_pages_bootmem(struct page *page, - unsigned int order); +extern void __free_pages_bootmem(struct page *page, unsigned int order); /* * function for dealing with page's order in buddy system. @@ -47,4 +46,17 @@ static inline unsigned long page_order(struct page *page) VM_BUG_ON(!PageBuddy(page)); return page_private(page); } + +/* + * FLATMEM and DISCONTIGMEM configurations use alloc_bootmem_node, + * so all functions starting at paging_init should be marked __init + * in those cases. SPARSEMEM, however, allows for memory hotplug, + * and alloc_bootmem_node is not used. + */ +#ifdef CONFIG_SPARSEMEM +#define __paginginit __meminit +#else +#define __paginginit __init +#endif + #endif