Merge 3.9-rc7 intp tty-next
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / tty / serial / vt8500_serial.c
index a3f9dd5c9dff40dacf86966ae3d6ff1335055f97..1a8bc2275ea4f190e9d994cb7e3786069f168a7e 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/clk.h>
 #include <linux/platform_device.h>
 #include <linux/of.h>
+#include <linux/err.h>
 
 /*
  * UART Register offsets
@@ -585,9 +586,9 @@ static int vt8500_serial_probe(struct platform_device *pdev)
        if (!vt8500_port)
                return -ENOMEM;
 
-       vt8500_port->uart.membase = devm_request_and_ioremap(&pdev->dev, mmres);
-       if (!vt8500_port->uart.membase)
-               return -EADDRNOTAVAIL;
+       vt8500_port->uart.membase = devm_ioremap_resource(&pdev->dev, mmres);
+       if (IS_ERR(vt8500_port->uart.membase))
+               return PTR_ERR(vt8500_port->uart.membase);
 
        vt8500_port->clk = of_clk_get(pdev->dev.of_node, 0);
        if (IS_ERR(vt8500_port->clk)) {
@@ -611,14 +612,7 @@ static int vt8500_serial_probe(struct platform_device *pdev)
        vt8500_port->uart.dev = &pdev->dev;
        vt8500_port->uart.flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF;
 
-       vt8500_port->clk = of_clk_get(pdev->dev.of_node, 0);
-       if (!IS_ERR(vt8500_port->clk)) {
-               vt8500_port->uart.uartclk = clk_get_rate(vt8500_port->clk);
-       } else {
-               /* use the default of 24Mhz if not specified and warn */
-               pr_warn("%s: serial clock source not specified\n", __func__);
-               vt8500_port->uart.uartclk = 24000000;
-       }
+       vt8500_port->uart.uartclk = clk_get_rate(vt8500_port->clk);
 
        snprintf(vt8500_port->name, sizeof(vt8500_port->name),
                 "VT8500 UART%d", pdev->id);