* [PATCH 1/2] scsi: gdth.c use unaligned access helpers
@ 2008-09-23 20:38 Harvey Harrison
0 siblings, 0 replies; only message in thread
From: Harvey Harrison @ 2008-09-23 20:38 UTC (permalink / raw)
To: Andrew Morton; +Cc: Boaz Harrosh, James Bottomley, linux-scsi
Remove two now unnecessary local vars.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
akpm: replacement patch for that which had the incorrect be64.
drivers/scsi/gdth.c | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index c387c15..a788aa1 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -131,6 +131,7 @@
#include <asm/system.h>
#include <asm/io.h>
#include <asm/uaccess.h>
+#include <asm/unaligned.h>
#include <linux/spinlock.h>
#include <linux/blkdev.h>
#include <linux/scatterlist.h>
@@ -2429,8 +2430,8 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
{
register gdth_cmd_str *cmdp;
struct gdth_cmndinfo *cmndinfo = gdth_cmnd_priv(scp);
- ulong32 cnt, blockcnt;
- ulong64 no, blockno;
+ ulong32 blockcnt;
+ ulong64 blockno;
int i, cmd_index, read_write, sgcnt, mode64;
cmdp = ha->pccb;
@@ -2498,19 +2499,15 @@ static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive)
if (read_write) {
if (scp->cmd_len == 16) {
- memcpy(&no, &scp->cmnd[2], sizeof(ulong64));
- blockno = be64_to_cpu(no);
- memcpy(&cnt, &scp->cmnd[10], sizeof(ulong32));
- blockcnt = be32_to_cpu(cnt);
+ blockno = get_unaligned_be64(&scp->cmnd[2]);
+ blockcnt = get_unaligned_be32(&scp->cmnd[10]);
} else if (scp->cmd_len == 10) {
- memcpy(&no, &scp->cmnd[2], sizeof(ulong32));
- blockno = be32_to_cpu(no);
- memcpy(&cnt, &scp->cmnd[7], sizeof(ushort));
- blockcnt = be16_to_cpu(cnt);
+ blockno = get_unaligned_be32(&scp->cmnd[2]);
+ blockcnt = get_unaligned_be16(&scp->cmnd[7]);
} else {
- memcpy(&no, &scp->cmnd[0], sizeof(ulong32));
- blockno = be32_to_cpu(no) & 0x001fffffUL;
- blockcnt= scp->cmnd[4]==0 ? 0x100 : scp->cmnd[4];
+ blockno = get_unaligned_be32(&scp->cmnd[2]);
+ blockno &= 0x001fffffUL;
+ blockcnt = scp->cmnd[4] == 0 ? 0x100 : scp->cmnd[4];
}
if (mode64) {
cmdp->u.cache64.BlockNo = blockno;
--
1.6.0.2.450.gdb265
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2008-09-23 20:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-23 20:38 [PATCH 1/2] scsi: gdth.c use unaligned access helpers Harvey Harrison
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox