lib/crc8: Add crc start value
authorStefan Roese <sr@denx.de>
Fri, 8 Apr 2016 13:56:29 +0000 (15:56 +0200)
committerTom Rini <trini@konsulko.com>
Tue, 12 Apr 2016 00:48:26 +0000 (20:48 -0400)
commit456ecd08ec026e67a17a77baa3778c9f1b8e474d
tree300fa2792b8a7e1b958c08e4b1b4d92c48baf50d
parent5b2beab5cdf6209e5b4027312d8f9e2a13f1ce46
lib/crc8: Add crc start value

To make the usage of this function more flexible, lets add the CRC start
value as parameter to this function. This way it can be used by other
functions requiring different start values than 0 as well.

For non-zero CRC start values to work, I've reworked the function a bit.
The new implementation is copied from the Linux version in
drivers/i2c/i2c-core.c / i2c_smbus_pec(). Which supports non-zero
CRC stating values.

I've double-checked that the results for zero starting values are
identical to the results from the original version of this function.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/tpm/tpm_tis_sandbox.c
include/linux/crc8.h
lib/crc8.c