From: Andrey Panin <pazke@donpac.ru>
To: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/4] 2.6.7-mm2, Use it in async PPP driver
Date: Thu, 24 Jun 2004 16:52:22 +0400 [thread overview]
Message-ID: <10880815421449@donpac.ru> (raw)
In-Reply-To: <10880815392232@donpac.ru>
This patch makes async PPP driver use common crc16 code.
Signed-off-by: Andrey Panin <pazke@donpac.ru>
drivers/net/Kconfig | 1 +
drivers/net/ppp_async.c | 38 +-------------------------------------
include/linux/ppp_defs.h | 4 +++-
3 files changed, 5 insertions(+), 38 deletions(-)
diff -urpN -X /usr/share/dontdiff linux-2.6.7-mm2.vanilla/drivers/net/Kconfig linux-2.6.7-mm2/drivers/net/Kconfig
--- linux-2.6.7-mm2.vanilla/drivers/net/Kconfig 2004-06-24 14:31:58.000000000 +0400
+++ linux-2.6.7-mm2/drivers/net/Kconfig 2004-06-24 15:12:10.000000000 +0400
@@ -2413,6 +2413,7 @@ config PPP_FILTER
config PPP_ASYNC
tristate "PPP support for async serial ports"
depends on PPP
+ select CRC16
---help---
Say Y (or M) here if you want to be able to use PPP over standard
asynchronous serial ports, such as COM1 or COM2 on a PC. If you use
diff -urpN -X /usr/share/dontdiff linux-2.6.7-mm2.vanilla/drivers/net/ppp_async.c linux-2.6.7-mm2/drivers/net/ppp_async.c
--- linux-2.6.7-mm2.vanilla/drivers/net/ppp_async.c 2004-06-24 14:31:58.000000000 +0400
+++ linux-2.6.7-mm2/drivers/net/ppp_async.c 2004-06-24 15:12:10.000000000 +0400
@@ -24,6 +24,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>
@@ -501,43 +502,6 @@ static void ppp_async_process(unsigned l
* 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.
* Does octet stuffing (escaping), puts the address/control bytes
diff -urpN -X /usr/share/dontdiff linux-2.6.7-mm2.vanilla/include/linux/ppp_defs.h linux-2.6.7-mm2/include/linux/ppp_defs.h
--- linux-2.6.7-mm2.vanilla/include/linux/ppp_defs.h 2004-06-24 14:33:18.000000000 +0400
+++ linux-2.6.7-mm2/include/linux/ppp_defs.h 2004-06-24 15:12:10.000000000 +0400
@@ -42,6 +42,8 @@
#ifndef _PPP_DEFS_H_
#define _PPP_DEFS_H_
+#include <linux/crc16.h>
+
/*
* The basic PPP frame.
*/
@@ -95,7 +97,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.
next prev parent reply other threads:[~2004-06-24 12:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-24 12:52 [PATCH 0/4] 2.6.7-mm2, Add common CRC16 module Andrey Panin
2004-06-24 12:52 ` Andrey Panin [this message]
2004-06-24 12:52 ` [PATCH 2/4] 2.6.7-mm2, Use it in IRDA drivers Andrey Panin
2004-06-24 12:52 ` [PATCH 3/4] 2.6.7-mm2, Use it in ISDN drivers Andrey Panin
2004-06-24 12:52 ` [PATCH 4/4] 2.6.7-mm2, Use it in AX.25 drivers Andrey Panin
2004-06-28 16:53 ` Thomas Sailer
2004-06-29 6:36 ` Andrey Panin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10880815421449@donpac.ru \
--to=pazke@donpac.ru \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.