Commit 3937f6db authored by Eric Biggers's avatar Eric Biggers
Browse files

lib/crc16: unexport crc16_table and crc16_byte()



Now that neither crc16_table nor crc16_byte() is used outside
lib/crc16.c, fold them into lib/crc16.c.

Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250513022115.39109-3-ebiggers@kernel.org


Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent 0769ebe2
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -15,14 +15,7 @@

#include <linux/types.h>

extern u16 const crc16_table[256];

extern u16 crc16(u16 crc, const u8 *buffer, size_t len);

static inline u16 crc16_byte(u16 crc, const u8 data)
{
	return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff];
}
u16 crc16(u16 crc, const u8 *p, size_t len);

#endif /* __CRC16_H */
+4 −5
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
#include <linux/crc16.h>

/** CRC table for the CRC-16. The poly is 0x8005 (x^16 + x^15 + x^2 + 1) */
u16 const crc16_table[256] = {
static const u16 crc16_table[256] = {
	0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
	0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
	0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
@@ -42,20 +42,19 @@ u16 const crc16_table[256] = {
	0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
	0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
};
EXPORT_SYMBOL(crc16_table);

/**
 * crc16 - compute the CRC-16 for the data buffer
 * @crc:	previous CRC value
 * @buffer:	data pointer
 * @p:		data pointer
 * @len:	number of bytes in the buffer
 *
 * Returns the updated CRC value.
 */
u16 crc16(u16 crc, u8 const *buffer, size_t len)
u16 crc16(u16 crc, const u8 *p, size_t len)
{
	while (len--)
		crc = crc16_byte(crc, *buffer++);
		crc = (crc >> 8) ^ crc16_table[(crc & 0xff) ^ *p++];
	return crc;
}
EXPORT_SYMBOL(crc16);