* [PATCH] tty: Flags should be accessed via the foo_bit interfaces
@ 2008-12-04 15:41 Alan Cox
2008-12-04 15:50 ` Will Newton
2008-12-05 7:08 ` Andrew Morton
0 siblings, 2 replies; 4+ messages in thread
From: Alan Cox @ 2008-12-04 15:41 UTC (permalink / raw)
To: netdev, linux-kernel
From: Alan Cox <alan@redhat.com>
We have various drivers that poke around directly and we need to clean this
up before it causes problems. Fix up the networking ones - (Dave can you send
this via the net tree as that seems simplest)
Signed-off-by: Alan Cox <alan@redhat.com>
---
drivers/net/irda/irtty-sir.c | 7 +++----
drivers/net/slip.c | 11 +++++------
drivers/net/wan/x25_asy.c | 8 ++++----
drivers/net/wireless/strip.c | 8 +++-----
4 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c
index 6bcee01..d53aa95 100644
--- a/drivers/net/irda/irtty-sir.c
+++ b/drivers/net/irda/irtty-sir.c
@@ -191,7 +191,7 @@ static int irtty_do_write(struct sir_dev *dev, const unsigned char *ptr, size_t
tty = priv->tty;
if (!tty->ops->write)
return 0;
- tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
+ set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
writelen = tty_write_room(tty);
if (writelen > len)
writelen = len;
@@ -263,8 +263,7 @@ static void irtty_write_wakeup(struct tty_struct *tty)
IRDA_ASSERT(priv != NULL, return;);
IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return;);
- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
-
+ clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
if (priv->dev)
sirdev_write_complete(priv->dev);
}
@@ -522,7 +521,7 @@ static void irtty_close(struct tty_struct *tty)
/* Stop tty */
irtty_stop_receiver(tty, TRUE);
- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);
if (tty->ops->stop)
tty->ops->stop(tty);
diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index 1d58991..951c7df 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -402,7 +402,7 @@ static void sl_encaps(struct slip *sl, unsigned char *icp, int len)
* if we did not request it before write operation.
* 14 Oct 1994 Dmitry Gorodchanin.
*/
- sl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
+ set_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
actual = sl->tty->ops->write(sl->tty, sl->xbuff, count);
#ifdef SL_CHECK_TRANSMIT
sl->dev->trans_start = jiffies;
@@ -432,7 +432,7 @@ static void slip_write_wakeup(struct tty_struct *tty)
/* Now serial buffer is almost free & we can start
* transmission of another packet */
sl->tx_packets++;
- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
sl_unlock(sl);
return;
}
@@ -465,7 +465,7 @@ static void sl_tx_timeout(struct net_device *dev)
(tty_chars_in_buffer(sl->tty) || sl->xleft) ?
"bad line quality" : "driver error");
sl->xleft = 0;
- sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
sl_unlock(sl);
#endif
}
@@ -515,10 +515,9 @@ sl_close(struct net_device *dev)
struct slip *sl = netdev_priv(dev);
spin_lock_bh(&sl->lock);
- if (sl->tty) {
+ if (sl->tty)
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
/* TTY discipline is running. */
- sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
- }
netif_stop_queue(dev);
sl->rcount = 0;
sl->xleft = 0;
diff --git a/drivers/net/wan/x25_asy.c b/drivers/net/wan/x25_asy.c
index 2a6c7a6..ed0b196 100644
--- a/drivers/net/wan/x25_asy.c
+++ b/drivers/net/wan/x25_asy.c
@@ -243,7 +243,7 @@ static void x25_asy_encaps(struct x25_asy *sl, unsigned char *icp, int len)
* if we did not request it before write operation.
* 14 Oct 1994 Dmitry Gorodchanin.
*/
- sl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
+ set_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
actual = sl->tty->ops->write(sl->tty, sl->xbuff, count);
sl->xleft = count - actual;
sl->xhead = sl->xbuff + actual;
@@ -268,7 +268,7 @@ static void x25_asy_write_wakeup(struct tty_struct *tty)
/* Now serial buffer is almost free & we can start
* transmission of another packet */
sl->stats.tx_packets++;
- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
x25_asy_unlock(sl);
return;
}
@@ -291,7 +291,7 @@ static void x25_asy_timeout(struct net_device *dev)
(tty_chars_in_buffer(sl->tty) || sl->xleft) ?
"bad line quality" : "driver error");
sl->xleft = 0;
- sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
x25_asy_unlock(sl);
}
spin_unlock(&sl->lock);
@@ -504,7 +504,7 @@ static int x25_asy_close(struct net_device *dev)
spin_lock(&sl->lock);
if (sl->tty)
- sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
netif_stop_queue(dev);
sl->rcount = 0;
diff --git a/drivers/net/wireless/strip.c b/drivers/net/wireless/strip.c
index 417e9e6..fdba397 100644
--- a/drivers/net/wireless/strip.c
+++ b/drivers/net/wireless/strip.c
@@ -1252,7 +1252,7 @@ static void strip_write_some_more(struct tty_struct *tty)
#endif
} else { /* Else start transmission of another packet */
- tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
+ clear_bit(TTY_DO_WRITE_WAKEUP, &strip_info->tty->flags);
strip_unlock(strip_info);
}
}
@@ -1455,8 +1455,7 @@ static void strip_send(struct strip *strip_info, struct sk_buff *skb)
*/
strip_info->tx_head = strip_info->tx_buff;
strip_info->tx_left = ptr - strip_info->tx_buff;
- strip_info->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
-
+ set_bit(TTY_DO_WRITE_WAKEUP, &strip_info->tty->flags);
/*
* 4. Debugging check to make sure we're not overflowing the buffer.
*/
@@ -2455,8 +2454,7 @@ static int strip_close_low(struct net_device *dev)
if (strip_info->tty == NULL)
return -EBUSY;
- strip_info->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
-
+ clear_bit(TTY_DO_WRITE_WAKEUP, &strip_info->tty->flags);
netif_stop_queue(dev);
/*
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tty: Flags should be accessed via the foo_bit interfaces
2008-12-04 15:41 [PATCH] tty: Flags should be accessed via the foo_bit interfaces Alan Cox
@ 2008-12-04 15:50 ` Will Newton
2008-12-04 23:04 ` David Miller
2008-12-05 7:08 ` Andrew Morton
1 sibling, 1 reply; 4+ messages in thread
From: Will Newton @ 2008-12-04 15:50 UTC (permalink / raw)
To: Alan Cox; +Cc: netdev, linux-kernel
On Thu, Dec 4, 2008 at 3:41 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> From: Alan Cox <alan@redhat.com>
>
> We have various drivers that poke around directly and we need to clean this
> up before it causes problems. Fix up the networking ones - (Dave can you send
> this via the net tree as that seems simplest)
>
> Signed-off-by: Alan Cox <alan@redhat.com>
> diff --git a/drivers/net/slip.c b/drivers/net/slip.c
> index 1d58991..951c7df 100644
> --- a/drivers/net/slip.c
> +++ b/drivers/net/slip.c
> @@ -402,7 +402,7 @@ static void sl_encaps(struct slip *sl, unsigned char *icp, int len)
> * if we did not request it before write operation.
> * 14 Oct 1994 Dmitry Gorodchanin.
> */
> - sl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
> + set_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
> actual = sl->tty->ops->write(sl->tty, sl->xbuff, count);
> #ifdef SL_CHECK_TRANSMIT
> sl->dev->trans_start = jiffies;
> @@ -432,7 +432,7 @@ static void slip_write_wakeup(struct tty_struct *tty)
> /* Now serial buffer is almost free & we can start
> * transmission of another packet */
> sl->tx_packets++;
> - tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
> + clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
> sl_unlock(sl);
> return;
> }
> @@ -465,7 +465,7 @@ static void sl_tx_timeout(struct net_device *dev)
> (tty_chars_in_buffer(sl->tty) || sl->xleft) ?
> "bad line quality" : "driver error");
> sl->xleft = 0;
> - sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
> + clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
> sl_unlock(sl);
> #endif
> }
> @@ -515,10 +515,9 @@ sl_close(struct net_device *dev)
> struct slip *sl = netdev_priv(dev);
>
> spin_lock_bh(&sl->lock);
> - if (sl->tty) {
> + if (sl->tty)
> + clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
> /* TTY discipline is running. */
> - sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
> - }
The indentation of the comment looks like it might be wrong here.
> netif_stop_queue(dev);
> sl->rcount = 0;
> sl->xleft = 0;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tty: Flags should be accessed via the foo_bit interfaces
2008-12-04 15:50 ` Will Newton
@ 2008-12-04 23:04 ` David Miller
0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2008-12-04 23:04 UTC (permalink / raw)
To: will.newton; +Cc: alan, netdev, linux-kernel
From: "Will Newton" <will.newton@gmail.com>
Date: Thu, 4 Dec 2008 15:50:29 +0000
> On Thu, Dec 4, 2008 at 3:41 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > @@ -515,10 +515,9 @@ sl_close(struct net_device *dev)
> > struct slip *sl = netdev_priv(dev);
> >
> > spin_lock_bh(&sl->lock);
> > - if (sl->tty) {
> > + if (sl->tty)
> > + clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
> > /* TTY discipline is running. */
> > - sl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
> > - }
>
> The indentation of the comment looks like it might be wrong here.
Indeed. In fact it's now transposed with the operation it describes,
and thus the braces should probably be preserved here as well.
Alan could you please fix this up?
Thanks!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tty: Flags should be accessed via the foo_bit interfaces
2008-12-04 15:41 [PATCH] tty: Flags should be accessed via the foo_bit interfaces Alan Cox
2008-12-04 15:50 ` Will Newton
@ 2008-12-05 7:08 ` Andrew Morton
1 sibling, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2008-12-05 7:08 UTC (permalink / raw)
To: Alan Cox; +Cc: netdev, linux-kernel
On Thu, 04 Dec 2008 15:41:19 +0000 Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> --- a/drivers/net/slip.c
> +++ b/drivers/net/slip.c
> @@ -432,7 +432,7 @@ static void slip_write_wakeup(struct tty_struct *tty)
> /* Now serial buffer is almost free & we can start
> * transmission of another packet */
> sl->tx_packets++;
> - tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
> + clear_bit(TTY_DO_WRITE_WAKEUP, &sl->tty->flags);
that's different.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-12-05 7:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-04 15:41 [PATCH] tty: Flags should be accessed via the foo_bit interfaces Alan Cox
2008-12-04 15:50 ` Will Newton
2008-12-04 23:04 ` David Miller
2008-12-05 7:08 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).