lkml.org 
[lkml]   [2003]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] n_hdlc.c 2.5.68 (try 3)
From
Date
On Mon, 2003-04-21 at 14:42, Christoph Hellwig wrote:

> .oO(I guess you'll have me for moaning again, but..)

You dirty bastard :-)

* Remove MODULE_USE_COUNT macros
* add owner member to struct tty_ldisc
* init tty_ldisc using C99 initializers
* make some functions static

--
Paul Fulghum, paulkf@microgate.com
Microgate Corporation, http://www.microgate.com

--- linux-2.5.68/drivers/char/n_hdlc.c 2003-04-07 12:30:59.000000000 -0500
+++ linux-2.5.68-mg/drivers/char/n_hdlc.c 2003-04-21 16:05:04.768636536 -0500
@@ -9,7 +9,7 @@
* Al Longyear <longyear@netcom.com>, Paul Mackerras <Paul.Mackerras@cs.anu.edu.au>
*
* Original release 01/11/99
- * $Id: n_hdlc.c,v 4.2 2002/10/10 14:52:41 paulkf Exp $
+ * $Id: n_hdlc.c,v 4.7 2003/04/21 21:03:41 paulkf Exp $
*
* This code is released under the GNU General Public License (GPL)
*
@@ -78,7 +78,7 @@
*/

#define HDLC_MAGIC 0x239e
-#define HDLC_VERSION "$Revision: 4.2 $"
+#define HDLC_VERSION "$Revision: 4.7 $"

#include <linux/version.h>
#include <linux/config.h>
@@ -171,9 +171,9 @@
/*
* HDLC buffer list manipulation functions
*/
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);

/* Local functions */

@@ -215,6 +215,21 @@
/* Define this string only once for all macro invocations */
static char szVersion[] = HDLC_VERSION;

+static struct tty_ldisc n_hdlc_ldisc = {
+ .owner = THIS_MODULE,
+ .magic = TTY_LDISC_MAGIC,
+ .name = "hdlc",
+ .open = n_hdlc_tty_open,
+ .close = n_hdlc_tty_close,
+ .read = n_hdlc_tty_read,
+ .write = n_hdlc_tty_write,
+ .ioctl = n_hdlc_tty_ioctl,
+ .poll = n_hdlc_tty_poll,
+ .receive_buf = n_hdlc_tty_receive,
+ .receive_room = n_hdlc_tty_room,
+ .write_wakeup = n_hdlc_tty_wakeup,
+};
+
/* n_hdlc_release()
*
* release an n_hdlc per device line discipline info structure
@@ -299,7 +314,6 @@
n_hdlc->tty = n_hdlc->backup_tty;
} else {
n_hdlc_release (n_hdlc);
- MOD_DEC_USE_COUNT;
}
}

@@ -339,8 +353,6 @@
tty->disc_data = n_hdlc;
n_hdlc->tty = tty;

- MOD_INC_USE_COUNT;
-
#if defined(TTY_NO_WRITE_SPLIT)
/* change tty_io write() to not split large writes into 8K chunks */
set_bit(TTY_NO_WRITE_SPLIT,&tty->flags);
@@ -903,7 +915,7 @@
* Arguments: list pointer to buffer list
* Return Value: None
*/
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
{
memset(list,0,sizeof(N_HDLC_BUF_LIST));
spin_lock_init(&list->spinlock);
@@ -920,7 +932,7 @@
*
* Return Value: None
*/
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
{
unsigned long flags;
spin_lock_irqsave(&list->spinlock,flags);
@@ -950,7 +962,7 @@
*
* pointer to HDLC buffer if available, otherwise NULL
*/
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
{
unsigned long flags;
N_HDLC_BUF *buf;
@@ -971,7 +983,6 @@

static int __init n_hdlc_init(void)
{
- static struct tty_ldisc n_hdlc_ldisc;
int status;

/* range check maxframe arg */
@@ -983,21 +994,6 @@
printk("HDLC line discipline: version %s, maxframe=%u\n",
szVersion, maxframe);

- /* Register the tty discipline */
-
- memset(&n_hdlc_ldisc, 0, sizeof (n_hdlc_ldisc));
- n_hdlc_ldisc.magic = TTY_LDISC_MAGIC;
- n_hdlc_ldisc.name = "hdlc";
- n_hdlc_ldisc.open = n_hdlc_tty_open;
- n_hdlc_ldisc.close = n_hdlc_tty_close;
- n_hdlc_ldisc.read = n_hdlc_tty_read;
- n_hdlc_ldisc.write = n_hdlc_tty_write;
- n_hdlc_ldisc.ioctl = n_hdlc_tty_ioctl;
- n_hdlc_ldisc.poll = n_hdlc_tty_poll;
- n_hdlc_ldisc.receive_room = n_hdlc_tty_room;
- n_hdlc_ldisc.receive_buf = n_hdlc_tty_receive;
- n_hdlc_ldisc.write_wakeup = n_hdlc_tty_wakeup;
-
status = tty_register_ldisc(N_HDLC, &n_hdlc_ldisc);
if (!status)
printk (KERN_INFO"N_HDLC line discipline registered.\n");


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:34    [W:0.054 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site