linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hauke Mehrtens <hauke@hauke-m.de>
To: Arik Nemtsov <arik@wizery.com>
Cc: linux-wireless@vger.kernel.org, mcgrof@kernel.org,
	"backports@vger.kernel.org" <backports@vger.kernel.org>
Subject: Re: [PATCH] backports: rename some mem functions to not break custom kernels
Date: Thu, 08 Aug 2013 01:00:03 +0200	[thread overview]
Message-ID: <5202D173.4050408@hauke-m.de> (raw)
In-Reply-To: <1375865563-1196-1-git-send-email-arik@wizery.com>

Please add backports mailing list ( backports@vger.kernel.org ) next time.

On 08/07/2013 10:52 AM, Arik Nemtsov wrote:
> When custom patches are cherry-picked to a kernel, some symbols exported
> by backports may clash with the built-in ones. Rename the backports
> symbols using the standard backport_ prefix to prevent that. Backported
> drivers will resolve to the correct function via a define.
> 
> The offending symbols were exported by the patch below:
> 
> commit 2ce5c22448bb45998318267c00b5d6ef9cff3170
> Author: Hauke Mehrtens <hauke@hauke-m.de>
> Date:   Thu Jun 6 13:48:04 2013 +0200
> 
>     backports: backport some memory functions
> 
> Signed-off-by: Arik Nemtsov <arik@wizery.com>
> ---
>  backport/backport-include/asm/mtrr.h |  7 +++++--
>  backport/backport-include/linux/io.h | 14 +++++++-------
>  backport/compat/backport-3.11.c      | 16 ++++++++--------
>  3 files changed, 20 insertions(+), 17 deletions(-)
> 
> diff --git a/backport/backport-include/asm/mtrr.h b/backport/backport-include/asm/mtrr.h
> index cf0f6fd..c5760b4 100644
> --- a/backport/backport-include/asm/mtrr.h
> +++ b/backport/backport-include/asm/mtrr.h
> @@ -7,14 +7,17 @@
>   * The following functions are for use by other drivers that cannot use
>   * arch_phys_wc_add and arch_phys_wc_del.
>   */
> +#ifndef phys_wc_to_mtrr_index
>  #ifdef CONFIG_MTRR
> -extern int phys_wc_to_mtrr_index(int handle);
> +extern int backport_phys_wc_to_mtrr_index(int handle);
>  #else
> -static inline int phys_wc_to_mtrr_index(int handle)
> +static inline int backport_phys_wc_to_mtrr_index(int handle)
>  {
>  	return -1;
>  }
>  #endif /* CONFIG_MTRR */
> +#define phys_wc_to_mtrr_index LINUX_BACKPORT(phys_wc_to_mtrr_index)

You should put this line before the #ifndef phy_.... and then you do not
have to use backport_phys_wc_to_mtrr_index with the prefix anywhere in
backports. This also applies for the other places where you manually add
backport_.

