linux-mips
[Top] [All Lists]

Re: Success! Full CardBus/EXCA on PCI->Cardbus Bridge + DbAU1500

To: Pete Popov <ppopov@mvista.com>
Subject: Re: Success! Full CardBus/EXCA on PCI->Cardbus Bridge + DbAU1500
From: Juan Quintela <quintela@mandrakesoft.com>
Date: Fri, 21 Mar 2003 21:54:20 +0100
Cc: Linux MIPS mailing list <linux-mips@linux-mips.org>
In-reply-to: <1048273049.14211.56.camel@zeus.mvista.com> (Pete Popov's message of "21 Mar 2003 10:57:29 -0800")
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20030314122352.F20129@luca.pas.lab> <1047677667.18887.162.camel@zeus.mvista.com> <20030314135721.G20129@luca.pas.lab> <1048273049.14211.56.camel@zeus.mvista.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Gnus/5.090015 (Oort Gnus v0.15) Emacs/21.2.93
>>>>> "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

<Prev in Thread] Current Thread [Next in Thread>