>>>>> "pete" == Pete Popov <ppopov@mvista.com> writes: Hi >> Index: io.h >> =================================================================== >> RCS file: /home/cvs/linux/include/asm-mips/io.h,v >> retrieving revision 1.29.2.20 >> diff -u -r1.29.2.20 io.h >> --- io.h 25 Feb 2003 22:03:12 -0000 1.29.2.20 >> +++ io.h 14 Mar 2003 21:50:14 -0000 >> @@ -332,12 +332,25 @@ >> SLOW_DOWN_IO; \ >> } while(0) >> ° >> -#define outw_p(val,port) \ >> -do { \ >> - *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) = \ >> - __ioswab16(val); \ >> - SLOW_DOWN_IO; \ >> -} while(0) >> +/* baitisj */ >> +static inline u16 outw_p(u16 val, unsigned long port) >> +{ >> + register u16 retval; >> + do { >> + retval = *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) = >> + __ioswab16(val); >> + SLOW_DOWN_IO; >> + } while(0); >> + return retval; >> +} static inline u16 outw_p(u16 val, unsigned long port) { u16 retval; retval = *(volatile u16 *)(mips_io_port_base + __swizzle_addr_w(port)) = __ioswab16(val); SLOW_DOWN_IO; return retval; } while do construct inside a function shouldn't be needed when you have a function. And register is obsolete :) Later, Juan. -- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy