serial: move port users helper
authorAlan Cox <alan@linux.intel.com>
Sat, 19 Sep 2009 20:13:32 +0000 (13:13 -0700)
committerLive-CD User <linux@linux.site>
Sat, 19 Sep 2009 20:13:32 +0000 (13:13 -0700)
This little helper is now tty_port specific and useful generally so move it

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/serial/serial_core.c
include/linux/tty.h

index e16d153..3c45a8d 100644 (file)
@@ -52,8 +52,6 @@ static struct lock_class_key port_lock_key;
 
 #define HIGH_BITS_OFFSET       ((sizeof(long)-sizeof(int))*8)
 
-#define uart_users(state)      ((state)->port.count + (state)->port.blocked_open)
-
 #ifdef CONFIG_SERIAL_CORE_CONSOLE
 #define uart_console(port)     ((port)->cons && (port)->cons->index == (port)->line)
 #else
@@ -758,7 +756,7 @@ static int uart_set_info(struct uart_state *state,
                /*
                 * Make sure that we are the sole user of this port.
                 */
-               if (uart_users(state) > 1)
+               if (tty_port_users(port) > 1)
                        goto exit;
 
                /*
@@ -974,7 +972,7 @@ static int uart_do_autoconfig(struct uart_state *state)
                return -ERESTARTSYS;
 
        ret = -EBUSY;
-       if (uart_users(state) == 1) {
+       if (tty_port_users(port) == 1) {
                uart_shutdown(state);
 
                /*
index 0daa8a7..a0e0330 100644 (file)
@@ -467,6 +467,11 @@ extern int tty_port_close_start(struct tty_port *port,
 extern void tty_port_close_end(struct tty_port *port, struct tty_struct *tty);
 extern void tty_port_close(struct tty_port *port,
                                struct tty_struct *tty, struct file *filp);
+extern inline int tty_port_users(struct tty_port *port)
+{
+       return port->count + port->blocked_open;
+}
+
 extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc);
 extern int tty_unregister_ldisc(int disc);
 extern int tty_set_ldisc(struct tty_struct *tty, int ldisc);