diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2015-02-03 00:36:21 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2015-03-22 23:29:40 -0400 |
commit | f5718726714cd6114876c4e3ca9b6992ab81176c (patch) | |
tree | c8cfe34ac28b22e89e8f5aac01c615ac61fbb221 /drivers/ide | |
parent | 9eccca0843205f87c00404b663188b88eb248051 (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.c | 10 |
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; |