Re: [PATCH v2 9/9] tty: Use test_bit() with tty->flags

From: Greg Kroah-Hartman
Date: Thu Jan 28 2016 - 17:13:34 EST


On Sun, Jan 10, 2016 at 08:36:16PM -0800, Peter Hurley wrote:
> tty->flags are handled with atomic bit ops; use test_bit() treewide.
>
> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> ---
> arch/ia64/hp/sim/simserial.c | 2 +-
> drivers/char/pcmcia/synclink_cs.c | 2 +-
> drivers/isdn/i4l/isdn_tty.c | 6 +++---
> drivers/s390/char/tty3270.c | 4 ++--
> drivers/staging/dgap/dgap.c | 2 +-
> drivers/staging/dgnc/dgnc_tty.c | 2 +-
> drivers/tty/amiserial.c | 6 +++---
> drivers/tty/serial/68328serial.c | 2 +-
> drivers/tty/serial/crisv10.c | 4 ++--
> drivers/tty/serial/serial_core.c | 6 +++---
> drivers/tty/synclink.c | 4 ++--
> drivers/tty/synclink_gt.c | 4 ++--
> drivers/tty/synclinkmp.c | 4 ++--
> drivers/tty/tty_port.c | 2 +-
> net/irda/ircomm/ircomm_tty_ioctl.c | 6 +++---
> 15 files changed, 28 insertions(+), 28 deletions(-)
>
> diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c
> index e70cade..2ab9ba6 100644
> --- a/arch/ia64/hp/sim/simserial.c
> +++ b/arch/ia64/hp/sim/simserial.c
> @@ -300,7 +300,7 @@ static int rs_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg)
> if ((cmd != TIOCGSERIAL) && (cmd != TIOCSSERIAL) &&
> (cmd != TIOCSERCONFIG) && (cmd != TIOCSERGSTRUCT) &&
> (cmd != TIOCMIWAIT)) {
> - if (tty->flags & (1 << TTY_IO_ERROR))
> + if (test_bit(TTY_IO_ERROR, &tty->flags))

I thought you were going to wrap these up in a tty_*() macro instead of
open-coding it everywhere? That way you can change how those
bits/features are represented in the future, which is what I thought you
wanted to do?

Even if you don't want to do that, something like:

static inline int tty_is_io_error(struct tty_struct *tty)
{
return test_bit(TTY_IO_ERROR, &tty->flags);
}

and then this patch would just be:
if (tty_is_io_error(tty))

Or something like that, I'm not sold on the name, I'm sure you can pick
a better one :)

Sound reasonable?

I'll not apply this patch in the series for now.

thanks,

greg k-h