Re: [PATCH 1/3] tty: serial: Add UART driver for Cortina-Access platform

From: Greg Kroah-Hartman
Date: Wed Mar 24 2021 - 02:06:08 EST


On Tue, Mar 23, 2021 at 07:25:58PM +0000, Alex Nemirovsky wrote:
> Hi Greg,
>
> > On Mar 23, 2021, at 2:24 AM, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Thu, Feb 18, 2021 at 06:42:09PM -0800, Alex Nemirovsky wrote:
> >> +static struct cortina_uart_port *cortina_uart_ports;
> >
> > Why is this not a per-device pointer?
> >
> >> +static void __exit cortina_uart_exit(void)
> >> +{
> >> + platform_driver_unregister(&serial_cortina_driver);
> >> + uart_unregister_driver(&cortina_uart_driver);
> >> + kfree(cortina_uart_ports);
> >
> > Should not need to free this here, it should be tied to the device, not
> > the driver.
>
> Would it be possible to provide a reference to an example
> of a good way to do it.

You have a device-specific data structure, put this information there.

> >> +}
> >> +
> >> +module_init(cortina_uart_init);
> >> +module_exit(cortina_uart_exit);
> >> +
> >> +MODULE_AUTHOR("Cortina-Access Inc.");
> >> +MODULE_DESCRIPTION(" Cortina-Access UART driver");
> >> +MODULE_LICENSE("GPL");
> >> diff --git a/include/uapi/linux/serial_core.h b/include/uapi/linux/serial_core.h
> >> index 62c2204..1931892 100644
> >> --- a/include/uapi/linux/serial_core.h
> >> +++ b/include/uapi/linux/serial_core.h
> >> @@ -277,4 +277,7 @@
> >> /* Freescale LINFlexD UART */
> >> #define PORT_LINFLEXUART 122
> >>
> >> +/* Cortina-Access UART */
> >> +#define PORT_CORTINA_ACCESS 123
> >
> > Also, no need for this, right? I would prefer to not add new ids if at
> > all possible.
>
> Could you explain why these are no longer required and what has
> been done in the tty design to make this obsolete?

What do you use in userspace that requires this information to be sent
from the kernel?

thanks,

greg k-h