diff options
Diffstat (limited to 'drivers/ata/pata_scc.c')
-rw-r--r-- | drivers/ata/pata_scc.c | 12 |
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 | } |