Re: [RFC PATCH] tty: move the async flags from the serial code into the tty includes
On 08/22/2012 04:44 PM, Alan Cox wrote: > Jiri - this seem more sensible ? I would be faster if you CCed me :). > From: Alan Cox > > These are used with the tty_port flags which are tty generic so move the > flags into a more sensible place. This then makes it possible to add > helpers such as those suggested by Huang Shijie. > > Signed-off-by: Alan Cox Acked-by: Jiri Slaby > include/linux/Kbuild |1 + > include/linux/serial.h| 75 ++- > include/linux/tty.h |1 + > include/linux/tty_flags.h | 78 > + > 4 files changed, 83 insertions(+), 72 deletions(-) > create mode 100644 include/linux/tty_flags.h thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [RFC PATCH] tty: move the async flags from the serial code into the tty includes
On 08/22/2012 04:44 PM, Alan Cox wrote: Jiri - this seem more sensible ? I would be faster if you CCed me :). From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox a...@linux.intel.com Acked-by: Jiri Slaby jsl...@suse.cz include/linux/Kbuild |1 + include/linux/serial.h| 75 ++- include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 4 files changed, 83 insertions(+), 72 deletions(-) create mode 100644 include/linux/tty_flags.h thanks, -- js suse labs -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH] tty: move the async flags from the serial code into the tty includes
Jiri - this seem more sensible ? From: Alan Cox These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox --- include/linux/Kbuild |1 + include/linux/serial.h| 75 ++- include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 4 files changed, 83 insertions(+), 72 deletions(-) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/Kbuild b/include/linux/Kbuild index b3d6385..b45caff 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -370,6 +370,7 @@ header-y += tipc.h header-y += tipc_config.h header-y += toshiba.h header-y += tty.h +header-y += tty_flags.h header-y += types.h header-y += udf_fs_i.h header-y += udp.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..3504f42 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -12,9 +12,12 @@ #include +#include + #ifdef __KERNEL__ #include + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ @@ -94,78 +97,6 @@ struct serial_uart_config { #define UART_STARTECH 0x04 #define UART_NATSEMI 0x08 -/* - * Definitions for async_struct (and serial_struct) flags field - * - * Define ASYNCB_* for convenient use with {test,set,clear}_bit. - */ -#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes - * on the callout port */ -#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ -#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ -#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ -#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ -#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ -#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ -#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during - * autoconfiguration */ -#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ -#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ -#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ -#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ -#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ -#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ -#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety - * checks. Note: can be dangerous! */ -#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ -#define ASYNCB_LAST_USER 15 - -/* Internal flags used only by kernel */ -#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ -#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ -#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ -#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ -#define ASYNCB_CLOSING 27 /* Serial port is closing */ -#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ -#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ -#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ -#define ASYNCB_CONS_FLOW 23 /* flow control for console */ -#define ASYNCB_FIRST_KERNEL22 - -#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) -#define ASYNC_SUSPENDED(1U << ASYNCB_SUSPENDED) -#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT) -#define ASYNC_SAK (1U << ASYNCB_SAK) -#define ASYNC_SPLIT_TERMIOS(1U << ASYNCB_SPLIT_TERMIOS) -#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI) -#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI) -#define ASYNC_SKIP_TEST(1U << ASYNCB_SKIP_TEST) -#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ) -#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT) -#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT) -#define ASYNC_CALLOUT_NOHUP(1U << ASYNCB_CALLOUT_NOHUP) -#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD) -#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI) -#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) -#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) -#define ASYNC_AUTOPROBE(1U << ASYNCB_AUTOPROBE) - -#define ASYNC_FLAGS((1U << (ASYNCB_LAST_USER + 1)) - 1) -#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ - ASYNC_LOW_LATENCY) -#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) -#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI) -#define ASYNC_SPD_MASK
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On 08/21/2012 03:35 PM, Alan Cox wrote: > From: Alan Cox > > These are used with the tty_port flags which are tty generic so move the > flags into a more sensible place. This then makes it possible to add > helpers such as those suggested by Huang Shijie. Yes, the idea looks good to me. I was actually thinking of the same. But there are two issues with this patch (see below). > --- a/include/linux/serial.h > +++ b/include/linux/serial.h > @@ -15,6 +15,8 @@ > #ifdef __KERNEL__ > #include > > +#include > + There are no minus lines in serial.h -- we have two copies of the flags now? That looks insane. The flags are a user API. You concealed them by the #include inside the __KERNEL__ section (if I consider we do not have the flags defined twice). And if we move the include outside of the __KERNEL__ section, we shall update Kconfig, so that the new header is installed. > /* > * Counters of the input lines (CTS, DSR, RI, CD) interrupts > */ > diff --git a/include/linux/tty.h b/include/linux/tty.h > index 69a787f..dbebd1e 100644 > --- a/include/linux/tty.h > +++ b/include/linux/tty.h > @@ -43,6 +43,7 @@ > #include > #include > #include > +#include thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] tty: move the async flags from the serial code into the tty includes
From: Alan Cox These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox --- include/linux/serial.h|2 + include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 3 files changed, 81 insertions(+) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..d63866d 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include +#include + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include #include #include +#include diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h new file mode 100644 index 000..eefcb48 --- /dev/null +++ b/include/linux/tty_flags.h @@ -0,0 +1,78 @@ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H + +/* + * Definitions for async_struct (and serial_struct) flags field also + * shared by the tty_port flags structures. + * + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. + */ +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes + * on the callout port */ +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during + * autoconfiguration */ +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety + * checks. Note: can be dangerous! */ +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ +#define ASYNCB_LAST_USER 15 + +/* Internal flags used only by kernel */ +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ +#define ASYNCB_CLOSING 27 /* Serial port is closing */ +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ +#define ASYNCB_FIRST_KERNEL22 + +#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED(1U << ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT) +#define ASYNC_SAK (1U << ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS(1U << ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST(1U << ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP(1U << ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) +#define ASYNC_AUTOPROBE(1U << ASYNCB_AUTOPROBE) + +#define ASYNC_FLAGS((1U << (ASYNCB_LAST_USER + 1)) - 1) +#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ + ASYNC_LOW_LATENCY) +#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) +#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI) +#define ASYNC_SPD_MASK (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI) + +#define ASYNC_INITIALIZED (1U << ASYNCB_INITIALIZED) +#define ASYNC_NORMAL_ACTIVE(1U <<
[PATCH] tty: move the async flags from the serial code into the tty includes
From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox a...@linux.intel.com --- include/linux/serial.h|2 + include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 3 files changed, 81 insertions(+) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..d63866d 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include asm/page.h +#include linux/tty_flags.h + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include linux/tty_driver.h #include linux/tty_ldisc.h #include linux/mutex.h +#include linux/tty_flags.h diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h new file mode 100644 index 000..eefcb48 --- /dev/null +++ b/include/linux/tty_flags.h @@ -0,0 +1,78 @@ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H + +/* + * Definitions for async_struct (and serial_struct) flags field also + * shared by the tty_port flags structures. + * + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. + */ +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes + * on the callout port */ +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during + * autoconfiguration */ +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety + * checks. Note: can be dangerous! */ +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ +#define ASYNCB_LAST_USER 15 + +/* Internal flags used only by kernel */ +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ +#define ASYNCB_CLOSING 27 /* Serial port is closing */ +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ +#define ASYNCB_FIRST_KERNEL22 + +#define ASYNC_HUP_NOTIFY (1U ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED(1U ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U ASYNCB_FOURPORT) +#define ASYNC_SAK (1U ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS(1U ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST(1U ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP(1U ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U ASYNCB_BUGGY_UART) +#define ASYNC_AUTOPROBE(1U ASYNCB_AUTOPROBE) + +#define ASYNC_FLAGS((1U (ASYNCB_LAST_USER + 1)) - 1) +#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ + ASYNC_LOW_LATENCY) +#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) +#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI) +#define ASYNC_SPD_MASK (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI) +
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On 08/21/2012 03:35 PM, Alan Cox wrote: From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Yes, the idea looks good to me. I was actually thinking of the same. But there are two issues with this patch (see below). --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include asm/page.h +#include linux/tty_flags.h + There are no minus lines in serial.h -- we have two copies of the flags now? That looks insane. The flags are a user API. You concealed them by the #include inside the __KERNEL__ section (if I consider we do not have the flags defined twice). And if we move the include outside of the __KERNEL__ section, we shall update Kconfig, so that the new header is installed. /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include linux/tty_driver.h #include linux/tty_ldisc.h #include linux/mutex.h +#include linux/tty_flags.h thanks, -- js suse labs -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[RFC PATCH] tty: move the async flags from the serial code into the tty includes
Jiri - this seem more sensible ? From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox a...@linux.intel.com --- include/linux/Kbuild |1 + include/linux/serial.h| 75 ++- include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 4 files changed, 83 insertions(+), 72 deletions(-) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/Kbuild b/include/linux/Kbuild index b3d6385..b45caff 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -370,6 +370,7 @@ header-y += tipc.h header-y += tipc_config.h header-y += toshiba.h header-y += tty.h +header-y += tty_flags.h header-y += types.h header-y += udf_fs_i.h header-y += udp.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..3504f42 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -12,9 +12,12 @@ #include linux/types.h +#include linux/tty_flags.h + #ifdef __KERNEL__ #include asm/page.h + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ @@ -94,78 +97,6 @@ struct serial_uart_config { #define UART_STARTECH 0x04 #define UART_NATSEMI 0x08 -/* - * Definitions for async_struct (and serial_struct) flags field - * - * Define ASYNCB_* for convenient use with {test,set,clear}_bit. - */ -#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes - * on the callout port */ -#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ -#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ -#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ -#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ -#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ -#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ -#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during - * autoconfiguration */ -#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ -#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ -#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ -#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ -#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ -#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ -#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety - * checks. Note: can be dangerous! */ -#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ -#define ASYNCB_LAST_USER 15 - -/* Internal flags used only by kernel */ -#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ -#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ -#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ -#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ -#define ASYNCB_CLOSING 27 /* Serial port is closing */ -#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ -#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ -#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ -#define ASYNCB_CONS_FLOW 23 /* flow control for console */ -#define ASYNCB_FIRST_KERNEL22 - -#define ASYNC_HUP_NOTIFY (1U ASYNCB_HUP_NOTIFY) -#define ASYNC_SUSPENDED(1U ASYNCB_SUSPENDED) -#define ASYNC_FOURPORT (1U ASYNCB_FOURPORT) -#define ASYNC_SAK (1U ASYNCB_SAK) -#define ASYNC_SPLIT_TERMIOS(1U ASYNCB_SPLIT_TERMIOS) -#define ASYNC_SPD_HI (1U ASYNCB_SPD_HI) -#define ASYNC_SPD_VHI (1U ASYNCB_SPD_VHI) -#define ASYNC_SKIP_TEST(1U ASYNCB_SKIP_TEST) -#define ASYNC_AUTO_IRQ (1U ASYNCB_AUTO_IRQ) -#define ASYNC_SESSION_LOCKOUT (1U ASYNCB_SESSION_LOCKOUT) -#define ASYNC_PGRP_LOCKOUT (1U ASYNCB_PGRP_LOCKOUT) -#define ASYNC_CALLOUT_NOHUP(1U ASYNCB_CALLOUT_NOHUP) -#define ASYNC_HARDPPS_CD (1U ASYNCB_HARDPPS_CD) -#define ASYNC_SPD_SHI (1U ASYNCB_SPD_SHI) -#define ASYNC_LOW_LATENCY (1U ASYNCB_LOW_LATENCY) -#define ASYNC_BUGGY_UART (1U ASYNCB_BUGGY_UART) -#define ASYNC_AUTOPROBE(1U ASYNCB_AUTOPROBE) - -#define ASYNC_FLAGS((1U (ASYNCB_LAST_USER + 1)) - 1) -#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ - ASYNC_LOW_LATENCY) -#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) -#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI) -#define
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On Tue, Aug 21, 2012 at 9:35 PM, Alan Cox wrote: > Huang - how about we add this patch first which moves the flags somewhere > more sensible > and then your helper function (and probably a few others) would merge cleanly > ? > Allen, Could you post a formal patch? I can change my patch based on it. thanks Huang Shijie -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On Tue, Aug 21, 2012 at 9:35 PM, Alan Cox wrote: > Huang - how about we add this patch first which moves the flags somewhere > more sensible thanks. I am really happy with this patch. Huang Shijie > and then your helper function (and probably a few others) would merge cleanly > ? > > Alan > -- > > > From: Alan Cox > > These are used with the tty_port flags which are tty generic so move the > flags into a more sensible place. This then makes it possible to add > helpers such as those suggested by Huang Shijie. > > Signed-off-by: Alan Cox > --- > > include/linux/serial.h|2 + > include/linux/tty.h |1 + > include/linux/tty_flags.h | 78 > + > 3 files changed, 81 insertions(+) > create mode 100644 include/linux/tty_flags.h > > diff --git a/include/linux/serial.h b/include/linux/serial.h > index 90e9f98..d63866d 100644 > --- a/include/linux/serial.h > +++ b/include/linux/serial.h > @@ -15,6 +15,8 @@ > #ifdef __KERNEL__ > #include > > +#include > + > /* > * Counters of the input lines (CTS, DSR, RI, CD) interrupts > */ > diff --git a/include/linux/tty.h b/include/linux/tty.h > index 69a787f..dbebd1e 100644 > --- a/include/linux/tty.h > +++ b/include/linux/tty.h > @@ -43,6 +43,7 @@ > #include > #include > #include > +#include > > > > diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h > new file mode 100644 > index 000..eefcb48 > --- /dev/null > +++ b/include/linux/tty_flags.h > @@ -0,0 +1,78 @@ > +#ifndef _LINUX_TTY_FLAGS_H > +#define _LINUX_TTY_FLAGS_H > + > +/* > + * Definitions for async_struct (and serial_struct) flags field also > + * shared by the tty_port flags structures. > + * > + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. > + */ > +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes > + * on the callout port */ > +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport > settings */ > +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ > +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ > +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ > +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ > +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration > */ > +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during > + * autoconfiguration */ > +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ > +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ > +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ > +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ > +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ > +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ > +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety > + * checks. Note: can be dangerous! */ > +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code > */ > +#define ASYNCB_LAST_USER 15 > + > +/* Internal flags used only by kernel */ > +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ > +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ > +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ > +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ > +#define ASYNCB_CLOSING 27 /* Serial port is closing */ > +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ > +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ > +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used > */ > +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ > +#define ASYNCB_FIRST_KERNEL22 > + > +#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) > +#define ASYNC_SUSPENDED(1U << ASYNCB_SUSPENDED) > +#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT) > +#define ASYNC_SAK (1U << ASYNCB_SAK) > +#define ASYNC_SPLIT_TERMIOS(1U << ASYNCB_SPLIT_TERMIOS) > +#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI) > +#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI) > +#define ASYNC_SKIP_TEST(1U << ASYNCB_SKIP_TEST) > +#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ) > +#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT) > +#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT) > +#define ASYNC_CALLOUT_NOHUP(1U << ASYNCB_CALLOUT_NOHUP) > +#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD) > +#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI) > +#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) > +#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) > +#define ASYNC_AUTOPROBE
[PATCH] tty: move the async flags from the serial code into the tty includes
Huang - how about we add this patch first which moves the flags somewhere more sensible and then your helper function (and probably a few others) would merge cleanly ? Alan -- From: Alan Cox These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox --- include/linux/serial.h|2 + include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 3 files changed, 81 insertions(+) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..d63866d 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include +#include + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include #include #include +#include diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h new file mode 100644 index 000..eefcb48 --- /dev/null +++ b/include/linux/tty_flags.h @@ -0,0 +1,78 @@ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H + +/* + * Definitions for async_struct (and serial_struct) flags field also + * shared by the tty_port flags structures. + * + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. + */ +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes + * on the callout port */ +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during + * autoconfiguration */ +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety + * checks. Note: can be dangerous! */ +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ +#define ASYNCB_LAST_USER 15 + +/* Internal flags used only by kernel */ +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ +#define ASYNCB_CLOSING 27 /* Serial port is closing */ +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ +#define ASYNCB_FIRST_KERNEL22 + +#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED(1U << ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT) +#define ASYNC_SAK (1U << ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS(1U << ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST(1U << ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP(1U << ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART) +#define ASYNC_AUTOPROBE(1U << ASYNCB_AUTOPROBE) + +#define ASYNC_FLAGS((1U << (ASYNCB_LAST_USER + 1)) - 1) +#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ + ASYNC_LOW_LATENCY) +#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI) +#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI)
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On Tue, Aug 21, 2012 at 9:35 PM, Alan Cox a...@lxorguk.ukuu.org.uk wrote: Huang - how about we add this patch first which moves the flags somewhere more sensible and then your helper function (and probably a few others) would merge cleanly ? Allen, Could you post a formal patch? I can change my patch based on it. thanks Huang Shijie -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] tty: move the async flags from the serial code into the tty includes
Huang - how about we add this patch first which moves the flags somewhere more sensible and then your helper function (and probably a few others) would merge cleanly ? Alan -- From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox a...@linux.intel.com --- include/linux/serial.h|2 + include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 3 files changed, 81 insertions(+) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..d63866d 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include asm/page.h +#include linux/tty_flags.h + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include linux/tty_driver.h #include linux/tty_ldisc.h #include linux/mutex.h +#include linux/tty_flags.h diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h new file mode 100644 index 000..eefcb48 --- /dev/null +++ b/include/linux/tty_flags.h @@ -0,0 +1,78 @@ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H + +/* + * Definitions for async_struct (and serial_struct) flags field also + * shared by the tty_port flags structures. + * + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. + */ +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes + * on the callout port */ +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during + * autoconfiguration */ +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety + * checks. Note: can be dangerous! */ +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ +#define ASYNCB_LAST_USER 15 + +/* Internal flags used only by kernel */ +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ +#define ASYNCB_CLOSING 27 /* Serial port is closing */ +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ +#define ASYNCB_FIRST_KERNEL22 + +#define ASYNC_HUP_NOTIFY (1U ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED(1U ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U ASYNCB_FOURPORT) +#define ASYNC_SAK (1U ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS(1U ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST(1U ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP(1U ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U ASYNCB_BUGGY_UART) +#define ASYNC_AUTOPROBE(1U ASYNCB_AUTOPROBE) + +#define ASYNC_FLAGS((1U (ASYNCB_LAST_USER + 1)) - 1) +#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \ + ASYNC_LOW_LATENCY) +#define ASYNC_SPD_CUST
Re: [PATCH] tty: move the async flags from the serial code into the tty includes
On Tue, Aug 21, 2012 at 9:35 PM, Alan Cox a...@lxorguk.ukuu.org.uk wrote: Huang - how about we add this patch first which moves the flags somewhere more sensible thanks. I am really happy with this patch. Huang Shijie and then your helper function (and probably a few others) would merge cleanly ? Alan -- From: Alan Cox a...@linux.intel.com These are used with the tty_port flags which are tty generic so move the flags into a more sensible place. This then makes it possible to add helpers such as those suggested by Huang Shijie. Signed-off-by: Alan Cox a...@linux.intel.com --- include/linux/serial.h|2 + include/linux/tty.h |1 + include/linux/tty_flags.h | 78 + 3 files changed, 81 insertions(+) create mode 100644 include/linux/tty_flags.h diff --git a/include/linux/serial.h b/include/linux/serial.h index 90e9f98..d63866d 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -15,6 +15,8 @@ #ifdef __KERNEL__ #include asm/page.h +#include linux/tty_flags.h + /* * Counters of the input lines (CTS, DSR, RI, CD) interrupts */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 69a787f..dbebd1e 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -43,6 +43,7 @@ #include linux/tty_driver.h #include linux/tty_ldisc.h #include linux/mutex.h +#include linux/tty_flags.h diff --git a/include/linux/tty_flags.h b/include/linux/tty_flags.h new file mode 100644 index 000..eefcb48 --- /dev/null +++ b/include/linux/tty_flags.h @@ -0,0 +1,78 @@ +#ifndef _LINUX_TTY_FLAGS_H +#define _LINUX_TTY_FLAGS_H + +/* + * Definitions for async_struct (and serial_struct) flags field also + * shared by the tty_port flags structures. + * + * Define ASYNCB_* for convenient use with {test,set,clear}_bit. + */ +#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes + * on the callout port */ +#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */ +#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */ +#define ASYNCB_SPLIT_TERMIOS3 /* Separate termios for dialin/callout */ +#define ASYNCB_SPD_HI 4 /* Use 56000 instead of 38400 bps */ +#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */ +#define ASYNCB_SKIP_TEST6 /* Skip UART test during autoconfiguration */ +#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during + * autoconfiguration */ +#define ASYNCB_SESSION_LOCKOUT 8 /* Lock out cua opens based on session */ +#define ASYNCB_PGRP_LOCKOUT 9 /* Lock out cua opens based on pgrp */ +#define ASYNCB_CALLOUT_NOHUP 10 /* Don't do hangups for cua device */ +#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */ +#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */ +#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */ +#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety + * checks. Note: can be dangerous! */ +#define ASYNCB_AUTOPROBE 15 /* Port was autoprobed by PCI or PNP code */ +#define ASYNCB_LAST_USER 15 + +/* Internal flags used only by kernel */ +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ +#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ +#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ +#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ +#define ASYNCB_CLOSING 27 /* Serial port is closing */ +#define ASYNCB_CTS_FLOW26 /* Do CTS flow control */ +#define ASYNCB_CHECK_CD25 /* i.e., CLOCAL */ +#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ +#define ASYNCB_CONS_FLOW 23 /* flow control for console */ +#define ASYNCB_FIRST_KERNEL22 + +#define ASYNC_HUP_NOTIFY (1U ASYNCB_HUP_NOTIFY) +#define ASYNC_SUSPENDED(1U ASYNCB_SUSPENDED) +#define ASYNC_FOURPORT (1U ASYNCB_FOURPORT) +#define ASYNC_SAK (1U ASYNCB_SAK) +#define ASYNC_SPLIT_TERMIOS(1U ASYNCB_SPLIT_TERMIOS) +#define ASYNC_SPD_HI (1U ASYNCB_SPD_HI) +#define ASYNC_SPD_VHI (1U ASYNCB_SPD_VHI) +#define ASYNC_SKIP_TEST(1U ASYNCB_SKIP_TEST) +#define ASYNC_AUTO_IRQ (1U ASYNCB_AUTO_IRQ) +#define ASYNC_SESSION_LOCKOUT (1U ASYNCB_SESSION_LOCKOUT) +#define ASYNC_PGRP_LOCKOUT (1U ASYNCB_PGRP_LOCKOUT) +#define ASYNC_CALLOUT_NOHUP(1U ASYNCB_CALLOUT_NOHUP) +#define ASYNC_HARDPPS_CD (1U ASYNCB_HARDPPS_CD) +#define ASYNC_SPD_SHI (1U ASYNCB_SPD_SHI) +#define ASYNC_LOW_LATENCY (1U ASYNCB_LOW_LATENCY) +#define ASYNC_BUGGY_UART (1U ASYNCB_BUGGY_UART) +#define