| 352 | volatile uint64_t token64; |
| 353 | |
| 354 | static void |
| 355 | build_crc8_table(void) |
| 356 | { |
| 357 | uint8_t val; |
| 358 | int i, j; |
| 359 | |
| 360 | for (i = 0; i < 256; i++) { |
| 361 | val = i; |
| 362 | for (j = 0; j < 8; j++) { |
| 363 | if (val & 1) |
| 364 | val ^= CRC8_POLY; |
| 365 | val >>= 1; |
| 366 | } |
| 367 | crc8_table[i] = val; |
| 368 | } |
| 369 | } |
| 370 | |
| 371 | static uint8_t |
| 372 | get_crc8(uint8_t *message, int length) |