From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Hellstrom Date: Mon, 31 Mar 2008 14:40:47 +0000 Subject: [U-Boot-Users] [PATCH 08/13] SPARC: added SMC91111 driver in and out macros for LEON processors. In-Reply-To: <47F0F360.4060507@gmail.com> References: <1206973500-14282-1-git-send-email-daniel@gaisler.com> <47F0F360.4060507@gmail.com> Message-ID: <47F0F7EF.70609@gaisler.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Ben Warren wrote: > Daniel Hellstrom wrote: > >> Ben Warren wrote: >> >> >>> I haven't looked at how all the funky macros in this patch are >>> called, but it's generally considered good form to wrap multi-line >>> macros with do {...} while(0) in order to avoid compiler issues. >>> I'll NAK the patch for now based on this. >>> >> >> >> The Macros are used to read/write 8-,16-,32-bit words from the I/O >> bus where the SMC MAC is. LEON2/3 is bigendian, so the macros swaps >> the read and written data as well. The I/O bus is >> non-cacheable so no force cache miss is needed here. >> >> I have made the do{}while(0) you asked for and updated patch 8 and my >> repository: >> >> >> > > Per the e-mail by A. Rubini, I guess this isn't necessary. Sorry for > causing extra work for you. I'll pull this into the net tree today. > > regards, > Ben I agree with you both. However, some of the macros should not be "expression statements" as they return nothing this is also indicated by the inline function declared in drivers/net/smc91111.c: static inline word SMC_inw(dword offset); static inline void SMC_outw(word value, dword offset); static inline byte SMC_inb(dword offset); static inline void SMC_outb(byte value, dword offset); static inline void SMC_insw(dword offset, volatile uchar* buf, dword len); static inline void SMC_outsw(dword offset, uchar* buf, dword len); I my last patch I let the only the "true" "expressions statements" have the gcc slang Alessandro speak of. I would prefer the last patch I sent, currently in the repository. Best Regards, Daniel Hellstrom