All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] crc16 consolidation (async ppp)
@ 2003-01-21 10:05 Anldrey Panin
  0 siblings, 0 replies; only message in thread
From: Anldrey Panin @ 2003-01-21 10:05 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 200 bytes --]

Hi,

attached patch forces async ppp driver to use common crc16 module.

Please consider applying.

-- 
Andrey Panin		| Embedded systems software developer
pazke@orbita1.ru	| PGP key: wwwkeys.pgp.net

[-- Attachment #2: patch-crc16-ppp --]
[-- Type: text/plain, Size: 3865 bytes --]

diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/drivers/net/Makefile.lib linux-2.5.59/drivers/net/Makefile.lib
--- linux-2.5.59.vanilla/drivers/net/Makefile.lib	Tue Jan 21 12:28:35 2003
+++ linux-2.5.59/drivers/net/Makefile.lib	Tue Jan 21 12:36:42 2003
@@ -69,3 +69,6 @@
 obj-$(CONFIG_AC3200)		+= crc32.o
 obj-$(CONFIG_ARIADNE2)		+= crc32.o
 obj-$(CONFIG_HYDRA)		+= crc32.o
+
+# Async ppp requires crc16.o
+obj-$(CONFIG_PPP_ASYNC)		+= crc16.o
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/drivers/net/ppp_async.c linux-2.5.59/drivers/net/ppp_async.c
--- linux-2.5.59.vanilla/drivers/net/ppp_async.c	Tue Jan 21 12:28:35 2003
+++ linux-2.5.59/drivers/net/ppp_async.c	Tue Jan 21 12:31:41 2003
@@ -26,6 +26,7 @@
 #include <linux/tty.h>
 #include <linux/netdevice.h>
 #include <linux/poll.h>
+#include <linux/crc16.h>
 #include <linux/ppp_defs.h>
 #include <linux/if_ppp.h>
 #include <linux/ppp_channel.h>
@@ -464,43 +465,6 @@
 /*
  * Procedures for encapsulation and framing.
  */
-
-u16 ppp_crc16_table[256] = {
-	0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
-	0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
-	0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
-	0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
-	0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
-	0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
-	0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
-	0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
-	0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
-	0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
-	0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
-	0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
-	0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
-	0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
-	0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
-	0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
-	0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
-	0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
-	0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
-	0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
-	0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
-	0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
-	0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
-	0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
-	0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
-	0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
-	0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
-	0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
-	0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
-	0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
-	0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
-	0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
-};
-EXPORT_SYMBOL(ppp_crc16_table);
-#define fcstab	ppp_crc16_table		/* for PPP_FCS macro */
 
 /*
  * Procedure to encode the data for async serial transmission.
diff -urN -X /usr/share/dontdiff linux-2.5.59.vanilla/include/linux/ppp_defs.h linux-2.5.59/include/linux/ppp_defs.h
--- linux-2.5.59.vanilla/include/linux/ppp_defs.h	Tue Jan 21 12:30:41 2003
+++ linux-2.5.59/include/linux/ppp_defs.h	Tue Jan 21 12:31:41 2003
@@ -92,7 +92,7 @@
 
 #define PPP_INITFCS	0xffff	/* Initial FCS value */
 #define PPP_GOODFCS	0xf0b8	/* Good final FCS value */
-#define PPP_FCS(fcs, c)	(((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
+#define PPP_FCS(fcs, c) crc16_byte(fcs, c)
 
 /*
  * Extended asyncmap - allows any character to be escaped.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-01-21 10:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-21 10:05 [PATCH] crc16 consolidation (async ppp) Anldrey Panin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.