[PATCH 3/8] staging: dgnc: fixes termios error

Lidza Louina lidza.louina at gmail.com
Tue Aug 13 19:49:53 UTC 2013


This patch fixes this error: invalid type argument of ‘->’ (have ‘struct ktermios’).

There were changes in the tty layer's API. Access to the termios flags changed from tty->termios->*flag* to tty->termios.*flag*.

Signed-off-by: Lidza Louina <lidza.louina at gmail.com>
---
 drivers/staging/dgnc/dgnc_tty.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/dgnc/dgnc_tty.c b/drivers/staging/dgnc/dgnc_tty.c
index 461e881..63b80e2 100644
--- a/drivers/staging/dgnc/dgnc_tty.c
+++ b/drivers/staging/dgnc/dgnc_tty.c
@@ -719,7 +719,7 @@ void dgnc_input(struct channel_t *ch)
          * flush input data and return immediately.
 	 */
 	if (!tp || (tp->magic != TTY_MAGIC) || !(ch->ch_tun.un_flags & UN_ISOPEN) || 
-	    !(tp->termios->c_cflag & CREAD) || (ch->ch_tun.un_flags & UN_CLOSING)) {
+	    !(tp->termios.c_cflag & CREAD) || (ch->ch_tun.un_flags & UN_CLOSING)) {
 
 		DPR_READ(("input. dropping %d bytes on port %d...\n", data_len, ch->ch_portnum));
 		DPR_READ(("input. tp: %p tp->magic: %x MAGIC:%x ch flags: %x\n",
@@ -1495,12 +1495,12 @@ static int dgnc_tty_open(struct tty_struct *tty, struct file *file)
 		ch->ch_stop_sending_break = 0;
 		ch->ch_stops_sent = 0;
 
-		ch->ch_c_cflag   = tty->termios->c_cflag;
-		ch->ch_c_iflag   = tty->termios->c_iflag;
-		ch->ch_c_oflag   = tty->termios->c_oflag;
-		ch->ch_c_lflag   = tty->termios->c_lflag;
-		ch->ch_startc = tty->termios->c_cc[VSTART];
-		ch->ch_stopc  = tty->termios->c_cc[VSTOP];
+		ch->ch_c_cflag   = tty->termios.c_cflag;
+		ch->ch_c_iflag   = tty->termios.c_iflag;
+		ch->ch_c_oflag   = tty->termios.c_oflag;
+		ch->ch_c_lflag   = tty->termios.c_lflag;
+		ch->ch_startc = tty->termios.c_cc[VSTART];
+		ch->ch_stopc  = tty->termios.c_cc[VSTOP];
 
 		/*
 		 * Bring up RTS and DTR...
@@ -2874,12 +2874,12 @@ static void dgnc_tty_set_termios(struct tty_struct *tty, struct ktermios *old_te
 
 	DGNC_LOCK(ch->ch_lock, lock_flags);
 
-	ch->ch_c_cflag   = tty->termios->c_cflag;
-	ch->ch_c_iflag   = tty->termios->c_iflag;
-	ch->ch_c_oflag   = tty->termios->c_oflag;
-	ch->ch_c_lflag   = tty->termios->c_lflag;
-	ch->ch_startc = tty->termios->c_cc[VSTART];
-	ch->ch_stopc  = tty->termios->c_cc[VSTOP];
+	ch->ch_c_cflag   = tty->termios.c_cflag;
+	ch->ch_c_iflag   = tty->termios.c_iflag;
+	ch->ch_c_oflag   = tty->termios.c_oflag;
+	ch->ch_c_lflag   = tty->termios.c_lflag;
+	ch->ch_startc = tty->termios.c_cc[VSTART];
+	ch->ch_stopc  = tty->termios.c_cc[VSTOP];
 
 	ch->ch_bd->bd_ops->param(tty);
 	dgnc_carrier(ch);
@@ -3272,7 +3272,7 @@ static int dgnc_tty_ioctl(struct tty_struct *tty, struct file *file, unsigned in
 			return(rc);
 
 		DGNC_LOCK(ch->ch_lock, lock_flags);
-		tty->termios->c_cflag = ((tty->termios->c_cflag & ~CLOCAL) | (arg ? CLOCAL : 0));
+		tty->termios.c_cflag = ((tty->termios.c_cflag & ~CLOCAL) | (arg ? CLOCAL : 0));
 		ch->ch_bd->bd_ops->param(tty);
 		DGNC_UNLOCK(ch->ch_lock, lock_flags);
 
-- 
1.8.1.2



More information about the devel mailing list