Signed-off-by: Vineet Gupta <vgu...@synopsys.com>
---
 drivers/tty/serial/arc_uart.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c
index 2ffaf099691a..dc3d5db37dc4 100644
--- a/drivers/tty/serial/arc_uart.c
+++ b/drivers/tty/serial/arc_uart.c
@@ -37,8 +37,8 @@
 #include <linux/tty_flip.h>
 #include <linux/serial_core.h>
 #include <linux/io.h>
-#include <linux/of.h>
-#include <linux/of_platform.h>
+#include <linux/of_irq.h>
+#include <linux/of_address.h>
 
 /*************************************
  * ARC UART Hardware Specs
@@ -499,11 +499,9 @@ static struct uart_ops arc_serial_pops = {
 static int
 arc_uart_init_one(struct platform_device *pdev, int dev_id)
 {
-       struct resource *res, *res2;
+       struct device_node *np = pdev->dev.of_node;
        struct arc_uart_port *uart = &arc_uart_ports[dev_id];
        struct uart_port *port = &uart->port;
-
-       struct device_node *np = pdev->dev.of_node;
        u32 val;
 
        if (of_property_read_u32(np, "clock-frequency", &val)) {
@@ -518,21 +516,13 @@ arc_uart_init_one(struct platform_device *pdev, int 
dev_id)
        }
        uart->baud = val;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -ENODEV;
-
-       res2 = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-       if (!res2)
-               return -ENODEV;
-
-       port->mapbase = res->start;
-       port->membase = ioremap_nocache(res->start, resource_size(res));
+       port->membase = of_iomap(np, 0);
        if (!port->membase)
                /* No point of dev_err since UART itself is hosed here */
                return -ENXIO;
 
-       port->irq = res2->start;
+       port->irq = irq_of_parse_and_map(np, 0);
+
        port->dev = &pdev->dev;
        port->iotype = UPIO_MEM;
        port->flags = UPF_BOOT_AUTOCONF;
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to