Re: [PATCH 1/2] serial: 8250: Let drivers request full 16550A feature probing

From: Jiri Slaby
Date: Mon Sep 19 2022 - 06:54:34 EST


On 19. 09. 22, 10:18, Maciej W. Rozycki wrote:
On Mon, 19 Sep 2022, Jiri Slaby wrote:

--- linux-macro.orig/include/linux/serial_core.h
+++ linux-macro/include/linux/serial_core.h
@@ -414,7 +414,7 @@ struct uart_icount {
__u32 buf_overrun;
};
-typedef unsigned int __bitwise upf_t;
+typedef __u64 __bitwise upf_t;

Why __u64 and not u64?

For consistency as there's `__u32' used elsewhere in this file. It's not
clear to me what our rules WRT the use of `s*'/`u*' vs `__s*'/`__u*' are.
I don't think we have it mentioned under Documentation/. Please clarify
if you know and I can update the change accordingly.

The rule is, AFAICT, use __u*/__s* in user (uapi) headers. Everywhere else, use u*/s*.

@@ -522,6 +522,7 @@ struct uart_port {
#define UPF_FIXED_PORT ((__force upf_t) (1 << 29))
#define UPF_DEAD ((__force upf_t) (1 << 30))
#define UPF_IOREMAP ((__force upf_t) (1 << 31))
+#define UPF_FULL_PROBE ((__force upf_t) (1ULL << 32))

This looks like a perfect time to switch them all to BIT_ULL().

Good point, I keep forgetting about that macro. I'll keep this part
unchanged for the purpose of backporting and add 3/3 to switch all the
macros over.

OK.

thanks,
--
js
suse labs