Commit 6caf52a4 authored by Harvey Harrison's avatar Harvey Harrison Committed by Linus Torvalds

net: use get/put_unaligned_* helpers

Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Auke Kok <auke-jan.h.kok@intel.com>
Cc: John Ronciak <john.ronciak@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 48b2cf9e
...@@ -1802,7 +1802,7 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx) ...@@ -1802,7 +1802,7 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
* it is protected by the before last buffer's el bit being set */ * it is protected by the before last buffer's el bit being set */
if (rx->prev->skb) { if (rx->prev->skb) {
struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data; struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data;
put_unaligned(cpu_to_le32(rx->dma_addr), &prev_rfd->link); put_unaligned_le32(rx->dma_addr, &prev_rfd->link);
} }
return 0; return 0;
......
...@@ -1508,7 +1508,7 @@ static int hamachi_rx(struct net_device *dev) ...@@ -1508,7 +1508,7 @@ static int hamachi_rx(struct net_device *dev)
hmp->rx_buf_sz, hmp->rx_buf_sz,
PCI_DMA_FROMDEVICE); PCI_DMA_FROMDEVICE);
buf_addr = (u8 *) hmp->rx_skbuff[entry]->data; buf_addr = (u8 *) hmp->rx_skbuff[entry]->data;
frame_status = le32_to_cpu(get_unaligned((__le32*)&(buf_addr[data_size - 12]))); frame_status = get_unaligned_le32(&(buf_addr[data_size - 12]));
if (hamachi_debug > 4) if (hamachi_debug > 4)
printk(KERN_DEBUG " hamachi_rx() status was %8.8x.\n", printk(KERN_DEBUG " hamachi_rx() status was %8.8x.\n",
frame_status); frame_status);
......
...@@ -464,7 +464,7 @@ static void mcs_unwrap_fir(struct mcs_cb *mcs, __u8 *buf, int len) ...@@ -464,7 +464,7 @@ static void mcs_unwrap_fir(struct mcs_cb *mcs, __u8 *buf, int len)
} }
fcs = ~(crc32_le(~0, buf, new_len)); fcs = ~(crc32_le(~0, buf, new_len));
if(fcs != le32_to_cpu(get_unaligned((__le32 *)(buf+new_len)))) { if(fcs != get_unaligned_le32(buf + new_len)) {
IRDA_ERROR("crc error calc 0x%x len %d\n", fcs, new_len); IRDA_ERROR("crc error calc 0x%x len %d\n", fcs, new_len);
mcs->stats.rx_errors++; mcs->stats.rx_errors++;
mcs->stats.rx_crc_errors++; mcs->stats.rx_crc_errors++;
......
...@@ -329,7 +329,7 @@ static void fir_eof(struct stir_cb *stir) ...@@ -329,7 +329,7 @@ static void fir_eof(struct stir_cb *stir)
} }
fcs = ~(crc32_le(~0, rx_buff->data, len)); fcs = ~(crc32_le(~0, rx_buff->data, len));
if (fcs != le32_to_cpu(get_unaligned((__le32 *)(rx_buff->data+len)))) { if (fcs != get_unaligned_le32(rx_buff->data + len)) {
pr_debug("crc error calc 0x%x len %d\n", fcs, len); pr_debug("crc error calc 0x%x len %d\n", fcs, len);
stir->stats.rx_errors++; stir->stats.rx_errors++;
stir->stats.rx_crc_errors++; stir->stats.rx_crc_errors++;
......
...@@ -482,7 +482,6 @@ ...@@ -482,7 +482,6 @@
static char version[] __devinitdata = "de4x5.c:V0.546 2001/02/22 davies@maniac.ultranet.com\n"; static char version[] __devinitdata = "de4x5.c:V0.546 2001/02/22 davies@maniac.ultranet.com\n";
#define c_char const char #define c_char const char
#define TWIDDLE(a) (u_short)le16_to_cpu(get_unaligned((__le16 *)(a)))
/* /*
** MII Information ** MII Information
...@@ -4405,7 +4404,7 @@ srom_infoleaf_info(struct net_device *dev) ...@@ -4405,7 +4404,7 @@ srom_infoleaf_info(struct net_device *dev)
} }
} }
lp->infoleaf_offset = TWIDDLE(p+1); lp->infoleaf_offset = get_unaligned_le16(p + 1);
return 0; return 0;
} }
...@@ -4476,7 +4475,7 @@ srom_exec(struct net_device *dev, u_char *p) ...@@ -4476,7 +4475,7 @@ srom_exec(struct net_device *dev, u_char *p)
while (count--) { while (count--) {
gep_wr(((lp->chipset==DC21140) && (lp->ibn!=5) ? gep_wr(((lp->chipset==DC21140) && (lp->ibn!=5) ?
*p++ : TWIDDLE(w++)), dev); *p++ : get_unaligned_le16(w++)), dev);
mdelay(2); /* 2ms per action */ mdelay(2); /* 2ms per action */
} }
...@@ -4711,10 +4710,10 @@ type1_infoblock(struct net_device *dev, u_char count, u_char *p) ...@@ -4711,10 +4710,10 @@ type1_infoblock(struct net_device *dev, u_char count, u_char *p)
lp->active = *p++; lp->active = *p++;
lp->phy[lp->active].gep = (*p ? p : NULL); p += (*p + 1); lp->phy[lp->active].gep = (*p ? p : NULL); p += (*p + 1);
lp->phy[lp->active].rst = (*p ? p : NULL); p += (*p + 1); lp->phy[lp->active].rst = (*p ? p : NULL); p += (*p + 1);
lp->phy[lp->active].mc = TWIDDLE(p); p += 2; lp->phy[lp->active].mc = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].ana = TWIDDLE(p); p += 2; lp->phy[lp->active].ana = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].fdx = TWIDDLE(p); p += 2; lp->phy[lp->active].fdx = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].ttm = TWIDDLE(p); lp->phy[lp->active].ttm = get_unaligned_le16(p);
return 0; return 0;
} else if ((lp->media == INIT) && (lp->timeout < 0)) { } else if ((lp->media == INIT) && (lp->timeout < 0)) {
lp->ibn = 1; lp->ibn = 1;
...@@ -4751,16 +4750,16 @@ type2_infoblock(struct net_device *dev, u_char count, u_char *p) ...@@ -4751,16 +4750,16 @@ type2_infoblock(struct net_device *dev, u_char count, u_char *p)
lp->infoblock_media = (*p) & MEDIA_CODE; lp->infoblock_media = (*p) & MEDIA_CODE;
if ((*p++) & EXT_FIELD) { if ((*p++) & EXT_FIELD) {
lp->cache.csr13 = TWIDDLE(p); p += 2; lp->cache.csr13 = get_unaligned_le16(p); p += 2;
lp->cache.csr14 = TWIDDLE(p); p += 2; lp->cache.csr14 = get_unaligned_le16(p); p += 2;
lp->cache.csr15 = TWIDDLE(p); p += 2; lp->cache.csr15 = get_unaligned_le16(p); p += 2;
} else { } else {
lp->cache.csr13 = CSR13; lp->cache.csr13 = CSR13;
lp->cache.csr14 = CSR14; lp->cache.csr14 = CSR14;
lp->cache.csr15 = CSR15; lp->cache.csr15 = CSR15;
} }
lp->cache.gepc = ((s32)(TWIDDLE(p)) << 16); p += 2; lp->cache.gepc = ((s32)(get_unaligned_le16(p)) << 16); p += 2;
lp->cache.gep = ((s32)(TWIDDLE(p)) << 16); lp->cache.gep = ((s32)(get_unaligned_le16(p)) << 16);
lp->infoblock_csr6 = OMR_SIA; lp->infoblock_csr6 = OMR_SIA;
lp->useMII = false; lp->useMII = false;
...@@ -4792,10 +4791,10 @@ type3_infoblock(struct net_device *dev, u_char count, u_char *p) ...@@ -4792,10 +4791,10 @@ type3_infoblock(struct net_device *dev, u_char count, u_char *p)
if (MOTO_SROM_BUG) lp->active = 0; if (MOTO_SROM_BUG) lp->active = 0;
lp->phy[lp->active].gep = (*p ? p : NULL); p += (2 * (*p) + 1); lp->phy[lp->active].gep = (*p ? p : NULL); p += (2 * (*p) + 1);
lp->phy[lp->active].rst = (*p ? p : NULL); p += (2 * (*p) + 1); lp->phy[lp->active].rst = (*p ? p : NULL); p += (2 * (*p) + 1);
lp->phy[lp->active].mc = TWIDDLE(p); p += 2; lp->phy[lp->active].mc = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].ana = TWIDDLE(p); p += 2; lp->phy[lp->active].ana = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].fdx = TWIDDLE(p); p += 2; lp->phy[lp->active].fdx = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].ttm = TWIDDLE(p); p += 2; lp->phy[lp->active].ttm = get_unaligned_le16(p); p += 2;
lp->phy[lp->active].mci = *p; lp->phy[lp->active].mci = *p;
return 0; return 0;
} else if ((lp->media == INIT) && (lp->timeout < 0)) { } else if ((lp->media == INIT) && (lp->timeout < 0)) {
...@@ -4835,8 +4834,8 @@ type4_infoblock(struct net_device *dev, u_char count, u_char *p) ...@@ -4835,8 +4834,8 @@ type4_infoblock(struct net_device *dev, u_char count, u_char *p)
lp->cache.csr13 = CSR13; /* Hard coded defaults */ lp->cache.csr13 = CSR13; /* Hard coded defaults */
lp->cache.csr14 = CSR14; lp->cache.csr14 = CSR14;
lp->cache.csr15 = CSR15; lp->cache.csr15 = CSR15;
lp->cache.gepc = ((s32)(TWIDDLE(p)) << 16); p += 2; lp->cache.gepc = ((s32)(get_unaligned_le16(p)) << 16); p += 2;
lp->cache.gep = ((s32)(TWIDDLE(p)) << 16); p += 2; lp->cache.gep = ((s32)(get_unaligned_le16(p)) << 16); p += 2;
csr6 = *p++; csr6 = *p++;
flags = *p++; flags = *p++;
......
...@@ -1017,4 +1017,4 @@ struct de4x5_ioctl { ...@@ -1017,4 +1017,4 @@ struct de4x5_ioctl {
#define DE4X5_SET_OMR 0x0d /* Set the OMR Register contents */ #define DE4X5_SET_OMR 0x0d /* Set the OMR Register contents */
#define DE4X5_GET_REG 0x0e /* Get the DE4X5 Registers */ #define DE4X5_GET_REG 0x0e /* Get the DE4X5 Registers */
#define MOTO_SROM_BUG ((lp->active == 8) && (((le32_to_cpu(get_unaligned(((__le32 *)dev->dev_addr))))&0x00ffffff)==0x3e0008)) #define MOTO_SROM_BUG (lp->active == 8 && (get_unaligned_le32(dev->dev_addr) & 0x00ffffff) == 0x3e0008)
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/unaligned.h>
...@@ -304,11 +305,7 @@ enum t21143_csr6_bits { ...@@ -304,11 +305,7 @@ enum t21143_csr6_bits {
#define RUN_AT(x) (jiffies + (x)) #define RUN_AT(x) (jiffies + (x))
#if defined(__i386__) /* AKA get_unaligned() */ #define get_u16(ptr) get_unaligned_le16((ptr))
#define get_u16(ptr) (*(u16 *)(ptr))
#else
#define get_u16(ptr) (((u8*)(ptr))[0] + (((u8*)(ptr))[1]<<8))
#endif
struct medialeaf { struct medialeaf {
u8 type; u8 type;
......
...@@ -327,8 +327,8 @@ static void tulip_up(struct net_device *dev) ...@@ -327,8 +327,8 @@ static void tulip_up(struct net_device *dev)
tp->dirty_rx = tp->dirty_tx = 0; tp->dirty_rx = tp->dirty_tx = 0;
if (tp->flags & MC_HASH_ONLY) { if (tp->flags & MC_HASH_ONLY) {
u32 addr_low = le32_to_cpu(get_unaligned((__le32 *)dev->dev_addr)); u32 addr_low = get_unaligned_le32(dev->dev_addr);
u32 addr_high = le16_to_cpu(get_unaligned((__le16 *)(dev->dev_addr+4))); u32 addr_high = get_unaligned_le16(dev->dev_addr + 4);
if (tp->chip_id == AX88140) { if (tp->chip_id == AX88140) {
iowrite32(0, ioaddr + CSR13); iowrite32(0, ioaddr + CSR13);
iowrite32(addr_low, ioaddr + CSR14); iowrite32(addr_low, ioaddr + CSR14);
...@@ -1437,13 +1437,13 @@ static int __devinit tulip_init_one (struct pci_dev *pdev, ...@@ -1437,13 +1437,13 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
do do
value = ioread32(ioaddr + CSR9); value = ioread32(ioaddr + CSR9);
while (value < 0 && --boguscnt > 0); while (value < 0 && --boguscnt > 0);
put_unaligned(cpu_to_le16(value), ((__le16*)dev->dev_addr) + i); put_unaligned_le16(value, ((__le16 *)dev->dev_addr) + i);
sum += value & 0xffff; sum += value & 0xffff;
} }
} else if (chip_idx == COMET) { } else if (chip_idx == COMET) {
/* No need to read the EEPROM. */ /* No need to read the EEPROM. */
put_unaligned(cpu_to_le32(ioread32(ioaddr + 0xA4)), (__le32 *)dev->dev_addr); put_unaligned_le32(ioread32(ioaddr + 0xA4), dev->dev_addr);
put_unaligned(cpu_to_le16(ioread32(ioaddr + 0xA8)), (__le16 *)(dev->dev_addr + 4)); put_unaligned_le16(ioread32(ioaddr + 0xA8), dev->dev_addr + 4);
for (i = 0; i < 6; i ++) for (i = 0; i < 6; i ++)
sum += dev->dev_addr[i]; sum += dev->dev_addr[i];
} else { } else {
......
...@@ -1062,7 +1062,7 @@ static int yellowfin_rx(struct net_device *dev) ...@@ -1062,7 +1062,7 @@ static int yellowfin_rx(struct net_device *dev)
buf_addr = rx_skb->data; buf_addr = rx_skb->data;
data_size = (le32_to_cpu(desc->dbdma_cmd) - data_size = (le32_to_cpu(desc->dbdma_cmd) -
le32_to_cpu(desc->result_status)) & 0xffff; le32_to_cpu(desc->result_status)) & 0xffff;
frame_status = le16_to_cpu(get_unaligned((__le16*)&(buf_addr[data_size - 2]))); frame_status = get_unaligned_le16(&(buf_addr[data_size - 2]));
if (yellowfin_debug > 4) if (yellowfin_debug > 4)
printk(KERN_DEBUG " yellowfin_rx() status was %4.4x.\n", printk(KERN_DEBUG " yellowfin_rx() status was %4.4x.\n",
frame_status); frame_status);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment