On Fri, Jan 16, 2009 at 9:31 AM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: ... >> +static void octeon_cf_tf_read16(struct ata_port *ap, struct ata_taskfile *tf) >> +{ >> + u16 blob; >> + /* The base of the registers is at ioaddr.data_addr. */ >> + void __iomem *base = ap->ioaddr.data_addr; >> + >> + blob = __raw_readw(base + 0xc); > > why __raw? Avoid byte swapping. If it's "native" HW on Big Endian platform, byte swapping isn't needed. If it's working, it's correct. hth, grant -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html