Fix highmem PPC build failure
Commit f4112de6b6
("mm: introduce
debug_kmap_atomic") broke PPC builds with CONFIG_HIGHMEM=y:
CC init/main.o
In file included from include/linux/highmem.h:25,
from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:63,
from init/main.c:53:
arch/powerpc/include/asm/highmem.h: In function 'kmap_atomic_prot':
arch/powerpc/include/asm/highmem.h:98: error: implicit declaration of function 'debug_kmap_atomic'
In file included from include/linux/pagemap.h:11,
from include/linux/mempolicy.h:63,
from init/main.c:53:
include/linux/highmem.h: At top level:
include/linux/highmem.h:196: warning: conflicting types for 'debug_kmap_atomic'
include/linux/highmem.h:196: error: static declaration of 'debug_kmap_atomic' follows non-static declaration
include/asm/highmem.h:98: error: previous implicit declaration of 'debug_kmap_atomic' was here
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c54c4dec61
commit
3688e07f83
|
@ -19,8 +19,21 @@ static inline void flush_kernel_dcache_page(struct page *page)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_HIGHMEM
|
#include <asm/kmap_types.h>
|
||||||
|
|
||||||
|
#if defined(CONFIG_DEBUG_HIGHMEM) && defined(CONFIG_TRACE_IRQFLAGS_SUPPORT)
|
||||||
|
|
||||||
|
void debug_kmap_atomic(enum km_type type);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline void debug_kmap_atomic(enum km_type type)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_HIGHMEM
|
||||||
#include <asm/highmem.h>
|
#include <asm/highmem.h>
|
||||||
|
|
||||||
/* declarations for linux/mm/highmem.c */
|
/* declarations for linux/mm/highmem.c */
|
||||||
|
@ -44,8 +57,6 @@ static inline void *kmap(struct page *page)
|
||||||
|
|
||||||
#define kunmap(page) do { (void) (page); } while (0)
|
#define kunmap(page) do { (void) (page); } while (0)
|
||||||
|
|
||||||
#include <asm/kmap_types.h>
|
|
||||||
|
|
||||||
static inline void *kmap_atomic(struct page *page, enum km_type idx)
|
static inline void *kmap_atomic(struct page *page, enum km_type idx)
|
||||||
{
|
{
|
||||||
pagefault_disable();
|
pagefault_disable();
|
||||||
|
@ -187,16 +198,4 @@ static inline void copy_highpage(struct page *to, struct page *from)
|
||||||
kunmap_atomic(vto, KM_USER1);
|
kunmap_atomic(vto, KM_USER1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_HIGHMEM) && defined(CONFIG_TRACE_IRQFLAGS_SUPPORT)
|
|
||||||
|
|
||||||
void debug_kmap_atomic(enum km_type type);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
static inline void debug_kmap_atomic(enum km_type type)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _LINUX_HIGHMEM_H */
|
#endif /* _LINUX_HIGHMEM_H */
|
||||||
|
|
Loading…
Reference in New Issue