staging: keucr: use kernel byteorder functions
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>
Thu, 3 Mar 2011 13:25:08 +0000 (14:25 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 7 Mar 2011 21:26:56 +0000 (13:26 -0800)
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Jack Stone <jwjstone@fastmail.fm>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/keucr/TODO
drivers/staging/keucr/common.h
drivers/staging/keucr/ms.c

index 179b7fe..1c48e40 100644 (file)
@@ -6,7 +6,6 @@ TODO:
          be merged into the drivers/usb/storage/ directory and
          infrastructure instead.
        - review by the USB developer community
-       - common.h: use kernel swap, le, & be functions
        - smcommon.h & smilsub.c: use kernel hweight8(), hweight16()
 
 Please send any patches for this driver to Al Cho <acho@novell.com> and
index f2be045..b87dc7a 100644 (file)
@@ -9,17 +9,5 @@ typedef u16 *PWORD;
 typedef u32 DWORD;
 typedef u32 *PDWORD;
 
-#define swapWORD(w)    ((((unsigned short)(w) << 8) & 0xff00) |        \
-                        (((unsigned short)(w) >> 8) & 0x00ff))
-#define swapDWORD(dw)  ((((unsigned long)(dw) << 24) & 0xff000000) |   \
-                        (((unsigned long)(dw) <<  8) & 0x00ff0000) |   \
-                        (((unsigned long)(dw) >>  8) & 0x0000ff00) |   \
-                        (((unsigned long)(dw) >> 24) & 0x000000ff))
-
-#define LittleEndianWORD(w)    (w)
-#define LittleEndianDWORD(dw)  (dw)
-#define BigEndianWORD(w)       swapWORD(w)
-#define BigEndianDWORD(dw)     swapDWORD(dw)
-
 #endif
 
index 452ea8f..48496e4 100644 (file)
@@ -1,4 +1,6 @@
 #include <linux/slab.h>
+#include <asm/byteorder.h>
+
 #include "usb.h"
 #include "scsiglue.h"
 #include "transport.h"
@@ -166,8 +168,8 @@ int MS_CardInit(struct us_data *us)
                        continue;
 
                if (((extdat.mngflg & MS_REG_MNG_SYSFLG) == MS_REG_MNG_SYSFLG_USER) ||
-                       (BigEndianWORD(((MemStickBootBlockPage0 *)PageBuffer0)->header.wBlockID) != MS_BOOT_BLOCK_ID) ||
-                       (BigEndianWORD(((MemStickBootBlockPage0 *)PageBuffer0)->header.wFormatVersion) != MS_BOOT_BLOCK_FORMAT_VERSION) ||
+                       (be16_to_cpu(((MemStickBootBlockPage0 *)PageBuffer0)->header.wBlockID) != MS_BOOT_BLOCK_ID) ||
+                       (be16_to_cpu(((MemStickBootBlockPage0 *)PageBuffer0)->header.wFormatVersion) != MS_BOOT_BLOCK_FORMAT_VERSION) ||
                        (((MemStickBootBlockPage0 *)PageBuffer0)->header.bNumberOfDataEntry != MS_BOOT_BLOCK_DATA_ENTRIES))
                                continue;
 
@@ -266,7 +268,7 @@ int MS_LibCheckDisableBlock(struct us_data *us, WORD PhyBlock)
        MS_ReaderReadPage(us, PhyBlock, 1, (DWORD *)PageBuf, &extdat);
        do
        {
-               blk = BigEndianWORD(PageBuf[index]);
+               blk = be16_to_cpu(PageBuf[index]);
                if (blk == MS_LB_NOT_USED)
                        break;
                if (blk == us->MS_Lib.Log2PhyMap[0])
@@ -355,7 +357,7 @@ int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock, BYTE *PageData)
        SysInfo= &(((MemStickBootBlockPage0 *)PageData)->sysinf);
 
        if ((SysInfo->bMsClass != MS_SYSINF_MSCLASS_TYPE_1)                                   ||
-               (BigEndianWORD(SysInfo->wPageSize) != MS_SYSINF_PAGE_SIZE)                       ||
+               (be16_to_cpu(SysInfo->wPageSize) != MS_SYSINF_PAGE_SIZE)                       ||
                ((SysInfo->bSecuritySupport & MS_SYSINF_SECURITY) == MS_SYSINF_SECURITY_SUPPORT) ||
                (SysInfo->bReserved1 != MS_SYSINF_RESERVED1)                                     ||
                (SysInfo->bReserved2 != MS_SYSINF_RESERVED2)                                     ||
@@ -376,12 +378,12 @@ int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock, BYTE *PageData)
                        goto exit;
        }
 
