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>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
9eccca0843
commit
f571872671
@@ -1497,9 +1497,9 @@ static int pmac_ide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd)
|
||||
drive->name);
|
||||
return 0;
|
||||
}
|
||||
st_le16(&table->command, wr? OUTPUT_MORE: INPUT_MORE);
|
||||
st_le16(&table->req_count, tc);
|
||||
st_le32(&table->phy_addr, cur_addr);
|
||||
table->command = cpu_to_le16(wr? OUTPUT_MORE: INPUT_MORE);
|
||||
table->req_count = cpu_to_le16(tc);
|
||||
table->phy_addr = cpu_to_le32(cur_addr);
|
||||
table->cmd_dep = 0;
|
||||
table->xfer_status = 0;
|
||||
table->res_count = 0;
|
||||
@@ -1513,10 +1513,10 @@ static int pmac_ide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd)
|
||||
|
||||
/* convert the last command to an input/output last command */
|
||||
if (count) {
|
||||
st_le16(&table[-1].command, wr? OUTPUT_LAST: INPUT_LAST);
|
||||
table[-1].command = cpu_to_le16(wr? OUTPUT_LAST: INPUT_LAST);
|
||||
/* add the stop command to the end of the list */
|
||||
memset(table, 0, sizeof(struct dbdma_cmd));
|
||||
st_le16(&table->command, DBDMA_STOP);
|
||||
table->command = cpu_to_le16(DBDMA_STOP);
|
||||
mb();
|
||||
writel(hwif->dmatable_dma, &dma->cmdptr);
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user