aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/aoe/aoecmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/aoe/aoecmd.c')
-rw-r--r--drivers/block/aoe/aoecmd.c52
1 files changed, 23 insertions, 29 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index 5d43769..f810bd6 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -90,19 +90,16 @@ newtag(struct aoedev *d)
static int
aoehdr_atainit(struct aoedev *d, struct aoe_hdr *h)
{
- u16 type = __constant_cpu_to_be16(ETH_P_AOE);
- u16 aoemajor = __cpu_to_be16(d->aoemajor);
u32 host_tag = newtag(d);
- u32 tag = __cpu_to_be32(host_tag);
memcpy(h->src, d->ifp->dev_addr, sizeof h->src);
memcpy(h->dst, d->addr, sizeof h->dst);
- memcpy(h->type, &type, sizeof type);
+ h->type = __constant_cpu_to_be16(ETH_P_AOE);
h->verfl = AOE_HVER;
- memcpy(h->major, &aoemajor, sizeof aoemajor);
+ h->major = cpu_to_be16(d->aoemajor);
h->minor = d->aoeminor;
h->cmd = AOECMD_ATA;
- memcpy(h->tag, &tag, sizeof tag);
+ h->tag = cpu_to_be32(host_tag);
return host_tag;
}
@@ -215,7 +212,6 @@ rexmit(struct aoedev *d, struct frame *f)
struct aoe_hdr *h;
char buf[128];
u32 n;
- u32 net_tag;
n = newtag(d);
@@ -227,8 +223,7 @@ rexmit(struct aoedev *d, struct frame *f)
h = (struct aoe_hdr *) f->data;
f->tag = n;
- net_tag = __cpu_to_be32(n);
- memcpy(h->tag, &net_tag, sizeof net_tag);
+ h->tag = cpu_to_be32(n);
skb = skb_prepare(d, f);
if (skb) {
@@ -308,16 +303,16 @@ ataid_complete(struct aoedev *d, unsigned char *id)
u16 n;
/* word 83: command set supported */
- n = __le16_to_cpu(*((u16 *) &id[83<<1]));
+ n = le16_to_cpup((__le16 *) &id[83<<1]);
/* word 86: command set/feature enabled */
- n |= __le16_to_cpu(*((u16 *) &id[86<<1]));
+ n |= le16_to_cpup((__le16 *) &id[86<<1]);
if (n & (1<<10)) { /* bit 10: LBA 48 */
d->flags |= DEVFL_EXT;
/* word 100: number lba48 sectors */
- ssize = __le64_to_cpu(*((u64 *) &id[100<<1]));
+ ssize = le64_to_cpup((__le64 *) &id[100<<1]);
/* set as in ide-disk.c:init_idedisk_capacity */
d->geo.cylinders = ssize;
@@ -328,12 +323,12 @@ ataid_complete(struct aoedev *d, unsigned char *id)
d->flags &= ~DEVFL_EXT;
/* number lba28 sectors */
- ssize = __le32_to_cpu(*((u32 *) &id[60<<1]));
+ ssize = le32_to_cpup((__le32 *) &id[60<<1]);
/* NOTE: obsolete in ATA 6 */
- d->geo.cylinders = __le16_to_cpu(*((u16 *) &id[54<<1]));
- d->geo.heads = __le16_to_cpu(*((u16 *) &id[55<<1]));
- d->geo.sectors = __le16_to_cpu(*((u16 *) &id[56<<1]));
+ d->geo.cylinders = le16_to_cpup((__le16 *) &id[54<<1]);
+ d->geo.heads = le16_to_cpup((__le16 *) &id[55<<1]);
+ d->geo.sectors = le16_to_cpup((__le16 *) &id[56<<1]);
}
d->ssize = ssize;
d->geo.start = 0;
@@ -383,7 +378,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
u16 aoemajor;
hin = (struct aoe_hdr *) skb->mac.raw;
- aoemajor = __be16_to_cpu(*((u16 *) hin->major));
+ aoemajor = be16_to_cpu(hin->major);
d = aoedev_by_aoeaddr(aoemajor, hin->minor);
if (d == NULL) {
snprintf(ebuf, sizeof ebuf, "aoecmd_ata_rsp: ata response "
@@ -395,15 +390,15 @@ aoecmd_ata_rsp(struct sk_buff *skb)
spin_lock_irqsave(&d->lock, flags);
- f = getframe(d, __be32_to_cpu(*((u32 *) hin->tag)));
+ f = getframe(d, be32_to_cpu(hin->tag));
if (f == NULL) {
spin_unlock_irqrestore(&d->lock, flags);
snprintf(ebuf, sizeof ebuf,
"%15s e%d.%d tag=%08x@%08lx\n",
"unexpected rsp",
- __be16_to_cpu(*((u16 *) hin->major)),
+ be16_to_cpu(hin->major),
hin->minor,
- __be32_to_cpu(*((u32 *) hin->tag)),
+ be32_to_cpu(hin->tag),
jiffies);
aoechr_error(ebuf);
return;
@@ -453,7 +448,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
printk(KERN_INFO "aoe: aoecmd_ata_rsp: unrecognized "
"outbound ata command %2.2Xh for %d.%d\n",
ahout->cmdstat,
- __be16_to_cpu(*((u16 *) hin->major)),
+ be16_to_cpu(hin->major),
hin->minor);
}
}
@@ -487,8 +482,6 @@ aoecmd_cfg(ushort aoemajor, unsigned char aoeminor)
struct aoe_cfghdr *ch;
struct sk_buff *skb, *sl;
struct net_device *ifp;
- u16 aoe_type = __constant_cpu_to_be16(ETH_P_AOE);
- u16 net_aoemajor = __cpu_to_be16(aoemajor);
sl = NULL;
@@ -508,9 +501,9 @@ aoecmd_cfg(ushort aoemajor, unsigned char aoeminor)
memset(h->dst, 0xff, sizeof h->dst);
memcpy(h->src, ifp->dev_addr, sizeof h->src);
- memcpy(h->type, &aoe_type, sizeof aoe_type);
+ h->type = __constant_cpu_to_be16(ETH_P_AOE);
h->verfl = AOE_HVER;
- memcpy(h->major, &net_aoemajor, sizeof net_aoemajor);
+ h->major = cpu_to_be16(aoemajor);
h->minor = aoeminor;
h->cmd = AOECMD_CFG;
@@ -576,7 +569,8 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
struct aoedev *d;
struct aoe_hdr *h;
struct aoe_cfghdr *ch;
- ulong flags, bufcnt, sysminor, aoemajor;
+ ulong flags, sysminor, aoemajor;
+ u16 bufcnt;
struct sk_buff *sl;
enum { MAXFRAMES = 8 };
@@ -587,7 +581,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
* Enough people have their dip switches set backwards to
* warrant a loud message for this special case.
*/
- aoemajor = __be16_to_cpu(*((u16 *) h->major));
+ aoemajor = be16_to_cpu(h->major);
if (aoemajor == 0xfff) {
printk(KERN_CRIT "aoe: aoecmd_cfg_rsp: Warning: shelf "
"address is all ones. Check shelf dip switches\n");
@@ -602,7 +596,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
return;
}
- bufcnt = __be16_to_cpu(*((u16 *) ch->bufcnt));
+ bufcnt = be16_to_cpu(ch->bufcnt);
if (bufcnt > MAXFRAMES) /* keep it reasonable */
bufcnt = MAXFRAMES;
@@ -619,7 +613,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
return;
}
- d->fw_ver = __be16_to_cpu(*((u16 *) ch->fwver));
+ d->fw_ver = be16_to_cpu(ch->fwver);
/* we get here only if the device is new */
sl = aoecmd_ata_id(d);