On 8/6/2019 9:40 PM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > On Tue, Aug 06, 2019 at 05:11:17PM +0000, Stefan-gabriel Mirea wrote: >> On 8/5/2019 6:31 PM, gregkh@xxxxxxxxxxxxxxxxxxx wrote: >>> On Fri, Aug 02, 2019 at 07:47:23PM +0000, Stefan-gabriel Mirea wrote: >>>> >>>> +/* Freescale Linflex UART */ >>>> +#define PORT_LINFLEXUART 121 >>> >>> Do you really need this modified? >> >> Hello Greg, >> >> This macro is meant to be assigned to port->type in the config_port >> method from uart_ops, in order for verify_port to know if the received >> serial_struct structure was really targeted for a LINFlex port. It >> needs to be defined outside, to avoid "collisions" with other drivers. > > Yes, I know what it goes to, but does anyone in userspace actually use > it? No, we do not use it from userspace, but kept the pattern only for conformance. >> Other than that, I do not see anything wrong with the addition of a >> define in serial_core.h for this purpose (which is also what most of the >> serial drivers do, including amba-pl011.c, mentioned in >> Documentation/driver-api/serial/driver.rst as providing the reference >> implementation), so please be more specific. > > I am getting tired of dealing with merge issues with that list, and no > one seems to be able to find where they are really needed for userspace, > especially for new devices. What happens if you do not have use it? I see. If I drop its usage completely and leave 'type' from the uart_port as 0, uart_port_startup() will fail when finding that uport->type == PORT_UNKNOWN at [1] (there may be other effects as well, e.g. due to the check in uart_configure_port[2]). So I suppose that I need to define some nonzero 'PORT_KNOWN' macro in the driver and use that one internally for 'type'. Is my understanding correct? Will there be any problems if I define it to a positive integer which is already assigned to another driver, according to serial_core.h? Regards, Stefan [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/serial/serial_core.c?h=v5.3-rc1#n188 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/serial/serial_core.c?h=v5.3-rc1#n2348