staging: brcm80211: replace broadcom specific unaligned byte swapping routines
authorStanislav Fomichev <kernel@fomichev.me>
Sun, 20 Feb 2011 18:43:33 +0000 (21:43 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Feb 2011 22:06:59 +0000 (14:06 -0800)
htol16_ua_store -> put_unaligned_le16
htol32_ua_store -> put_unaligned_le32
hton16_ua_store -> put_unaligned_be16
hton32_ua_store -> put_unaligned_be32
ltoh16_ua -> get_unaligned_le16
ltoh32_ua -> get_unaligned_le32
ntoh16_ua -> get_unaligned_be16
ntoh32_ua -> get_unaligned_be32

removed unused:
- load32_ua
- load16_ua
- store32_ua
- store16_ua
- ltoh_ua
- ntoh_au

Signed-off-by: Stanislav Fomichev <kernel@fomichev.me>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmfmac/dhd_common.c
drivers/staging/brcm80211/brcmfmac/dhd_sdio.c
drivers/staging/brcm80211/brcmfmac/wl_iw.c
drivers/staging/brcm80211/include/bcmendian.h

index 326020049c3dab7004594251ca2135ca596c032d..5b8720d88ec0c06d2994b712ec51c4b34452f63d 100644 (file)
@@ -826,7 +826,7 @@ wl_host_event(struct dhd_info *dhd, int *ifidx, void *pktdata,
        }
 
        /* BRCM event pkt may be unaligned - use xxx_ua to load user_subtype. */
-       if (ntoh16_ua((void *)&pvt_data->bcm_hdr.usr_subtype) !=
+       if (get_unaligned_be16(&pvt_data->bcm_hdr.usr_subtype) !=
            BCMILCP_BCM_SUBTYPE_EVENT) {
                DHD_ERROR(("%s: mismatched subtype, bailing\n", __func__));
                return BCME_ERROR;
@@ -838,10 +838,10 @@ wl_host_event(struct dhd_info *dhd, int *ifidx, void *pktdata,
        /* memcpy since BRCM event pkt may be unaligned. */
        memcpy(event, &pvt_data->event, sizeof(wl_event_msg_t));
 
-       type = ntoh32_ua((void *)&event->event_type);
-       flags = ntoh16_ua((void *)&event->flags);
-       status = ntoh32_ua((void *)&event->status);
-       evlen = ntoh32_ua((void *)&event->datalen) + sizeof(bcm_event_t);
+       type = get_unaligned_be32(&event->event_type);
+       flags = get_unaligned_be16(&event->flags);
+       status = get_unaligned_be32(&event->status);
+       evlen = get_unaligned_be32(&event->datalen) + sizeof(bcm_event_t);
 
        switch (type) {
        case WLC_E_IF:
@@ -895,7 +895,7 @@ wl_host_event(struct dhd_info *dhd, int *ifidx, void *pktdata,
                if (type == WLC_E_NDIS_LINK) {
                        u32 temp;
 
-                       temp = ntoh32_ua((void *)&event->event_type);
+                       temp = get_unaligned_be32(&event->event_type);
                        DHD_TRACE(("Converted to WLC_E_LINK type %d\n", temp));
 
                        temp = be32_to_cpu(WLC_E_NDIS_LINK);
index d47f697540e35a1669736c64d017bbd35ac3cee9..41b76afe7c399488d163dc7bba50c01b507fea4d 100644 (file)
@@ -974,8 +974,9 @@ static int dhdsdio_txpkt(dhd_bus_t *bus, struct sk_buff *pkt, uint chan,
            ((chan << SDPCM_CHANNEL_SHIFT) & SDPCM_CHANNEL_MASK) | bus->tx_seq |
            (((pad +
               SDPCM_HDRLEN) << SDPCM_DOFFSET_SHIFT) & SDPCM_DOFFSET_MASK);
-       htol32_ua_store(swheader, frame + SDPCM_FRAMETAG_LEN);
-       htol32_ua_store(0, frame + SDPCM_FRAMETAG_LEN + sizeof(swheader));
+
+       put_unaligned_le32(swheader, frame + SDPCM_FRAMETAG_LEN);
+       put_unaligned_le32(0, frame + SDPCM_FRAMETAG_LEN + sizeof(swheader));
 
 #ifdef DHD_DEBUG
        tx_packets[pkt->priority]++;
@@ -1290,8 +1291,8 @@ int dhd_bus_txctl(struct dhd_bus *bus, unsigned char *msg, uint msglen)
             SDPCM_CHANNEL_MASK)
            | bus->tx_seq | ((doff << SDPCM_DOFFSET_SHIFT) &
                             SDPCM_DOFFSET_MASK);
-       htol32_ua_store(swheader, frame + SDPCM_FRAMETAG_LEN);
-       htol32_ua_store(0, frame + SDPCM_FRAMETAG_LEN + sizeof(swheader));
+       put_unaligned_le32(swheader, frame + SDPCM_FRAMETAG_LEN);
+       put_unaligned_le32(0, frame + SDPCM_FRAMETAG_LEN + sizeof(swheader));
 
        if (!DATAOK(bus)) {
                DHD_INFO(("%s: No bus credit bus->tx_max %d, bus->tx_seq %d\n",
@@ -3213,7 +3214,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
 
                for (totlen = num = 0; dlen; num++) {
                        /* Get (and move past) next length */
-                       sublen = ltoh16_ua(dptr);
+                       sublen = get_unaligned_le16(dptr);
                        dlen -= sizeof(u16);
                        dptr += sizeof(u16);
                        if ((sublen < SDPCM_HDRLEN) ||
@@ -3366,8 +3367,8 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
 
                /* Validate the superframe header */
                dptr = (u8 *) (pfirst->data);
-               sublen = ltoh16_ua(dptr);
-               check = ltoh16_ua(dptr + sizeof(u16));
+               sublen = get_unaligned_le16(dptr);
+               check = get_unaligned_le16(dptr + sizeof(u16));
 
                chan = SDPCM_PACKET_CHANNEL(&dptr[SDPCM_FRAMETAG_LEN]);
                seq = SDPCM_PACKET_SEQUENCE(&dptr[SDPCM_FRAMETAG_LEN]);
@@ -3436,8 +3437,8 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
                     num++, pnext = pnext->next) {
                        dptr = (u8 *) (pnext->data);
                        dlen = (u16) (pnext->len);
-                       sublen = ltoh16_ua(dptr);
-                       check = ltoh16_ua(dptr + sizeof(u16));
+                       sublen = get_unaligned_le16(dptr);
+                       check = get_unaligned_le16(dptr + sizeof(u16));
                        chan = SDPCM_PACKET_CHANNEL(&dptr[SDPCM_FRAMETAG_LEN]);
                        doff = SDPCM_DOFFSET_VALUE(&dptr[SDPCM_FRAMETAG_LEN]);
 #ifdef DHD_DEBUG
@@ -3499,7 +3500,7 @@ static u8 dhdsdio_rxglom(dhd_bus_t *bus, u8 rxseq)
                        pfirst->next = NULL;
 
                        dptr = (u8 *) (pfirst->data);
-                       sublen = ltoh16_ua(dptr);
+                       sublen = get_unaligned_le16(dptr);
                        chan = SDPCM_PACKET_CHANNEL(&dptr[SDPCM_FRAMETAG_LEN]);
                        seq = SDPCM_PACKET_SEQUENCE(&dptr[SDPCM_FRAMETAG_LEN]);
                        doff = SDPCM_DOFFSET_VALUE(&dptr[SDPCM_FRAMETAG_LEN]);
@@ -3772,8 +3773,8 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
                        memcpy(bus->rxhdr, rxbuf, SDPCM_HDRLEN);
 
                        /* Extract hardware header fields */
-                       len = ltoh16_ua(bus->rxhdr);
-                       check = ltoh16_ua(bus->rxhdr + sizeof(u16));
+                       len = get_unaligned_le16(bus->rxhdr);
+                       check = get_unaligned_le16(bus->rxhdr + sizeof(u16));
 
                        /* All zeros means readahead info was bad */
                        if (!(len | check)) {
@@ -3964,8 +3965,8 @@ static uint dhdsdio_readframes(dhd_bus_t *bus, uint maxframes, bool *finished)
 #endif
 
                /* Extract hardware header fields */
-               len = ltoh16_ua(bus->rxhdr);
-               check = ltoh16_ua(bus->rxhdr + sizeof(u16));
+               len = get_unaligned_le16(bus->rxhdr);
+               check = get_unaligned_le16(bus->rxhdr + sizeof(u16));
 
                /* All zeros means no more frames */
                if (!(len | check)) {
index 83e6d5c10450d2eb09206fd173195d05e6f161ac..eb31c74f65d47693c1c92b9fc10b28bcd4282298 100644 (file)
@@ -3480,9 +3480,8 @@ void wl_iw_event(struct net_device *dev, wl_event_msg_t *e, void *data)
 
                                cmd = IWEVPMKIDCAND;
                                pmkcandlist = data;
-                               count =
-                                   ntoh32_ua((u8 *) &
-                                             pmkcandlist->npmkid_cand);
+                               count = get_unaligned_be32(&pmkcandlist->
+                                                          npmkid_cand);
                                ASSERT(count >= 0);
                                wrqu.data.length = sizeof(struct iw_pmkid_cand);
                                pmkidcand = pmkcandlist->pmkid_cand;
index 44b9f91f60ee4173e1400e942a6441f02c422bd3..a22116ae5f8143ea77523f081ec493dc741986fd 100644 (file)
 #define htol16_buf(buf, i) bcmswap16_buf((u16 *)(buf), (i))
 #endif                         /* IL_BIGENDIAN */
 
-/* Unaligned loads and stores in host byte order */
-#ifndef IL_BIGENDIAN
-#define load32_ua(a)           ltoh32_ua(a)
-#define store32_ua(a, v)       htol32_ua_store(v, a)
-#define load16_ua(a)           ltoh16_ua(a)
-#define store16_ua(a, v)       htol16_ua_store(v, a)
-#else
-#define load32_ua(a)           ntoh32_ua(a)
-#define store32_ua(a, v)       hton32_ua_store(v, a)
-#define load16_ua(a)           ntoh16_ua(a)
-#define store16_ua(a, v)       hton16_ua_store(v, a)
-#endif                         /* IL_BIGENDIAN */
-
-#define _LTOH16_UA(cp) ((cp)[0] | ((cp)[1] << 8))
-#define _LTOH32_UA(cp) ((cp)[0] | ((cp)[1] << 8) | ((cp)[2] << 16) | ((cp)[3] << 24))
-#define _NTOH16_UA(cp) (((cp)[0] << 8) | (cp)[1])
-#define _NTOH32_UA(cp) (((cp)[0] << 24) | ((cp)[1] << 16) | ((cp)[2] << 8) | (cp)[3])
-
-#define ltoh_ua(ptr) \
-       (sizeof(*(ptr)) == sizeof(u8) ? *(const u8 *)(ptr) : \
-        sizeof(*(ptr)) == sizeof(u16) ? _LTOH16_UA((const u8 *)(ptr)) : \
-        sizeof(*(ptr)) == sizeof(u32) ? _LTOH32_UA((const u8 *)(ptr)) : \
-        *(u8 *)0)
-
-#define ntoh_ua(ptr) \
-       (sizeof(*(ptr)) == sizeof(u8) ? *(const u8 *)(ptr) : \
-        sizeof(*(ptr)) == sizeof(u16) ? _NTOH16_UA((const u8 *)(ptr)) : \
-        sizeof(*(ptr)) == sizeof(u32) ? _NTOH32_UA((const u8 *)(ptr)) : \
-        *(u8 *)0)
-
 #ifdef __GNUC__
 
 /* GNU macro versions avoid referencing the argument multiple times, while also
        } \
 })
 
-#define htol16_ua_store(val, bytes) ({ \
-       u16 _val = (val); \
-       u8 *_bytes = (u8 *)(bytes); \
-       _bytes[0] = _val & 0xff; \
-       _bytes[1] = _val >> 8; \
-})
-
-#define htol32_ua_store(val, bytes) ({ \
-       u32 _val = (val); \
-       u8 *_bytes = (u8 *)(bytes); \
-       _bytes[0] = _val & 0xff; \
-       _bytes[1] = (_val >> 8) & 0xff; \
-       _bytes[2] = (_val >> 16) & 0xff; \
-       _bytes[3] = _val >> 24; \
-})
-
-#define hton16_ua_store(val, bytes) ({ \
-       u16 _val = (val); \
-       u8 *_bytes = (u8 *)(bytes); \
-       _bytes[0] = _val >> 8; \
-       _bytes[1] = _val & 0xff; \
-})
-
-#define hton32_ua_store(val, bytes) ({ \
-       u32 _val = (val); \
-       u8 *_bytes = (u8 *)(bytes); \
-       _bytes[0] = _val >> 24; \
-       _bytes[1] = (_val >> 16) & 0xff; \
-       _bytes[2] = (_val >> 8) & 0xff; \
-       _bytes[3] = _val & 0xff; \
-})
-
-#define ltoh16_ua(bytes) ({ \
-       const u8 *_bytes = (const u8 *)(bytes); \
-       _LTOH16_UA(_bytes); \
-})
-
-#define ltoh32_ua(bytes) ({ \
-       const u8 *_bytes = (const u8 *)(bytes); \
-       _LTOH32_UA(_bytes); \
-})
-
-#define ntoh16_ua(bytes) ({ \
-       const u8 *_bytes = (const u8 *)(bytes); \
-       _NTOH16_UA(_bytes); \
-})
-
-#define ntoh32_ua(bytes) ({ \
-       const u8 *_bytes = (const u8 *)(bytes); \
-       _NTOH32_UA(_bytes); \
-})
-
 #else                          /* !__GNUC__ */
 
 /* Inline versions avoid referencing the argument multiple times */
@@ -185,77 +103,5 @@ static inline void bcmswap16_buf(u16 *buf, uint len)
        }
 }
 
-/*
- * Store 16-bit value to unaligned little-endian byte array.
- */
-static inline void htol16_ua_store(u16 val, u8 *bytes)
-{
-       bytes[0] = val & 0xff;
-       bytes[1] = val >> 8;
-}
-
-/*
- * Store 32-bit value to unaligned little-endian byte array.
- */
-static inline void htol32_ua_store(u32 val, u8 *bytes)
-{
-       bytes[0] = val & 0xff;
-       bytes[1] = (val >> 8) & 0xff;
-       bytes[2] = (val >> 16) & 0xff;
-       bytes[3] = val >> 24;
-}
-
-/*
- * Store 16-bit value to unaligned network-(big-)endian byte array.
- */
-static inline void hton16_ua_store(u16 val, u8 *bytes)
-{
-       bytes[0] = val >> 8;
-       bytes[1] = val & 0xff;
-}
-
-/*
- * Store 32-bit value to unaligned network-(big-)endian byte array.
- */
-static inline void hton32_ua_store(u32 val, u8 *bytes)
-{
-       bytes[0] = val >> 24;
-       bytes[1] = (val >> 16) & 0xff;
-       bytes[2] = (val >> 8) & 0xff;
-       bytes[3] = val & 0xff;
-}
-
-/*
- * Load 16-bit value from unaligned little-endian byte array.
- */
-static inline u16 ltoh16_ua(const void *bytes)
-{
-       return _LTOH16_UA((const u8 *)bytes);
-}
-
-/*
- * Load 32-bit value from unaligned little-endian byte array.
- */
-static inline u32 ltoh32_ua(const void *bytes)
-{
-       return _LTOH32_UA((const u8 *)bytes);
-}
-
-/*
- * Load 16-bit value from unaligned big-(network-)endian byte array.
- */
-static inline u16 ntoh16_ua(const void *bytes)
-{
-       return _NTOH16_UA((const u8 *)bytes);
-}
-
-/*
- * Load 32-bit value from unaligned big-(network-)endian byte array.
- */
-static inline u32 ntoh32_ua(const void *bytes)
-{
-       return _NTOH32_UA((const u8 *)bytes);
-}
-
 #endif                         /* !__GNUC__ */
 #endif                         /* !_BCMENDIAN_H_ */