Patchwork [U-Boot,2/2] MIPS: convert IO port accessor functions to 'static inline'

login
register
mail settings
Submitter Gabor Juhos
Date Jan. 16, 2013, 12:39 p.m.
Message ID <1358339963-2194-2-git-send-email-juhosg@openwrt.org>
Download mbox | patch
Permalink /patch/212503/
State Accepted
Delegated to: Daniel Schwierzeck
Headers show

Comments

Gabor Juhos - Jan. 16, 2013, 12:39 p.m.
The currently used 'extern inline' directive causes
the following compiler warnings if CONFIG_SWAP_IO_SPACE
is defined:

  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl_p' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc' which is not static [enabled by default]
  <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw_p' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc' which is not static [enabled by default]
  <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl_p' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc' which is not static [enabled by default]
  <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc_p' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw_p' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc' which is not static [enabled by default]
  <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw' which is not static [enabled by default]

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>

---
NOTE: checkpatch.pl throwns some errors/warnings for the patch:

  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:42: ERROR: open brace '{' following function declarations go on the next line
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:51: ERROR: open brace '{' following function declarations go on the next line
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: WARNING: line over 80 characters
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: ERROR: "foo * bar" should be "foo *bar"
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: ERROR: open brace '{' following function declarations go on the next line
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: WARNING: line over 80 characters
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: ERROR: "foo * bar" should be "foo *bar"
  0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: ERROR: open brace '{' following function declarations go on the next line

However those errors are already present if the
'arch/mips/include/asm/io.h' file is checked
with checkpatch.pl. The cleanup should be done
in a separare patch.
---
 arch/mips/include/asm/io.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
Daniel Schwierzeck - Jan. 22, 2013, 8:50 p.m.
2013/1/16 Gabor Juhos <juhosg@openwrt.org>:
> The currently used 'extern inline' directive causes
> the following compiler warnings if CONFIG_SWAP_IO_SPACE
> is defined:
>
>   <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outlc' which is not static [enabled by default]
>   <...>/include/asm/io.h:345:1: warning: '__fswab32' is static but used in inline function '__outl' which is not static [enabled by default]
>   <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outwc' which is not static [enabled by default]
>   <...>/include/asm/io.h:344:1: warning: '__fswab16' is static but used in inline function '__outw' which is not static [enabled by default]
>   <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inlc' which is not static [enabled by default]
>   <...>/include/asm/io.h:341:1: warning: '__fswab32' is static but used in inline function '__inl' which is not static [enabled by default]
>   <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw_p' which is not static [enabled by default]
>   <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inwc' which is not static [enabled by default]
>   <...>/include/asm/io.h:340:1: warning: '__fswab16' is static but used in inline function '__inw' which is not static [enabled by default]
>
> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
> Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
>
> ---
> NOTE: checkpatch.pl throwns some errors/warnings for the patch:
>
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:42: ERROR: open brace '{' following function declarations go on the next line
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:51: ERROR: open brace '{' following function declarations go on the next line
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: WARNING: line over 80 characters
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: ERROR: "foo * bar" should be "foo *bar"
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:60: ERROR: open brace '{' following function declarations go on the next line
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: WARNING: line over 80 characters
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: ERROR: "foo * bar" should be "foo *bar"
>   0002-MIPS-convert-IO-port-accessor-functions-to-static-in.patch:69: ERROR: open brace '{' following function declarations go on the next line
>
> However those errors are already present if the
> 'arch/mips/include/asm/io.h' file is checked
> with checkpatch.pl. The cleanup should be done
> in a separare patch.
> ---
>  arch/mips/include/asm/io.h |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

applied to u-boot-mips/master, thanks

Patch

diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 50466f2..3864c80 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -254,7 +254,7 @@  out:
  */
 
 #define __OUT1(s) \
-extern inline void __out##s(unsigned int value, unsigned int port) {
+static inline void __out##s(unsigned int value, unsigned int port) {
 
 #define __OUT2(m) \
 __asm__ __volatile__ ("s" #m "\t%0,%1(%2)"
@@ -268,7 +268,7 @@  __OUT1(s##c_p) __OUT2(m) : : "r" (__ioswab##w(value)), "ir" (port), "r" (mips_io
 	SLOW_DOWN_IO; }
 
 #define __IN1(t,s) \
-extern inline t __in##s(unsigned int port) { t _v;
+static inline t __in##s(unsigned int port) { t _v;
 
 /*
  * Required nops will be inserted by the assembler
@@ -283,7 +283,7 @@  __IN1(t,s##_p) __IN2(m) : "=r" (_v) : "i" (0), "r" (mips_io_port_base+port)); SL
 __IN1(t,s##c_p) __IN2(m) : "=r" (_v) : "ir" (port), "r" (mips_io_port_base)); SLOW_DOWN_IO; return __ioswab##w(_v); }
 
 #define __INS1(s) \
-extern inline void __ins##s(unsigned int port, void * addr, unsigned long count) {
+static inline void __ins##s(unsigned int port, void * addr, unsigned long count) {
 
 #define __INS2(m) \
 if (count) \
@@ -311,7 +311,7 @@  __INS1(s##c) __INS2(m) \
 	: "$1");}
 
 #define __OUTS1(s) \
-extern inline void __outs##s(unsigned int port, const void * addr, unsigned long count) {
+static inline void __outs##s(unsigned int port, const void * addr, unsigned long count) {
 
 #define __OUTS2(m) \
 if (count) \