[PATCH 1/2] staging: brcm80211: removed #ifdef __mips__

Johannes Berg johannes at sipsolutions.net
Tue Apr 19 13:57:17 UTC 2011


On Tue, 2011-04-19 at 15:49 +0200, Michael Büsch wrote:
> On Tue, 2011-04-19 at 15:45 +0200, Roland Vossen wrote: 
> > Hello guys,
> > 
> > Greg, please drop this patch set. Rest of this email is FYI only.
> > 
> > Michael:
> > 
> > > Are you sure? __mips__ is automagically defined by GCC, if compiling
> > > for MIPS. Maybe it should be converted to some CONFIG_... symbol.
> > > But removal seems wrong.
> > 
> > You are right. The majority of the removed #ifdef __mips__ code has to 
> > do with write flushing. To accomplish this, it performs a R_REG after a 
> > W_REG. I assumed that writeb() and friends guarantee ordering and write 
> > flushing, but after some reading I learned that this is not the case.
> > 
> > I will rework the code and submit a new patch set.
> > 
> > For some background info: this patch was a reaction on an email from 
> > John Linville to us. John wrote:
> > 
> > <quote>
> > I took a quick run through a pull of staging from today.  I made a few
> > notes, but a lot of them would seem to relate to the utils stuff you
> > mention above.  One general comment would be that there still seems
> > to be a lot of MIPS-specific stuff buried in the code, in particular
> > a lot of "#ifdef __mips__" stuff that if necessary should at least
> > be hidden inside the W_REG macro.
> > </quote>
> 
> You should probably create a new macro W_REG_FLUSH or something like
> that, which enforces ordering by reading back the register, if required.
> That avoids ugly #ifdefs in the code.

I don't see how write flushing would be MIPS specific anyway? It's a
function of the bus (PCI), not the host architecture, no?

johannes





More information about the devel mailing list