Re: [v2, 4/8] tty: serial: qcom_geni_serial: Initialize console port statically

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 09, 2018 at 01:38:37PM -0600, Karthikeyan Ramasubramanian wrote:

> Perform static initialization of console_port instead of initializing
> during module_init.
> 
> Signed-off-by: Karthikeyan Ramasubramanian <kramasub@xxxxxxxxxxxxxx>
> ---
>  drivers/tty/serial/qcom_geni_serial.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
> index 21e9160..67fd285c 100644
> --- a/drivers/tty/serial/qcom_geni_serial.c
> +++ b/drivers/tty/serial/qcom_geni_serial.c
> @@ -105,7 +105,7 @@ struct qcom_geni_serial_port {
>  	bool brk;
>  };
>  
> -static const struct uart_ops qcom_geni_serial_pops;
> +static const struct uart_ops qcom_geni_console_pops;
>  static struct uart_driver qcom_geni_console_driver;
>  static int handle_rx_console(struct uart_port *uport, u32 bytes, bool drop);
>  static unsigned int qcom_geni_serial_tx_empty(struct uart_port *port);
> @@ -118,7 +118,14 @@ struct qcom_geni_serial_port {
>  #define to_dev_port(ptr, member) \
>  		container_of(ptr, struct qcom_geni_serial_port, member)
>  
> -static struct qcom_geni_serial_port qcom_geni_console_port;
> +static struct qcom_geni_serial_port qcom_geni_console_port = {
> +	.uport = {
> +		.iotype = UPIO_MEM,
> +		.ops = &qcom_geni_console_pops,
> +		.flags = UPF_BOOT_AUTOCONF,
> +		.line = 0,
> +	},
> +};

This change itself looks good to me, however I wonder why there is
a single qcom_geni_serial_port object that is returned by
get_port_from_line() for any line. Neither the initial commit message
of the driver not the comments in this file mention a limitation to a
single port.

Is support for more than one UART planned for future revisions or are
there hardware/firmware limitations that impede this?

>  static int qcom_geni_serial_request_port(struct uart_port *uport)
>  {
> @@ -1133,11 +1140,6 @@ static int __init qcom_geni_serial_init(void)
>  {
>  	int ret;
>  
> -	qcom_geni_console_port.uport.iotype = UPIO_MEM;
> -	qcom_geni_console_port.uport.ops = &qcom_geni_console_pops;
> -	qcom_geni_console_port.uport.flags = UPF_BOOT_AUTOCONF;
> -	qcom_geni_console_port.uport.line = 0;
> -
>  	ret = console_register(&qcom_geni_console_driver);
>  	if (ret)
>  		return ret;

Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux