staging/keucr: fix keucr smilecc.c coding style

fix keucr smilecc.c coding style

Signed-off-by: Cho, Yu-Chen <acho@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Cho, Yu-Chen 2011-05-18 18:40:12 +08:00 committed by Greg Kroah-Hartman
parent 8a25a2cf0a
commit 65cdcf3623

View file

@ -1,39 +1,42 @@
#include "usb.h" #include "usb.h"
#include "scsiglue.h" #include "scsiglue.h"
#include "transport.h" #include "transport.h"
//#include "stdlib.h" /* #include "stdlib.h" */
//#include "EUCR6SK.h" /* #include "EUCR6SK.h" */
#include "smcommon.h" #include "smcommon.h"
#include "smil.h" #include "smil.h"
//#include <stdio.h> /* #include <stdio.h> */
//#include <stdlib.h> /* #include <stdlib.h> */
//#include <string.h> /* #include <string.h> */
//#include <dos.h> /* #include <dos.h> */
// /* #include "EMCRIOS.h" */
//#include "EMCRIOS.h"
// CP0-CP5 code table /* CP0-CP5 code table */
static BYTE ecctable[256] = { static BYTE ecctable[256] = {
0x00,0x55,0x56,0x03,0x59,0x0C,0x0F,0x5A,0x5A,0x0F,0x0C,0x59,0x03,0x56,0x55,0x00, 0x00, 0x55, 0x56, 0x03, 0x59, 0x0C, 0x0F, 0x5A, 0x5A, 0x0F, 0x0C, 0x59, 0x03,
0x65,0x30,0x33,0x66,0x3C,0x69,0x6A,0x3F,0x3F,0x6A,0x69,0x3C,0x66,0x33,0x30,0x65, 0x56, 0x55, 0x00, 0x65, 0x30, 0x33, 0x66, 0x3C, 0x69, 0x6A, 0x3F, 0x3F, 0x6A,
0x66,0x33,0x30,0x65,0x3F,0x6A,0x69,0x3C,0x3C,0x69,0x6A,0x3F,0x65,0x30,0x33,0x66, 0x69, 0x3C, 0x66, 0x33, 0x30, 0x65, 0x66, 0x33, 0x30, 0x65, 0x3F, 0x6A, 0x69,
0x03,0x56,0x55,0x00,0x5A,0x0F,0x0C,0x59,0x59,0x0C,0x0F,0x5A,0x00,0x55,0x56,0x03, 0x3C, 0x3C, 0x69, 0x6A, 0x3F, 0x65, 0x30, 0x33, 0x66, 0x03, 0x56, 0x55, 0x00,
0x69,0x3C,0x3F,0x6A,0x30,0x65,0x66,0x33,0x33,0x66,0x65,0x30,0x6A,0x3F,0x3C,0x69, 0x5A, 0x0F, 0x0C, 0x59, 0x59, 0x0C, 0x0F, 0x5A, 0x00, 0x55, 0x56, 0x03, 0x69,
0x0C,0x59,0x5A,0x0F,0x55,0x00,0x03,0x56,0x56,0x03,0x00,0x55,0x0F,0x5A,0x59,0x0C, 0x3C, 0x3F, 0x6A, 0x30, 0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6A, 0x3F,
0x0F,0x5A,0x59,0x0C,0x56,0x03,0x00,0x55,0x55,0x00,0x03,0x56,0x0C,0x59,0x5A,0x0F, 0x3C, 0x69, 0x0C, 0x59, 0x5A, 0x0F, 0x55, 0x00, 0x03, 0x56, 0x56, 0x03, 0x00,
0x6A,0x3F,0x3C,0x69,0x33,0x66,0x65,0x30,0x30,0x65,0x66,0x33,0x69,0x3C,0x3F,0x6A, 0x55, 0x0F, 0x5A, 0x59, 0x0C, 0x0F, 0x5A, 0x59, 0x0C, 0x56, 0x03, 0x00, 0x55,
0x6A,0x3F,0x3C,0x69,0x33,0x66,0x65,0x30,0x30,0x65,0x66,0x33,0x69,0x3C,0x3F,0x6A, 0x55, 0x00, 0x03, 0x56, 0x0C, 0x59, 0x5A, 0x0F, 0x6A, 0x3F, 0x3C, 0x69, 0x33,
0x0F,0x5A,0x59,0x0C,0x56,0x03,0x00,0x55,0x55,0x00,0x03,0x56,0x0C,0x59,0x5A,0x0F, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3C, 0x3F, 0x6A, 0x6A, 0x3F,
0x0C,0x59,0x5A,0x0F,0x55,0x00,0x03,0x56,0x56,0x03,0x00,0x55,0x0F,0x5A,0x59,0x0C, 0x3C, 0x69, 0x33, 0x66, 0x65, 0x30, 0x30, 0x65, 0x66, 0x33, 0x69, 0x3C, 0x3F,
0x69,0x3C,0x3F,0x6A,0x30,0x65,0x66,0x33,0x33,0x66,0x65,0x30,0x6A,0x3F,0x3C,0x69, 0x6A, 0x0F, 0x5A, 0x59, 0x0C, 0x56, 0x03, 0x00, 0x55, 0x55, 0x00, 0x03, 0x56,
0x03,0x56,0x55,0x00,0x5A,0x0F,0x0C,0x59,0x59,0x0C,0x0F,0x5A,0x00,0x55,0x56,0x03, 0x0C, 0x59, 0x5A, 0x0F, 0x0C, 0x59, 0x5A, 0x0F, 0x55, 0x00, 0x03, 0x56, 0x56,
0x66,0x33,0x30,0x65,0x3F,0x6A,0x69,0x3C,0x3C,0x69,0x6A,0x3F,0x65,0x30,0x33,0x66, 0x03, 0x00, 0x55, 0x0F, 0x5A, 0x59, 0x0C, 0x69, 0x3C, 0x3F, 0x6A, 0x30, 0x65,
0x65,0x30,0x33,0x66,0x3C,0x69,0x6A,0x3F,0x3F,0x6A,0x69,0x3C,0x66,0x33,0x30,0x65, 0x66, 0x33, 0x33, 0x66, 0x65, 0x30, 0x6A, 0x3F, 0x3C, 0x69, 0x03, 0x56, 0x55,
0x00,0x55,0x56,0x03,0x59,0x0C,0x0F,0x5A,0x5A,0x0F,0x0C,0x59,0x03,0x56,0x55,0x00 0x00, 0x5A, 0x0F, 0x0C, 0x59, 0x59, 0x0C, 0x0F, 0x5A, 0x00, 0x55, 0x56, 0x03,
0x66, 0x33, 0x30, 0x65, 0x3F, 0x6A, 0x69, 0x3C, 0x3C, 0x69, 0x6A, 0x3F, 0x65,
0x30, 0x33, 0x66, 0x65, 0x30, 0x33, 0x66, 0x3C, 0x69, 0x6A, 0x3F, 0x3F, 0x6A,
0x69, 0x3C, 0x66, 0x33, 0x30, 0x65, 0x00, 0x55, 0x56, 0x03, 0x59, 0x0C, 0x0F,
0x5A, 0x5A, 0x0F, 0x0C, 0x59, 0x03, 0x56, 0x55, 0x00
}; };
static void trans_result (BYTE, BYTE, BYTE *, BYTE *); static void trans_result(BYTE, BYTE, BYTE *, BYTE *);
#define BIT7 0x80 #define BIT7 0x80
#define BIT6 0x40 #define BIT6 0x40
@ -49,138 +52,140 @@ static void trans_result (BYTE, BYTE, BYTE *, BYTE *);
#define CORRECTABLE 0x00555554L #define CORRECTABLE 0x00555554L
/* /*
* reg2; // LP14,LP12,LP10,... * reg2; * LP14,LP12,LP10,...
* reg3; // LP15,LP13,LP11,... * reg3; * LP15,LP13,LP11,...
* *ecc1; // LP15,LP14,LP13,... * *ecc1; * LP15,LP14,LP13,...
* *ecc2; // LP07,LP06,LP05,... * *ecc2; * LP07,LP06,LP05,...
*/ */
static void trans_result(BYTE reg2, BYTE reg3, BYTE *ecc1, BYTE *ecc2) static void trans_result(BYTE reg2, BYTE reg3, BYTE *ecc1, BYTE *ecc2)
{ {
BYTE a; // Working for reg2,reg3 BYTE a; /* Working for reg2,reg3 */
BYTE b; // Working for ecc1,ecc2 BYTE b; /* Working for ecc1,ecc2 */
BYTE i; // For counting BYTE i; /* For counting */
a=BIT7; b=BIT7; // 80h=10000000b a = BIT7; b = BIT7; /* 80h=10000000b */
*ecc1=*ecc2=0; // Clear ecc1,ecc2 *ecc1 = *ecc2 = 0; /* Clear ecc1,ecc2 */
for(i=0; i<4; ++i) { for (i = 0; i < 4; ++i) {
if ((reg3&a)!=0) if ((reg3&a) != 0)
*ecc1|=b; // LP15,13,11,9 -> ecc1 *ecc1 |= b; /* LP15,13,11,9 -> ecc1 */
b=b>>1; // Right shift b = b>>1; /* Right shift */
if ((reg2&a)!=0) if ((reg2&a) != 0)
*ecc1|=b; // LP14,12,10,8 -> ecc1 *ecc1 |= b; /* LP14,12,10,8 -> ecc1 */
b=b>>1; // Right shift b = b>>1; /* Right shift */
a=a>>1; // Right shift a = a>>1; /* Right shift */
} }
b=BIT7; // 80h=10000000b b = BIT7; /* 80h=10000000b */
for(i=0; i<4; ++i) { for (i = 0; i < 4; ++i) {
if ((reg3&a)!=0) if ((reg3&a) != 0)
*ecc2|=b; // LP7,5,3,1 -> ecc2 *ecc2 |= b; /* LP7,5,3,1 -> ecc2 */
b=b>>1; // Right shift b = b>>1; /* Right shift */
if ((reg2&a)!=0) if ((reg2&a) != 0)
*ecc2|=b; // LP6,4,2,0 -> ecc2 *ecc2 |= b; /* LP6,4,2,0 -> ecc2 */
b=b>>1; // Right shift b = b>>1; /* Right shift */
a=a>>1; // Right shift a = a>>1; /* Right shift */
} }
} }
//static void calculate_ecc(table,data,ecc1,ecc2,ecc3) /*static void calculate_ecc(table,data,ecc1,ecc2,ecc3) */
/* /*
* *table; // CP0-CP5 code table * *table; * CP0-CP5 code table
* *data; // DATA * *data; * DATA
* *ecc1; // LP15,LP14,LP13,... * *ecc1; * LP15,LP14,LP13,...
* *ecc2; // LP07,LP06,LP05,... * *ecc2; * LP07,LP06,LP05,...
* *ecc3; // CP5,CP4,CP3,...,"1","1" * *ecc3; * CP5,CP4,CP3,...,"1","1"
*/ */
void calculate_ecc(BYTE *table, BYTE *data, BYTE *ecc1, BYTE *ecc2, BYTE *ecc3) void calculate_ecc(BYTE *table, BYTE *data, BYTE *ecc1, BYTE *ecc2, BYTE *ecc3)
{ {
DWORD i; // For counting DWORD i; /* For counting */
BYTE a; // Working for table BYTE a; /* Working for table */
BYTE reg1; // D-all,CP5,CP4,CP3,... BYTE reg1; /* D-all,CP5,CP4,CP3,... */
BYTE reg2; // LP14,LP12,L10,... BYTE reg2; /* LP14,LP12,L10,... */
BYTE reg3; // LP15,LP13,L11,... BYTE reg3; /* LP15,LP13,L11,... */
reg1=reg2=reg3=0; // Clear parameter reg1 = reg2 = reg3 = 0; /* Clear parameter */
for(i=0; i<256; ++i) { for (i = 0; i < 256; ++i) {
a=table[data[i]]; // Get CP0-CP5 code from table a = table[data[i]]; /* Get CP0-CP5 code from table */
reg1^=(a&MASK_CPS); // XOR with a reg1 ^= (a&MASK_CPS); /* XOR with a */
if ((a&BIT6)!=0) if ((a&BIT6) != 0) { /* If D_all(all bit XOR) = 1 */
{ // If D_all(all bit XOR) = 1 reg3 ^= (BYTE)i; /* XOR with counter */
reg3^=(BYTE)i; // XOR with counter reg2 ^= ~((BYTE)i); /* XOR with inv. of counter */
reg2^=~((BYTE)i); // XOR with inv. of counter }
} }
}
// Trans LP14,12,10,... & LP15,13,11,... -> LP15,14,13,... & LP7,6,5,.. /* Trans LP14,12,10,... & LP15,13,11,... ->
trans_result(reg2,reg3,ecc1,ecc2); LP15,14,13,... & LP7,6,5,.. */
*ecc1=~(*ecc1); *ecc2=~(*ecc2); // Inv. ecc2 & ecc3 trans_result(reg2, reg3, ecc1, ecc2);
*ecc3=((~reg1)<<2)|BIT1BIT0; // Make TEL format *ecc1 = ~(*ecc1); *ecc2 = ~(*ecc2); /* Inv. ecc2 & ecc3 */
*ecc3 = ((~reg1)<<2)|BIT1BIT0; /* Make TEL format */
} }
/* /*
* *data; // DATA * *data; * DATA
* *eccdata; // ECC DATA * *eccdata; * ECC DATA
* ecc1; // LP15,LP14,LP13,... * ecc1; * LP15,LP14,LP13,...
* ecc2; // LP07,LP06,LP05,... * ecc2; * LP07,LP06,LP05,...
* ecc3; // CP5,CP4,CP3,...,"1","1" * ecc3; * CP5,CP4,CP3,...,"1","1"
*/ */
BYTE correct_data(BYTE *data, BYTE *eccdata, BYTE ecc1, BYTE ecc2, BYTE ecc3) BYTE correct_data(BYTE *data, BYTE *eccdata, BYTE ecc1, BYTE ecc2, BYTE ecc3)
{ {
DWORD l; // Working to check d DWORD l; /* Working to check d */
DWORD d; // Result of comparison DWORD d; /* Result of comparison */
DWORD i; // For counting DWORD i; /* For counting */
BYTE d1,d2,d3; // Result of comparison BYTE d1, d2, d3; /* Result of comparison */
BYTE a; // Working for add BYTE a; /* Working for add */
BYTE add; // Byte address of cor. DATA BYTE add; /* Byte address of cor. DATA */
BYTE b; // Working for bit BYTE b; /* Working for bit */
BYTE bit; // Bit address of cor. DATA BYTE bit; /* Bit address of cor. DATA */
d1=ecc1^eccdata[1]; d2=ecc2^eccdata[0]; // Compare LP's d1 = ecc1^eccdata[1]; d2 = ecc2^eccdata[0]; /* Compare LP's */
d3=ecc3^eccdata[2]; // Comapre CP's d3 = ecc3^eccdata[2]; /* Comapre CP's */
d=((DWORD)d1<<16) // Result of comparison d = ((DWORD)d1<<16) /* Result of comparison */
+((DWORD)d2<<8) +((DWORD)d2<<8)
+(DWORD)d3; +(DWORD)d3;
if (d==0) return(0); // If No error, return if (d == 0)
return 0; /* If No error, return */
if (((d^(d>>1))&CORRECTABLE)==CORRECTABLE) if (((d^(d>>1))&CORRECTABLE) == CORRECTABLE) { /* If correctable */
{ // If correctable l = BIT23;
l=BIT23; add = 0; /* Clear parameter */
add=0; // Clear parameter a = BIT7;
a=BIT7;
for(i=0; i<8; ++i) { // Checking 8 bit for (i = 0; i < 8; ++i) { /* Checking 8 bit */
if ((d&l)!=0) add|=a; // Make byte address from LP's if ((d&l) != 0)
l>>=2; a>>=1; // Right Shift add |= a; /* Make byte address from LP's */
} l >>= 2; a >>= 1; /* Right Shift */
}
bit=0; // Clear parameter bit = 0; /* Clear parameter */
b=BIT2; b = BIT2;
for(i=0; i<3; ++i) { // Checking 3 bit for (i = 0; i < 3; ++i) { /* Checking 3 bit */
if ((d&l)!=0) bit|=b; // Make bit address from CP's if ((d&l) != 0)
l>>=2; b>>=1; // Right shift bit |= b; /* Make bit address from CP's */
} l >>= 2; b >>= 1; /* Right shift */
}
b=BIT0; b = BIT0;
data[add]^=(b<<bit); // Put corrected data data[add] ^= (b<<bit); /* Put corrected data */
return(1); return 1;
} }
i=0; // Clear count i = 0; /* Clear count */
d&=0x00ffffffL; // Masking d &= 0x00ffffffL; /* Masking */
while(d) { // If d=0 finish counting while (d) { /* If d=0 finish counting */
if (d&BIT0) ++i; // Count number of 1 bit if (d&BIT0)
d>>=1; // Right shift ++i; /* Count number of 1 bit */
} d >>= 1; /* Right shift */
}
if (i==1) if (i == 1) { /* If ECC error */
{ // If ECC error eccdata[1] = ecc1; eccdata[0] = ecc2; /* Put right ECC code */
eccdata[1]=ecc1; eccdata[0]=ecc2; // Put right ECC code eccdata[2] = ecc3;
eccdata[2]=ecc3; return 2;
return(2); }
} return 3; /* Uncorrectable error */
return(3); // Uncorrectable error
} }
int _Correct_D_SwECC(BYTE *buf, BYTE *redundant_ecc, BYTE *calculate_ecc) int _Correct_D_SwECC(BYTE *buf, BYTE *redundant_ecc, BYTE *calculate_ecc)
@ -200,7 +205,7 @@ int _Correct_D_SwECC(BYTE *buf, BYTE *redundant_ecc, BYTE *calculate_ecc)
void _Calculate_D_SwECC(BYTE *buf, BYTE *ecc) void _Calculate_D_SwECC(BYTE *buf, BYTE *ecc)
{ {
calculate_ecc(ecctable,buf,ecc+1,ecc+0,ecc+2); calculate_ecc(ecctable, buf, ecc+1, ecc+0, ecc+2);
} }