From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964820AbbHFRno (ORCPT ); Thu, 6 Aug 2015 13:43:44 -0400 Received: from mga02.intel.com ([134.134.136.20]:49312 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964793AbbHFRnm (ORCPT ); Thu, 6 Aug 2015 13:43:42 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,623,1432623600"; d="scan'208";a="620637923" From: Ross Zwisler To: linux-kernel@vger.kernel.org, linux-nvdimm@ml01.01.org, dan.j.williams@intel.com Cc: Ross Zwisler , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Borislav Petkov , Toshi Kani , Juergen Gross Subject: [PATCH 2/6] x86: clean up conditional pmem includes Date: Thu, 6 Aug 2015 11:43:16 -0600 Message-Id: <1438883000-9011-3-git-send-email-ross.zwisler@linux.intel.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1438883000-9011-1-git-send-email-ross.zwisler@linux.intel.com> References: <1438883000-9011-1-git-send-email-ross.zwisler@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Prior to this change x86_64 used the pmem defines in arch/x86/include/asm/cacheflush.h, and UM used the default ones at the top of include/linux/pmem.h. The inclusion or exclusion in pmem.h was controlled by CONFIG_ARCH_HAS_PMEM_API, but the ones in cacheflush.h were controlled by ARCH_HAS_NOCACHE_UACCESS. Instead, control them both with CONFIG_ARCH_HAS_PMEM_API so that it's clear that they are related and we don't run into the possibility where they are both included or excluded. Also remove a bunch of stale function prototypes meant for UM in cacheflush.h - these just conflicted with the inline defaults in pmem.h, and gave compile errors: include/linux/pmem.h:21:91: error: static declaration of 'arch_wmb_pmem' follows non-static declaration static inline void arch_wmb_pmem(void) In file included from include/linux/highmem.h:11:0, from include/linux/pagemap.h:10, from include/linux/blkdev.h:14, from fs/dax.c:18: ./arch/x86/include/asm/cacheflush.h:185:13: note: previous declaration of 'arch_wmb_pmem' was here extern void arch_wmb_pmem(void); Signed-off-by: Ross Zwisler --- arch/x86/include/asm/cacheflush.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h index 9bf3ea1..ae00766 100644 --- a/arch/x86/include/asm/cacheflush.h +++ b/arch/x86/include/asm/cacheflush.h @@ -109,8 +109,7 @@ static inline int rodata_test(void) } #endif -#ifdef ARCH_HAS_NOCACHE_UACCESS - +#ifdef CONFIG_ARCH_HAS_PMEM_API /** * arch_memcpy_to_pmem - copy data to persistent memory * @dst: destination buffer for the copy @@ -170,14 +169,6 @@ static inline bool __arch_has_wmb_pmem(void) return false; #endif } -#else /* ARCH_HAS_NOCACHE_UACCESS i.e. ARCH=um */ -extern void arch_memcpy_to_pmem(void __pmem *dst, const void *src, size_t n); -extern void arch_wmb_pmem(void); - -static inline bool __arch_has_wmb_pmem(void) -{ - return false; -} -#endif +#endif /* CONFIG_ARCH_HAS_PMEM_API */ #endif /* _ASM_X86_CACHEFLUSH_H */ -- 2.1.0