[U-Boot-Users] [PATCH 08/13] SPARC: added SMC91111 driver in and out macros for LEON processors.

Ben Warren biggerbadderben at gmail.com
Mon Mar 31 16:53:12 CEST 2008


Daniel Hellstrom wrote:
> 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.
>
Very good.  Thanks for being so thorough!  Much more interesting than 
quibbling about whitespace...

regards,
Ben




More information about the U-Boot mailing list