serial: add PORT_ANY definition

Message ID 20231006115713.801322-1-jcmvbkbc@gmail.com
State New
Headers
Series serial: add PORT_ANY definition |

Commit Message

Max Filippov Oct. 6, 2023, 11:57 a.m. UTC
  Current pattern in the linux kernel is that every new serial driver adds
one or more new PORT_ definitions because uart_ops::config_port()
callback documentation prescribes setting port->type according to the
type of port found, or to PORT_UNKNOWN if no port was detected.

When the specific type of the port is not important to the userspace
there's no need for a unique PORT_ value, but so far there's no suitable
identifier for that case.

Provide generic port type identifier other than PORT_UNKNOWN for ports
which type is not important to userspace.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 include/uapi/linux/serial.h | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Greg KH Oct. 7, 2023, 9:17 a.m. UTC | #1
On Fri, Oct 06, 2023 at 04:57:13AM -0700, Max Filippov wrote:
> Current pattern in the linux kernel is that every new serial driver adds
> one or more new PORT_ definitions because uart_ops::config_port()
> callback documentation prescribes setting port->type according to the
> type of port found, or to PORT_UNKNOWN if no port was detected.
> 
> When the specific type of the port is not important to the userspace
> there's no need for a unique PORT_ value, but so far there's no suitable
> identifier for that case.
> 
> Provide generic port type identifier other than PORT_UNKNOWN for ports
> which type is not important to userspace.
> 
> Suggested-by: Arnd Bergmann <arnd@arndb.de>
> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  include/uapi/linux/serial.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h
> index 53bc1af67a41..070e50cf9e1e 100644
> --- a/include/uapi/linux/serial.h
> +++ b/include/uapi/linux/serial.h
> @@ -47,6 +47,8 @@ struct serial_struct {
>  /*
>   * These are the supported serial types.
>   */
> +/* Generic type identifier for ports which type is not important to userspace. */
> +#define PORT_ANY	(-1)

This should be at the end of the list.

And I think we need a better name, "PORT_GENERIC"?

thanks,

greg k-h
  

Patch

diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h
index 53bc1af67a41..070e50cf9e1e 100644
--- a/include/uapi/linux/serial.h
+++ b/include/uapi/linux/serial.h
@@ -47,6 +47,8 @@  struct serial_struct {
 /*
  * These are the supported serial types.
  */
+/* Generic type identifier for ports which type is not important to userspace. */
+#define PORT_ANY	(-1)
 #define PORT_UNKNOWN	0
 #define PORT_8250	1
 #define PORT_16450	2