From: Tejun Heo Date: Tue, 8 Dec 2009 01:02:12 +0000 (+0900) Subject: Merge branch 'for-linus' into for-next X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=50de1a8ef18da0cfff97543315b4e042e8bb7c83;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge branch 'for-linus' into for-next Conflicts: mm/percpu.c --- 50de1a8ef18da0cfff97543315b4e042e8bb7c83 diff --cc include/linux/percpu.h index 522f421ec213,8e4ead6435fb..cf5efbcf716c --- a/include/linux/percpu.h +++ b/include/linux/percpu.h @@@ -128,8 -130,31 +128,9 @@@ extern int __init pcpu_page_first_chunk #define per_cpu_ptr(ptr, cpu) SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu))) extern void *__alloc_reserved_percpu(size_t size, size_t align); - -#else /* CONFIG_HAVE_LEGACY_PER_CPU_AREA */ - -struct percpu_data { - void *ptrs[1]; -}; - -/* pointer disguising messes up the kmemleak objects tracking */ -#ifndef CONFIG_DEBUG_KMEMLEAK -#define __percpu_disguise(pdata) (struct percpu_data *)~(unsigned long)(pdata) -#else -#define __percpu_disguise(pdata) (struct percpu_data *)(pdata) -#endif - -#define per_cpu_ptr(ptr, cpu) \ -({ \ - struct percpu_data *__p = __percpu_disguise(ptr); \ - (__typeof__(ptr))__p->ptrs[(cpu)]; \ -}) - -#endif /* CONFIG_HAVE_LEGACY_PER_CPU_AREA */ - extern void *__alloc_percpu(size_t size, size_t align); extern void free_percpu(void *__pdata); + extern phys_addr_t per_cpu_ptr_to_phys(void *addr); #ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA extern void __init setup_per_cpu_areas(void);