-       us->MS_Lib.blockSize        = BigEndianWORD(SysInfo->wBlockSize);
-       us->MS_Lib.NumberOfPhyBlock = BigEndianWORD(SysInfo->wBlockNumber);
-       us->MS_Lib.NumberOfLogBlock = BigEndianWORD(SysInfo->wTotalBlockNumber)- 2;
+       us->MS_Lib.blockSize        = be16_to_cpu(SysInfo->wBlockSize);
+       us->MS_Lib.NumberOfPhyBlock = be16_to_cpu(SysInfo->wBlockNumber);
+       us->MS_Lib.NumberOfLogBlock = be16_to_cpu(SysInfo->wTotalBlockNumber) - 2;
        us->MS_Lib.PagesPerBlock    = us->MS_Lib.blockSize * SIZE_OF_KIRO / MS_BYTES_PER_PAGE;
        us->MS_Lib.NumberOfSegment  = us->MS_Lib.NumberOfPhyBlock / MS_PHYSICAL_BLOCKS_PER_SEGMENT;
-       us->MS_Model                = BigEndianWORD(SysInfo->wMemorySize);
+       us->MS_Model                = be16_to_cpu(SysInfo->wMemorySize);
 
        if (MS_LibAllocLogicalMap(us))                  //Allocate to all number of logicalblock and physicalblock
                goto exit;
@@ -394,10 +396,10 @@ int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock, BYTE *PageData)
        {
                DWORD  EntryOffset, EntrySize;
 
-               if ((EntryOffset = BigEndianDWORD(SysEntry->entry[i].dwStart)) == 0xffffff)
+               if ((EntryOffset = be32_to_cpu(SysEntry->entry[i].dwStart)) == 0xffffff)
                        continue;
 
-               if ((EntrySize = BigEndianDWORD(SysEntry->entry[i].dwSize)) == 0)
+               if ((EntrySize = be32_to_cpu(SysEntry->entry[i].dwSize)) == 0)
                        continue;
 
                if (EntryOffset + MS_BYTES_PER_PAGE + EntrySize > us->MS_Lib.blockSize * (DWORD)SIZE_OF_KIRO)
@@ -429,7 +431,7 @@ int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock, BYTE *PageData)
                                        PrevPageNumber = PageNumber;
                                }
 
-                               if ((phyblk = BigEndianWORD(*(WORD *)(PageBuffer + (EntryOffset % MS_BYTES_PER_PAGE)))) < 0x0fff)
+                               if ((phyblk = be16_to_cpu(*(WORD *)(PageBuffer + (EntryOffset % MS_BYTES_PER_PAGE)))) < 0x0fff)
                                        MS_LibSetInitialErrorBlock(us, phyblk);
 
                                EntryOffset += 2;
@@ -455,10 +457,10 @@ int MS_LibProcessBootBlock(struct us_data *us, WORD PhyBlock, BYTE *PageData)
                        }
 
                        idi = &((MemStickBootBlockCIS_IDI *)(PageBuffer + (EntryOffset % MS_BYTES_PER_PAGE)))->idi.idi;
-                       if (LittleEndianWORD(idi->wIDIgeneralConfiguration) != MS_IDI_GENERAL_CONF)
+                       if (le16_to_cpu(idi->wIDIgeneralConfiguration) != MS_IDI_GENERAL_CONF)
                                goto exit;
 
-                       us->MS_Lib.BytesPerSector = LittleEndianWORD(idi->wIDIbytesPerSector);
+                       us->MS_Lib.BytesPerSector = le16_to_cpu(idi->wIDIbytesPerSector);
                        if (us->MS_Lib.BytesPerSector != MS_BYTES_PER_PAGE)
                                goto exit;
                }