aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_scc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_scc.c')
-rw-r--r--drivers/ata/pata_scc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
index 2ed480ef0ff8..fba5bed0a641 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -782,28 +782,28 @@ static unsigned int scc_data_xfer (struct ata_device *dev, unsigned char *buf,
782 struct ata_port *ap = dev->link->ap; 782 struct ata_port *ap = dev->link->ap;
783 unsigned int words = buflen >> 1; 783 unsigned int words = buflen >> 1;
784 unsigned int i; 784 unsigned int i;
785 u16 *buf16 = (u16 *) buf; 785 __le16 *buf16 = (__le16 *) buf;
786 void __iomem *mmio = ap->ioaddr.data_addr; 786 void __iomem *mmio = ap->ioaddr.data_addr;
787 787
788 /* Transfer multiple of 2 bytes */ 788 /* Transfer multiple of 2 bytes */
789 if (rw == READ) 789 if (rw == READ)
790 for (i = 0; i < words; i++) 790 for (i = 0; i < words; i++)
791 buf16[i] = le16_to_cpu(in_be32(mmio)); 791 buf16[i] = cpu_to_le16(in_be32(mmio));
792 else 792 else
793 for (i = 0; i < words; i++) 793 for (i = 0; i < words; i++)
794 out_be32(mmio, cpu_to_le16(buf16[i])); 794 out_be32(mmio, le16_to_cpu(buf16[i]));
795 795
796 /* Transfer trailing 1 byte, if any. */ 796 /* Transfer trailing 1 byte, if any. */
797 if (unlikely(buflen & 0x01)) { 797 if (unlikely(buflen & 0x01)) {
798 u16 align_buf[1] = { 0 }; 798 __le16 align_buf[1] = { 0 };
799 unsigned char *trailing_buf = buf + buflen - 1; 799 unsigned char *trailing_buf = buf + buflen - 1;
800 800
801 if (rw == READ) { 801 if (rw == READ) {
802 align_buf[0] = le16_to_cpu(in_be32(mmio)); 802 align_buf[0] = cpu_to_le16(in_be32(mmio));
803 memcpy(trailing_buf, align_buf, 1); 803 memcpy(trailing_buf, align_buf, 1);
804 } else { 804 } else {
805 memcpy(align_buf, trailing_buf, 1); 805 memcpy(align_buf, trailing_buf, 1);
806 out_be32(mmio, cpu_to_le16(align_buf[0])); 806 out_be32(mmio, le16_to_cpu(align_buf[0]));
807 } 807 }
808 words++; 808 words++;
809 } 809 }