Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966864AbbDVRJt (ORCPT ); Wed, 22 Apr 2015 13:09:49 -0400 Received: from cantor2.suse.de ([195.135.220.15]:56615 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966129AbbDVRJp (ORCPT ); Wed, 22 Apr 2015 13:09:45 -0400 Date: Wed, 22 Apr 2015 19:09:40 +0200 From: "Luis R. Rodriguez" To: "Luis R. Rodriguez" Cc: mingo@elte.hu, tglx@linutronix.de, hpa@zytor.com, plagnioj@jcrosoft.com, tomi.valkeinen@ti.com, linux-fbdev@vger.kernel.org, luto@amacapital.net, mst@redhat.com, cocci@systeme.lip6.fr, Toshi Kani , Ingo Molnar , Will Deacon , Thierry Reding , Andrew Morton , Dave Hansen , Greg Kroah-Hartman , Catalin Marinas , Abhilash Kesavan , Matthias Brugger , Cristian Stoica , dri-devel@lists.freedesktop.org, Suresh Siddha , Linus Torvalds , Juergen Gross , Daniel Vetter , Dave Airlie , Antonino Daplas , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= , Mel Gorman , Vlastimil Babka , Borislav Petkov , Davidlohr Bueso , x86@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3] mtrr: avoid ifdef'ery with phys_wc_to_mtrr_index() Message-ID: <20150422170940.GI5622@wotan.suse.de> References: <1429648971-18007-1-git-send-email-mcgrof@do-not-panic.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1429648971-18007-1-git-send-email-mcgrof@do-not-panic.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6181 Lines: 171 On Tue, Apr 21, 2015 at 01:42:51PM -0700, Luis R. Rodriguez wrote: > From: "Luis R. Rodriguez" > > There is only one user but since we're going to bury > MTRR next out of access to drivers expose this last > piece of API to drivers in a general fashion only > needing io.h for access to helpers. > > Cc: Toshi Kani > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: Will Deacon > Cc: Thierry Reding > Cc: Andrew Morton > Cc: Dave Hansen > Cc: Greg Kroah-Hartman > Cc: Catalin Marinas > Cc: Abhilash Kesavan > Cc: Matthias Brugger > Cc: Cristian Stoica > Cc: dri-devel@lists.freedesktop.org > Cc: Suresh Siddha > Cc: Linus Torvalds > Cc: Juergen Gross > Cc: Daniel Vetter > Cc: Andy Lutomirski > Cc: Dave Airlie > Cc: Antonino Daplas > Cc: Jean-Christophe Plagniol-Villard > Cc: Tomi Valkeinen > Cc: Ville Syrj?l? > Cc: Mel Gorman > Cc: Vlastimil Babka > Cc: Borislav Petkov > Cc: Davidlohr Bueso > Cc: x86@kernel.org > Cc: linux-fbdev@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Luis R. Rodriguez > --- > arch/x86/include/asm/io.h | 3 +++ > arch/x86/include/asm/mtrr.h | 5 ----- > arch/x86/kernel/cpu/mtrr/main.c | 6 +++--- > drivers/gpu/drm/drm_ioctl.c | 14 +------------- > include/linux/io.h | 6 ++++++ > 5 files changed, 13 insertions(+), 21 deletions(-) > > diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h > index 4afc05f..a2b9740 100644 > --- a/arch/x86/include/asm/io.h > +++ b/arch/x86/include/asm/io.h > @@ -339,6 +339,9 @@ extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, > #define IO_SPACE_LIMIT 0xffff > > #ifdef CONFIG_MTRR > +extern int __must_check arch_phys_wc_index(int handle); > +#define arch_phys_wc_index arch_phys_wc_index > + > extern int __must_check arch_phys_wc_add(unsigned long base, > unsigned long size); > extern void arch_phys_wc_del(int handle); > diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h > index da8dff1..27e3dc0 100644 > --- a/arch/x86/include/asm/mtrr.h > +++ b/arch/x86/include/asm/mtrr.h > @@ -48,7 +48,6 @@ extern void mtrr_aps_init(void); > extern void mtrr_bp_restore(void); > extern int mtrr_trim_uncached_memory(unsigned long end_pfn); > extern int amd_special_default_mtrr(void); > -extern int phys_wc_to_mtrr_index(int handle); > # else > static inline u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform) > { > @@ -85,10 +84,6 @@ static inline int mtrr_trim_uncached_memory(unsigned long end_pfn) > static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi) > { > } > -static inline int phys_wc_to_mtrr_index(int handle) > -{ > - return -1; > -} > > #define mtrr_ap_init() do {} while (0) > #define mtrr_bp_init() do {} while (0) > diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c > index 12abdbe..d8c106c 100644 > --- a/arch/x86/kernel/cpu/mtrr/main.c > +++ b/arch/x86/kernel/cpu/mtrr/main.c > @@ -580,7 +580,7 @@ void arch_phys_wc_del(int handle) > EXPORT_SYMBOL(arch_phys_wc_del); > > /* > - * phys_wc_to_mtrr_index - translates arch_phys_wc_add's return value > + * arch_phys_wc_index - translates arch_phys_wc_add's return value > * @handle: Return value from arch_phys_wc_add > * > * This will turn the return value from arch_phys_wc_add into an mtrr > @@ -590,14 +590,14 @@ EXPORT_SYMBOL(arch_phys_wc_del); > * in printk line. Alas there is an illegitimate use in some ancient > * drm ioctls. > */ > -int phys_wc_to_mtrr_index(int handle) > +int arch_phys_wc_index(int handle) > { > if (handle < MTRR_TO_PHYS_WC_OFFSET) > return -1; > else > return handle - MTRR_TO_PHYS_WC_OFFSET; > } > -EXPORT_SYMBOL_GPL(phys_wc_to_mtrr_index); > +EXPORT_SYMBOL_GPL(arch_phys_wc_index); > > /* > * HACK ALERT! > diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c > index 266dcd6..0a95782 100644 > --- a/drivers/gpu/drm/drm_ioctl.c > +++ b/drivers/gpu/drm/drm_ioctl.c > @@ -36,9 +36,6 @@ > > #include > #include > -#ifdef CONFIG_X86 > -#include > -#endif > > static int drm_version(struct drm_device *dev, void *data, > struct drm_file *file_priv); > @@ -197,16 +194,7 @@ static int drm_getmap(struct drm_device *dev, void *data, > map->type = r_list->map->type; > map->flags = r_list->map->flags; > map->handle = (void *)(unsigned long) r_list->user_token; > - > -#ifdef CONFIG_X86 > - /* > - * There appears to be exactly one user of the mtrr index: dritest. > - * It's easy enough to keep it working on non-PAT systems. > - */ > - map->mtrr = phys_wc_to_mtrr_index(r_list->map->mtrr); > -#else > - map->mtrr = -1; > -#endif > + map->mtrr = arch_phys_wc_index(r_list->map->mtrr); > > mutex_unlock(&dev->struct_mutex); > > diff --git a/include/linux/io.h b/include/linux/io.h > index 986f2bf..6e29acf 100644 > --- a/include/linux/io.h > +++ b/include/linux/io.h > @@ -111,6 +111,12 @@ static inline void arch_phys_wc_del(int handle) > } > > #define arch_phys_wc_add arch_phys_wc_add > +#ifndef arch_phys_wc_index > +static inline int arch_phys_wc_index(int handle) > +{ > + return -1; > +} > +#define arch_phys_wc_index arch_phys_wc_index > #endif Sorry this is missing an #endif here, will send a v4. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/