Re: [PATCH v1] serial: pch_uart: Make port type explicit

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

 



On Tue, 2017-08-22 at 16:20 +0300, Andy Shevchenko wrote:
> It used to be a gap in port definitions after PORT_MAX_8250. Since the
> new drivers are coming the gap become shorter and shorter until the
> commit a2d6a987bfe4 ("serial: 8250: Add new port type for TI
> DA8xx/66AK2x")
> completely removed it.
> 
> So, while type here is just a formality, make things a little bit more
> explicit for this driver and move port types to UAPI header. Note,
> it uses two types for now.
> 

Found more issues with the list.
Will resend this as patch 1 in v2 of patch series.

Also it seems the author is not working for Freescale anymore. Will try
another person for Cc list.

> Fixes: fddceb8b5399 ("tty: 8250: Add 64byte UART support for FSL
> platforms")
> Cc: Vijay Rai <vijay.rai@xxxxxxxxxxxxx>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
>  drivers/tty/serial/pch_uart.c    | 35 +++++++++++++++--------------
> ------
>  include/uapi/linux/serial_core.h |  5 ++++-
>  2 files changed, 19 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/tty/serial/pch_uart.c
> b/drivers/tty/serial/pch_uart.c
> index c3390dd5c1ca..f764f906400c 100644
> --- a/drivers/tty/serial/pch_uart.c
> +++ b/drivers/tty/serial/pch_uart.c
> @@ -46,11 +46,6 @@ enum {
>  	PCH_UART_HANDLED_LS_INT_SHIFT,
>  };
>  
> -enum {
> -	PCH_UART_8LINE,
> -	PCH_UART_2LINE,
> -};
> -
>  #define PCH_UART_DRIVER_DEVICE "ttyPCH"
>  
>  /* Set the max number of UART port
> @@ -267,7 +262,7 @@ struct eg20t_port {
>  
>  /**
>   * struct pch_uart_driver_data - private data structure for UART-DMA
> - * @port_type:			The number of DMA channel
> + * @port_type:			The type of UART port
>   * @line_no:			UART port line number (0, 1,
> 2...)
>   */
>  struct pch_uart_driver_data {
> @@ -290,17 +285,17 @@ enum pch_uart_num_t {
>  };
>  
>  static struct pch_uart_driver_data drv_dat[] = {
> -	[pch_et20t_uart0] = {PCH_UART_8LINE, 0},
> -	[pch_et20t_uart1] = {PCH_UART_2LINE, 1},
> -	[pch_et20t_uart2] = {PCH_UART_2LINE, 2},
> -	[pch_et20t_uart3] = {PCH_UART_2LINE, 3},
> -	[pch_ml7213_uart0] = {PCH_UART_8LINE, 0},
> -	[pch_ml7213_uart1] = {PCH_UART_2LINE, 1},
> -	[pch_ml7213_uart2] = {PCH_UART_2LINE, 2},
> -	[pch_ml7223_uart0] = {PCH_UART_8LINE, 0},
> -	[pch_ml7223_uart1] = {PCH_UART_2LINE, 1},
> -	[pch_ml7831_uart0] = {PCH_UART_8LINE, 0},
> -	[pch_ml7831_uart1] = {PCH_UART_2LINE, 1},
> +	[pch_et20t_uart0] = {PORT_PCH_8LINE, 0},
> +	[pch_et20t_uart1] = {PORT_PCH_2LINE, 1},
> +	[pch_et20t_uart2] = {PORT_PCH_2LINE, 2},
> +	[pch_et20t_uart3] = {PORT_PCH_2LINE, 3},
> +	[pch_ml7213_uart0] = {PORT_PCH_8LINE, 0},
> +	[pch_ml7213_uart1] = {PORT_PCH_2LINE, 1},
> +	[pch_ml7213_uart2] = {PORT_PCH_2LINE, 2},
> +	[pch_ml7223_uart0] = {PORT_PCH_8LINE, 0},
> +	[pch_ml7223_uart1] = {PORT_PCH_2LINE, 1},
> +	[pch_ml7831_uart0] = {PORT_PCH_8LINE, 0},
> +	[pch_ml7831_uart1] = {PORT_PCH_2LINE, 1},
>  };
>  
>  #ifdef CONFIG_SERIAL_PCH_UART_CONSOLE
> @@ -1776,10 +1771,10 @@ static struct eg20t_port
> *pch_uart_init_port(struct pci_dev *pdev,
>  		goto init_port_free_txbuf;
>  
>  	switch (port_type) {
> -	case PORT_UNKNOWN:
> +	case PORT_PCH_8LINE:
>  		fifosize = 256; /* EG20T/ML7213: UART0 */
>  		break;
> -	case PORT_8250:
> +	case PORT_PCH_2LINE:
>  		fifosize = 64; /* EG20T:UART1~3  ML7213: UART1~2*/
>  		break;
>  	default:
> @@ -1803,7 +1798,7 @@ static struct eg20t_port
> *pch_uart_init_port(struct pci_dev *pdev,
>  
>  	priv->fifo_size = fifosize;
>  	priv->uartclk = pch_uart_get_uartclk();
> -	priv->port_type = PORT_MAX_8250 + port_type + 1;
> +	priv->port_type = port_type;
>  	priv->port.dev = &pdev->dev;
>  	priv->port.iobase = iobase;
>  	priv->port.membase = NULL;
> diff --git a/include/uapi/linux/serial_core.h
> b/include/uapi/linux/serial_core.h
> index 38bea3217ead..502aa23c7e15 100644
> --- a/include/uapi/linux/serial_core.h
> +++ b/include/uapi/linux/serial_core.h
> @@ -57,7 +57,6 @@
>  #define PORT_RT2880	29	/* Ralink RT2880 internal UART
> */
>  #define PORT_16550A_FSL64 30	/* Freescale 16550 UART with 64
> FIFOs */
>  #define PORT_DA830	31	/* TI DA8xx/66AK2x */
> -#define PORT_MAX_8250	31	/* max port ID */
>  
>  /*
>   * ARM specific type numbers.  These are not currently guaranteed
> @@ -77,6 +76,10 @@
>  #define PORT_SUNZILOG	38
>  #define PORT_SUNSAB	39
>  
> +/* Intel EG20 */
> +#define PORT_PCH_8LINE	44
> +#define PORT_PCH_2LINE	45
> +
>  /* DEC */
>  #define PORT_DZ		46
>  #define PORT_ZS		47

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy
--
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