> +#endif
>  #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)) */
>  
>  #endif /* __BACKPORT_ASM_MTRR_H */
> diff --git a/backport/backport-include/linux/io.h b/backport/backport-include/linux/io.h
> index 9a5b308..5f62c62 100644
> --- a/backport/backport-include/linux/io.h
> +++ b/backport/backport-include/linux/io.h
> @@ -15,22 +15,22 @@
>   */
>  #ifndef arch_phys_wc_add
>  #ifdef CONFIG_MTRR
> -extern int __must_check arch_phys_wc_add(unsigned long base,
> -					 unsigned long size);
> -extern void arch_phys_wc_del(int handle);
> +extern int __must_check backport_arch_phys_wc_add(unsigned long base,
> +						  unsigned long size);
> +extern void backport_arch_phys_wc_del(int handle);
>  #else
> -static inline int __must_check arch_phys_wc_add(unsigned long base,
> -						unsigned long size)
> +static inline int __must_check backport_arch_phys_wc_add(unsigned long base,
> +							 unsigned long size)
>  {
>  	return 0;  /* It worked (i.e. did nothing). */
>  }
>  
> -static inline void arch_phys_wc_del(int handle)
> +static inline void backport_arch_phys_wc_del(int handle)
>  {
>  }
>  #endif /* CONFIG_MTRR */
>  
> -#define arch_phys_wc_add arch_phys_wc_add
> +#define arch_phys_wc_add LINUX_BACKPORT(arch_phys_wc_add)
>  #endif
>  
>  #endif /* __BACKPORT_LINUX_IO_H */
> diff --git a/backport/compat/backport-3.11.c b/backport/compat/backport-3.11.c
> index c6d5a02..5ff17d1 100644
> --- a/backport/compat/backport-3.11.c
> +++ b/backport/compat/backport-3.11.c
> @@ -21,7 +21,7 @@
>  #define MTRR_TO_PHYS_WC_OFFSET 1000
>  
>  /**
> - * arch_phys_wc_add - add a WC MTRR and handle errors if PAT is unavailable
> + * backport_arch_phys_wc_add - add a WC MTRR and handle errors if PAT is unavailable
>   * @base: Physical base address
>   * @size: Size of region
>   *
> @@ -32,7 +32,7 @@
>   * Drivers must store the return value to pass to mtrr_del_wc_if_needed,
>   * but drivers should not try to interpret that return value.
>   */
> -int arch_phys_wc_add(unsigned long base, unsigned long size)
> +int backport_arch_phys_wc_add(unsigned long base, unsigned long size)
>  {
>  	int ret;
>  
> @@ -49,7 +49,7 @@ int arch_phys_wc_add(unsigned long base, unsigned long size)
>  	}
>  	return ret + MTRR_TO_PHYS_WC_OFFSET;
>  }
> -EXPORT_SYMBOL_GPL(arch_phys_wc_add);
> +EXPORT_SYMBOL_GPL(backport_arch_phys_wc_add);
>  
>  /*
>   * arch_phys_wc_del - undoes arch_phys_wc_add
> @@ -60,17 +60,17 @@ EXPORT_SYMBOL_GPL(arch_phys_wc_add);
>   * The API guarantees that mtrr_del_wc_if_needed(error code) and
>   * mtrr_del_wc_if_needed(0) do nothing.
>   */
> -void arch_phys_wc_del(int handle)
> +void backport_arch_phys_wc_del(int handle)
>  {
>  	if (handle >= 1) {
>  		WARN_ON(handle < MTRR_TO_PHYS_WC_OFFSET);
>  		mtrr_del(handle - MTRR_TO_PHYS_WC_OFFSET, 0, 0);
>  	}
>  }
> -EXPORT_SYMBOL_GPL(arch_phys_wc_del);
> +EXPORT_SYMBOL_GPL(backport_arch_phys_wc_del);
>  
>  /*
> - * phys_wc_to_mtrr_index - translates arch_phys_wc_add's return value
> + * backport_phys_wc_to_mtrr_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
> @@ -80,13 +80,13 @@ EXPORT_SYMBOL_GPL(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 backport_phys_wc_to_mtrr_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(backport_phys_wc_to_mtrr_index);
>  
>  #endif /* CONFIG_MTRR */
> 


  reply	other threads:[~2013-08-07 23:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-07  8:52 [PATCH] backports: rename some mem functions to not break custom kernels Arik Nemtsov
2013-08-07 23:00 ` Hauke Mehrtens [this message]
2013-08-08  6:45   ` Arik Nemtsov
2013-08-12 16:24     ` Hauke Mehrtens
2013-08-13 14:47       ` Arik Nemtsov
2013-08-13 21:11         ` Luis R. Rodriguez
  -- strict thread matches above, loose matches on Subject: below --
2013-08-14  7:48 Arik Nemtsov
2013-08-16  3:14 ` Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5202D173.4050408@hauke-m.de \
    --to=hauke@hauke-m.de \
    --cc=arik@wizery.com \
    --cc=backports@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).