MIPS: Sibyte: Use hweight8 instead of counting bits

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/637/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Akinobu Mita 2009-11-13 16:04:53 +09:00 committed by Ralf Baechle
parent a9e8641f4c
commit 13e79b4622

View file

@ -567,13 +567,10 @@ static uint32_t extract_dc(unsigned short addr, int data)
datalo = ((unsigned long long)datalohi << 32) | datalolo; datalo = ((unsigned long long)datalohi << 32) | datalolo;
ecc = dc_ecc(datalo); ecc = dc_ecc(datalo);
if (ecc != datahi) { if (ecc != datahi) {
int bits = 0; int bits;
bad_ecc |= 1 << (3-offset); bad_ecc |= 1 << (3-offset);
ecc ^= datahi; ecc ^= datahi;
while (ecc) { bits = hweight8(ecc);
if (ecc & 1) bits++;
ecc >>= 1;
}
res |= (bits == 1) ? CP0_CERRD_DATA_SBE : CP0_CERRD_DATA_DBE; res |= (bits == 1) ? CP0_CERRD_DATA_SBE : CP0_CERRD_DATA_DBE;
} }
printk(" %02X-%016llX", datahi, datalo); printk(" %02X-%016llX", datahi, datalo);