Re: [PATCH 3/4] serial: 8250: map UAPI port type to internal enum

From: Christian Marangi

Date: Thu Jul 09 2026 - 17:46:18 EST


On Fri, Jul 10, 2026 at 12:37:48AM +0300, Andy Shevchenko wrote:
> On Thu, Jul 09, 2026 at 10:56:51PM +0200, Christian Marangi wrote:
> > There is currently some confusion when a new 8250 UART device needs to be
> > defined with the related index for uart_config[] to be directly defined in
> > UAPI header.
> >
> > There isn't any specific reason to define the index directly in UAPI header
> > unless it's also needed to be defined for userspace usage.
> >
> > To try to address this confusion and making it clear how these specific
> > index should be defined and where, create a dedicated enum in 8250.h
> > with all the current defined values in UAPI header and document how these
> > id should be defined.
> >
> > Rename the define in 8250_port.c with the new UART_ prefix.
>
> This will bring a wide field for the all possible conflicts and doesn't really
> solve the issue. Why not simply kill the UAPI part of the definitions for good?
> (Move the all, except the first 13) to be internal to the kernel.
>

I mean... With correct review from maintainers, conflict won't happen. I don't
feel it's that easy to kill UAPI header... userspace stuff and we don't
kill userspace.

The previous suggested solution was to stop declaring stuff in UAPI header
and start declaring in the internal header making the situation even worse
and error prone with id conflict. This can really be prevent only by
correct review of the change. (or keep using UAPI)

Maybe other have better ideas on this. On net we have a similar problem and
the implementation is mostly similar with duplicated reference and some
BUILD_BUG magic.

--
Ansuel