2023-10-08 00:23:28

by Max Filippov

[permalink] [raw]
Subject: [PATCH v2] serial: add PORT_GENERIC definition

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 <[email protected]>
Suggested-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Max Filippov <[email protected]>
---
Changes v1->v2:
- move to the end of PORT_ definition list
- rename to PORT_GENERIC

include/uapi/linux/serial_core.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
index add349889d0a..0a5090e08657 100644
--- a/include/uapi/linux/serial_core.h
+++ b/include/uapi/linux/serial_core.h
@@ -245,4 +245,7 @@
/* Sunplus UART */
#define PORT_SUNPLUS 123

+/* Generic type identifier for ports which type is not important to userspace. */
+#define PORT_GENERIC (-1)
+
#endif /* _UAPILINUX_SERIAL_CORE_H */
--
2.30.2


2023-10-09 06:04:10

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH v2] serial: add PORT_GENERIC definition

On 08. 10. 23, 2:18, 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.

Oh, finally someone submitted this.

> Suggested-by: Arnd Bergmann <[email protected]>
> Suggested-by: Greg Kroah-Hartman <[email protected]>
In that case metoo [1]:
Suggested-by: Jiri Slaby <[email protected]>
and
Reviewed-by: Jiri Slaby <[email protected]>

[1]
https://lore.kernel.org/all/[email protected]/

> Signed-off-by: Max Filippov <[email protected]>
> ---
> Changes v1->v2:
> - move to the end of PORT_ definition list
> - rename to PORT_GENERIC
>
> include/uapi/linux/serial_core.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
> index add349889d0a..0a5090e08657 100644
> --- a/include/uapi/linux/serial_core.h
> +++ b/include/uapi/linux/serial_core.h
> @@ -245,4 +245,7 @@
> /* Sunplus UART */
> #define PORT_SUNPLUS 123
>
> +/* Generic type identifier for ports which type is not important to userspace. */
> +#define PORT_GENERIC (-1)
> +
> #endif /* _UAPILINUX_SERIAL_CORE_H */

--
js
suse labs