[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