aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2015-02-03 00:36:21 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2015-03-22 23:29:40 -0400
commitf5718726714cd6114876c4e3ca9b6992ab81176c (patch)
treec8cfe34ac28b22e89e8f5aac01c615ac61fbb221 /drivers/ide
parent9eccca0843205f87c00404b663188b88eb248051 (diff)
powerpc: Move Power Macintosh drivers to generic byteswappers
ppc has special instruction forms to efficiently load and store values in non-native endianness. These can be accessed via the arch-specific {ld,st}_le{16,32}() inlines in arch/powerpc/include/asm/swab.h. However, gcc is perfectly capable of generating the byte-reversing load/store instructions when using the normal, generic cpu_to_le*() and le*_to_cpu() functions eaning the arch-specific functions don't have much point. Worse the "le" in the names of the arch specific functions is now misleading, because they always generate byte-reversing forms, but some ppc machines can now run a little-endian kernel. To start getting rid of the arch-specific forms, this patch removes them from all the old Power Macintosh drivers, replacing them with the generic byteswappers. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/pmac.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/pmac.c b/drivers/ide/pmac.c
index 2db803cd095c..d24a3f8b49bc 100644
--- a/drivers/ide/pmac.c
+++ b/drivers/ide/pmac.c
@@ -1497,9 +1497,9 @@ static int pmac_ide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd)
1497 drive->name); 1497 drive->name);
1498 return 0; 1498 return 0;
1499 } 1499 }
1500 st_le16(&table->command, wr? OUTPUT_MORE: INPUT_MORE); 1500 table->command = cpu_to_le16(wr? OUTPUT_MORE: INPUT_MORE);
1501 st_le16(&table->req_count, tc); 1501 table->req_count = cpu_to_le16(tc);
1502 st_le32(&table->phy_addr, cur_addr); 1502 table->phy_addr = cpu_to_le32(cur_addr);
1503 table->cmd_dep = 0; 1503 table->cmd_dep = 0;
1504 table->xfer_status = 0; 1504 table->xfer_status = 0;
1505 table->res_count = 0; 1505 table->res_count = 0;
@@ -1513,10 +1513,10 @@ static int pmac_ide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd)
1513 1513
1514 /* convert the last command to an input/output last command */ 1514 /* convert the last command to an input/output last command */
1515 if (count) { 1515 if (count) {
1516 st_le16(&table[-1].command, wr? OUTPUT_LAST: INPUT_LAST); 1516 table[-1].command = cpu_to_le16(wr? OUTPUT_LAST: INPUT_LAST);
1517 /* add the stop command to the end of the list */ 1517 /* add the stop command to the end of the list */
1518 memset(table, 0, sizeof(struct dbdma_cmd)); 1518 memset(table, 0, sizeof(struct dbdma_cmd));
1519 st_le16(&table->command, DBDMA_STOP); 1519 table->command = cpu_to_le16(DBDMA_STOP);
1520 mb(); 1520 mb();
1521 writel(hwif->dmatable_dma, &dma->cmdptr); 1521 writel(hwif->dmatable_dma, &dma->cmdptr);
1522 return 1; 1522 return 1;