char *fp, int count);
 static void n_hdlc_tty_wakeup(struct tty_struct *tty);
 
-#define tty2n_hdlc(tty)        ((struct n_hdlc *) ((tty)->disc_data))
 #define n_hdlc2tty(n_hdlc)     ((n_hdlc)->tty)
 
 static void flush_rx_queue(struct tty_struct *tty)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc(tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        struct n_hdlc_buf *buf;
 
        while ((buf = n_hdlc_buf_get(&n_hdlc->rx_buf_list)))
 
 static void flush_tx_queue(struct tty_struct *tty)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc(tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        struct n_hdlc_buf *buf;
 
        while ((buf = n_hdlc_buf_get(&n_hdlc->tx_buf_list)))
  */
 static void n_hdlc_tty_close(struct tty_struct *tty)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
 
        if (!n_hdlc)
                return;
  */
 static int n_hdlc_tty_open (struct tty_struct *tty)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
 
        pr_debug("%s(%d)%s() called (device=%s)\n",
                        __FILE__, __LINE__, __func__, tty->name);
  */
 static void n_hdlc_tty_wakeup(struct tty_struct *tty)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc(tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
 
        if (!n_hdlc)
                return;
 static void n_hdlc_tty_receive(struct tty_struct *tty, const __u8 *data,
                               char *flags, int count)
 {
-       register struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       register struct n_hdlc *n_hdlc = tty->disc_data;
        register struct n_hdlc_buf *buf;
 
        pr_debug("%s(%d)%s() called count=%d\n",
 static ssize_t n_hdlc_tty_read(struct tty_struct *tty, struct file *file,
                           __u8 __user *buf, size_t nr)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc(tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        int ret = 0;
        struct n_hdlc_buf *rbuf;
        DECLARE_WAITQUEUE(wait, current);
 static ssize_t n_hdlc_tty_write(struct tty_struct *tty, struct file *file,
                            const unsigned char *data, size_t count)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        int error = 0;
        DECLARE_WAITQUEUE(wait, current);
        struct n_hdlc_buf *tbuf;
                }
                schedule();
                        
-               n_hdlc = tty2n_hdlc (tty);
+               n_hdlc = tty->disc_data;
                if (!n_hdlc || n_hdlc->magic != HDLC_MAGIC || 
                    tty != n_hdlc->tty) {
                        printk("n_hdlc_tty_write: %p invalid after wait!\n", n_hdlc);
 static int n_hdlc_tty_ioctl(struct tty_struct *tty, struct file *file,
                            unsigned int cmd, unsigned long arg)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        int error = 0;
        int count;
        unsigned long flags;
 static __poll_t n_hdlc_tty_poll(struct tty_struct *tty, struct file *filp,
                                    poll_table *wait)
 {
-       struct n_hdlc *n_hdlc = tty2n_hdlc (tty);
+       struct n_hdlc *n_hdlc = tty->disc_data;
        __poll_t mask = 0;
 
        if (!n_hdlc || n_hdlc->magic != HDLC_MAGIC || tty != n_hdlc->tty)