aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mesh.c
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/scsi/mesh.c
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/scsi/mesh.c')
-rw-r--r--drivers/scsi/mesh.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index 57a95e2c3442..555367f00228 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1287,9 +1287,9 @@ static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd)
1287 } 1287 }
1288 if (dma_len > 0xffff) 1288 if (dma_len > 0xffff)
1289 panic("mesh: scatterlist element >= 64k"); 1289 panic("mesh: scatterlist element >= 64k");
1290 st_le16(&dcmds->req_count, dma_len - off); 1290 dcmds->req_count = cpu_to_le16(dma_len - off);
1291 st_le16(&dcmds->command, dma_cmd); 1291 dcmds->command = cpu_to_le16(dma_cmd);
1292 st_le32(&dcmds->phy_addr, dma_addr + off); 1292 dcmds->phy_addr = cpu_to_le32(dma_addr + off);
1293 dcmds->xfer_status = 0; 1293 dcmds->xfer_status = 0;
1294 ++dcmds; 1294 ++dcmds;
1295 dtot += dma_len - off; 1295 dtot += dma_len - off;
@@ -1303,15 +1303,15 @@ static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd)
1303 static char mesh_extra_buf[64]; 1303 static char mesh_extra_buf[64];
1304 1304
1305 dtot = sizeof(mesh_extra_buf); 1305 dtot = sizeof(mesh_extra_buf);
1306 st_le16(&dcmds->req_count, dtot); 1306 dcmds->req_count = cpu_to_le16(dtot);
1307 st_le32(&dcmds->phy_addr, virt_to_phys(mesh_extra_buf)); 1307 dcmds->phy_addr = cpu_to_le32(virt_to_phys(mesh_extra_buf));
1308 dcmds->xfer_status = 0; 1308 dcmds->xfer_status = 0;
1309 ++dcmds; 1309 ++dcmds;
1310 } 1310 }
1311 dma_cmd += OUTPUT_LAST - OUTPUT_MORE; 1311 dma_cmd += OUTPUT_LAST - OUTPUT_MORE;
1312 st_le16(&dcmds[-1].command, dma_cmd); 1312 dcmds[-1].command = cpu_to_le16(dma_cmd);
1313 memset(dcmds, 0, sizeof(*dcmds)); 1313 memset(dcmds, 0, sizeof(*dcmds));
1314 st_le16(&dcmds->command, DBDMA_STOP); 1314 dcmds->command = cpu_to_le16(DBDMA_STOP);
1315 ms->dma_count = dtot; 1315 ms->dma_count = dtot;
1316} 1316}
1317 1317