Re: lib/iomap.c mmio_{in,out}s* vs. __raw_* accessors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Sun, 5 Nov 2006, Benjamin Herrenschmidt wrote:
> > 
> > Just rip the _be versions out, methinks.
> 
> At least one user:
> 
> ./drivers/scsi/53c700.h:        __u32 value = bEBus ? ioread32be(hostdata->base + reg) :
> ./drivers/scsi/53c700.h:        bEBus ? iowrite32be(value, hostdata->base + reg):
> 
> Should I make it use explicit swab32 instead ?

Well, I actually really dislike your version with the explicit swab.

The _only_ reason to use "ioread32be()" would be because the machine is 
actually natively BE, and you want to avoid swab. That's kind of the point 
of using "be32_to_cpu(__raw_readl(addr)))" like we do now - it will do the 
byte swap only if it's necessary.

In contrast, your "swab(readl())" does _two_ byteswaps - once to turn it 
into LE, then to turn it back into BE.

So if we can't just rip it out, then we sure as hell shouldn't replace it 
with something that is obviously worse either.

In other words - I don't see the reasoning here again. You seem to want to 
make the code just worse. 

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux