
Dear Michal Simek,
In message 1314779721-1113-2-git-send-email-monstr@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