[U-Boot] [PATCH 01/10] microblaze: Fix in/out_be8/16/32 functions
Wolfgang Denk
wd at denx.de
Wed Sep 7 22:59:38 CEST 2011
Dear Michal Simek,
In message <1314779721-1113-2-git-send-email-monstr at monstr.eu> you wrote:
> Use inline functions instead of macros because
> of typechecking.
I don't understand the rationale of this change.
> -#define in_8(addr) readb (addr)
> -#define in_be16(addr) readw (addr)
> -#define in_be32(addr) readl (addr)
> +extern inline int in_8(volatile unsigned char *addr)
> +{
> + return readb(addr);
> +}
What;s the difference wether the type checking occurs for the in_8()
call or for the readb() call?
> +extern inline int in_be16(volatile unsigned short *addr)
Also, checkpatch says:
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#106: FILE: arch/microblaze/include/asm/io.h:49:
+extern inline int in_8(volatile unsigned char *addr)
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#111: FILE: arch/microblaze/include/asm/io.h:54:
+extern inline int in_be16(volatile unsigned short *addr)
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#119: FILE: arch/microblaze/include/asm/io.h:59:
+extern inline int in_be32(volatile unsigned int *addr)
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#124: FILE: arch/microblaze/include/asm/io.h:64:
+extern inline void out_8(volatile unsigned char *addr, char val)
WARNING: space prohibited between function name and open parenthesis '('
#126: FILE: arch/microblaze/include/asm/io.h:66:
+ outb (val, addr);
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#129: FILE: arch/microblaze/include/asm/io.h:69:
+extern inline void out_be16(volatile unsigned short *addr, short val)
WARNING: space prohibited between function name and open parenthesis '('
#131: FILE: arch/microblaze/include/asm/io.h:71:
+ outw (val, addr);
WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#134: FILE: arch/microblaze/include/asm/io.h:74:
+extern inline void out_be32(volatile unsigned int *addr, int val)
WARNING: space prohibited between function name and open parenthesis '('
#136: FILE: arch/microblaze/include/asm/io.h:76:
+ outl (val, addr);
total: 0 errors, 9 warnings, 41 lines checked
Please fix.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I believe you find life such a problem because you think there are
the good people and the bad people. You're wrong, of course. There
are, always and only, the bad people, but some of them are on oppo-
site sides. - Terry Pratchett, _Guards! Guards!_
More information about the U-Boot
mailing list