Re: [PATCH] S3C: serial: Modify console initialization.

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

 



On Thu, Jan 14, 2010 at 03:05:38PM +0900, Thomas Abraham wrote:
> This patch modifies s3c24xx_serial_initconsole function to accept multiple
> platform UART information structures. This is required on platforms that have
> differences among the instances of UART ports. As an example, the FIFO sizes
> could be different for each UART instance and hence multiple platform UART
> information structures would be needed.

I seem to have two copies of this?;
 
> This patch also modifies the s3c24xx_console_init macro since it wraps the
> call to the s3c24xx_serial_initconsole function.
> 
> Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx>
> ---
>  drivers/serial/samsung.c |    6 +++---
>  drivers/serial/samsung.h |   19 ++++++++++++-------
>  2 files changed, 15 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/serial/samsung.c b/drivers/serial/samsung.c
> index 52e3df1..6982243 100644
> --- a/drivers/serial/samsung.c
> +++ b/drivers/serial/samsung.c
> @@ -1374,7 +1374,7 @@ s3c24xx_serial_get_options(struct uart_port *port, int *baud,
>   * data.
>  */
> 
> -static int s3c24xx_serial_init_ports(struct s3c24xx_uart_info *info)
> +static int s3c24xx_serial_init_ports(struct s3c24xx_uart_info **info)
>  {
>  	struct s3c24xx_uart_port *ptr = s3c24xx_serial_ports;
>  	struct platform_device **platdev_ptr;
> @@ -1385,7 +1385,7 @@ static int s3c24xx_serial_init_ports(struct s3c24xx_uart_info *info)
>  	platdev_ptr = s3c24xx_uart_devs;
> 
>  	for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++, ptr++, platdev_ptr++) {
> -		s3c24xx_serial_init_port(ptr, info, *platdev_ptr);
> +		s3c24xx_serial_init_port(ptr, info[i], *platdev_ptr);
>  	}
> 
>  	return 0;
> @@ -1451,7 +1451,7 @@ static struct console s3c24xx_serial_console = {
>  };
> 
>  int s3c24xx_serial_initconsole(struct platform_driver *drv,
> -			       struct s3c24xx_uart_info *info)
> +			       struct s3c24xx_uart_info **info)
> 
>  {
>  	struct platform_device *dev = s3c24xx_uart_devs[0];
> diff --git a/drivers/serial/samsung.h b/drivers/serial/samsung.h
> index 1fb2234..0ac06a0 100644
> --- a/drivers/serial/samsung.h
> +++ b/drivers/serial/samsung.h
> @@ -75,19 +75,24 @@ extern int s3c24xx_serial_probe(struct platform_device *dev,
>  extern int __devexit s3c24xx_serial_remove(struct platform_device *dev);
> 
>  extern int s3c24xx_serial_initconsole(struct platform_driver *drv,
> -				      struct s3c24xx_uart_info *uart);
> +				      struct s3c24xx_uart_info **uart);
> 
>  extern int s3c24xx_serial_init(struct platform_driver *drv,
>  			       struct s3c24xx_uart_info *info);
> 
>  #ifdef CONFIG_SERIAL_SAMSUNG_CONSOLE
> 
> -#define s3c24xx_console_init(__drv, __inf)			\
> -static int __init s3c_serial_console_init(void)			\
> -{								\
> -	return s3c24xx_serial_initconsole(__drv, __inf);	\
> -}								\
> -								\
> +#define s3c24xx_console_init(__drv, __inf)				\
> +static int __init s3c_serial_console_init(void)				\
> +{									\
> +	struct s3c24xx_uart_info *uinfo[CONFIG_SERIAL_SAMSUNG_UARTS];	\
> +	int i;								\
> +									\
> +	for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)		\
> +		uinfo[i] = __inf;					\
> +	return s3c24xx_serial_initconsole(__drv, uinfo);		\
> +}									\
> +									\
>  console_initcall(s3c_serial_console_init)
> 
>  #else
> --
> 1.6.3.3
> 

-- 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux