]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/serial/s5pv210.c
ARM: S5PV310: Add serial port support
[net-next-2.6.git] / drivers / serial / s5pv210.c
index 4a789e5361a4e7fafe0e5b21522eb3deaf157df4..6ebccd70a7073d0e56e098b7598fa11e02a9bd10 100644 (file)
 static int s5pv210_serial_setsource(struct uart_port *port,
                                        struct s3c24xx_uart_clksrc *clk)
 {
+       struct s3c2410_uartcfg *cfg = port->dev->platform_data;
        unsigned long ucon = rd_regl(port, S3C2410_UCON);
 
+       if ((cfg->clocks_size) == 1)
+               return 0;
+
        if (strcmp(clk->name, "pclk") == 0)
                ucon &= ~S5PV210_UCON_CLKMASK;
        else if (strcmp(clk->name, "uclk1") == 0)
@@ -47,10 +51,14 @@ static int s5pv210_serial_setsource(struct uart_port *port,
 static int s5pv210_serial_getsource(struct uart_port *port,
                                        struct s3c24xx_uart_clksrc *clk)
 {
+       struct s3c2410_uartcfg *cfg = port->dev->platform_data;
        u32 ucon = rd_regl(port, S3C2410_UCON);
 
        clk->divisor = 1;
 
+       if ((cfg->clocks_size) == 1)
+               return 0;
+
        switch (ucon & S5PV210_UCON_CLKMASK) {
        case S5PV210_UCON_PCLK:
                clk->name = "pclk";