* [PATCH] keucr: Change the custom counting functions to hweight8 and hweight16
@ 2011-02-27 22:20 Roel Van Nyen
0 siblings, 0 replies; only message in thread
From: Roel Van Nyen @ 2011-02-27 22:20 UTC (permalink / raw)
To: gregkh; +Cc: linux-kernel, Roel Van Nyen
Change the custom counting functions to hweight8 and hweight16
Signed-off-by: Roel Van Nyen <roel.vannyen@gmail.com>
---
drivers/staging/keucr/smcommon.h | 2 --
drivers/staging/keucr/smilsub.c | 37 ++++++-------------------------------
2 files changed, 6 insertions(+), 33 deletions(-)
diff --git a/drivers/staging/keucr/smcommon.h b/drivers/staging/keucr/smcommon.h
index 1694605..00064ca 100644
--- a/drivers/staging/keucr/smcommon.h
+++ b/drivers/staging/keucr/smcommon.h
@@ -25,8 +25,6 @@ Define Difinetion
#define ERR_NoSmartMedia 0x003A /* Medium Not Present */
/***************************************************************************/
-char Bit_D_Count(BYTE);
-char Bit_D_CountWord(WORD);
void StringCopy(char *, char *, int);
int StringCmp(char *, char *, int);
diff --git a/drivers/staging/keucr/smilsub.c b/drivers/staging/keucr/smilsub.c
index 6dbc81d..80da61c 100644
--- a/drivers/staging/keucr/smilsub.c
+++ b/drivers/staging/keucr/smilsub.c
@@ -79,7 +79,7 @@ int Check_D_FailBlock(BYTE *redundant)
return(SUCCESS);
if (!*redundant)
return(ERROR);
- if (Bit_D_Count(*redundant)<7)
+ if (hweight8(*redundant)<7)
return(ERROR);
return(SUCCESS);
@@ -100,7 +100,7 @@ int Check_D_DataStatus(BYTE *redundant)
else
ErrXDCode = NO_ERROR;
- if (Bit_D_Count(*redundant)<5)
+ if (hweight8(*redundant)<5)
return(ERROR);
return(SUCCESS);
@@ -120,14 +120,14 @@ int Load_D_LogBlockAddr(BYTE *redundant)
if ((addr1 &0xF000)==0x1000)
{ Media.LogBlock=(addr1 &0x0FFF)/2; return(SUCCESS); }
- if (Bit_D_CountWord((WORD)(addr1^addr2))!=0x01) return(ERROR);
+ if (hweight16((WORD)(addr1^addr2))!=0x01) return(ERROR);
if ((addr1 &0xF000)==0x1000)
- if (!(Bit_D_CountWord(addr1) &0x01))
+ if (!(hweight16(addr1) &0x01))
{ Media.LogBlock=(addr1 &0x0FFF)/2; return(SUCCESS); }
if ((addr2 &0xF000)==0x1000)
- if (!(Bit_D_CountWord(addr2) &0x01))
+ if (!(hweight16(addr2) &0x01))
{ Media.LogBlock=(addr2 &0x0FFF)/2; return(SUCCESS); }
return(ERROR);
@@ -151,7 +151,7 @@ void Set_D_LogBlockAddr(BYTE *redundant)
*(redundant+REDT_DATA) =0xFF;
addr=Media.LogBlock*2+0x1000;
- if ((Bit_D_CountWord(addr)%2))
+ if ((hweight16(addr)%2))
addr++;
*(redundant+REDT_ADDR1H)=*(redundant+REDT_ADDR2H)=(BYTE)(addr/0x0100);
@@ -1549,31 +1549,6 @@ void Set_D_RightECC(BYTE *redundant)
// StringCopy((char *)(redundant+0x08),(char *)(EccBuf+0x03),3);
//}
*/
-//Common Subroutine
-char Bit_D_Count(BYTE cdata)
-{
- WORD bitcount=0;
-
- while(cdata) {
- bitcount+=(WORD)(cdata &0x01);
- cdata /=2;
- }
-
- return((char)bitcount);
-}
-
-//-----
-char Bit_D_CountWord(WORD cdata)
-{
- WORD bitcount=0;
-
- while(cdata) {
- bitcount+=(cdata &0x01);
- cdata /=2;
- }
-
- return((char)bitcount);
-}
/*
//----- SM_ReadBlock() ---------------------------------------------
--
1.7.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-02-27 22:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-27 22:20 [PATCH] keucr: Change the custom counting functions to hweight8 and hweight16 Roel Van Nyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®