Merge branch 'next/dt' of git://git.linaro.org/people/arnd/arm-soc
* 'next/dt' of git://git.linaro.org/people/arnd/arm-soc: ARM: gic: use module.h instead of export.h ARM: gic: fix irq_alloc_descs handling for sparse irq ARM: gic: add OF based initialization ARM: gic: add irq_domain support irq: support domains with non-zero hwirq base of/irq: introduce of_irq_init ARM: at91: add at91sam9g20 and Calao USB A9G20 DT support ARM: at91: dt: at91sam9g45 family and board device tree files arm/mx5: add device tree support for imx51 babbage arm/mx5: add device tree support for imx53 boards ARM: msm: Add devicetree support for msm8660-surf msm_serial: Add devicetree support msm_serial: Use relative resources for iomem Fix up conflicts in arch/arm/mach-at91/{at91sam9260.c,at91sam9g45.c}
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
# define SUPPORT_SYSRQ
|
||||
#endif
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/io.h>
|
||||
@@ -33,6 +34,8 @@
|
||||
#include <linux/clk.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
|
||||
#include "msm_serial.h"
|
||||
|
||||
@@ -589,9 +592,8 @@ static void msm_release_port(struct uart_port *port)
|
||||
iowrite32(GSBI_PROTOCOL_IDLE, msm_port->gsbi_base +
|
||||
GSBI_CONTROL);
|
||||
|
||||
gsbi_resource = platform_get_resource_byname(pdev,
|
||||
IORESOURCE_MEM,
|
||||
"gsbi_resource");
|
||||
gsbi_resource = platform_get_resource(pdev,
|
||||
IORESOURCE_MEM, 1);
|
||||
|
||||
if (unlikely(!gsbi_resource))
|
||||
return;
|
||||
@@ -612,8 +614,7 @@ static int msm_request_port(struct uart_port *port)
|
||||
resource_size_t size;
|
||||
int ret;
|
||||
|
||||
uart_resource = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
||||
"uart_resource");
|
||||
uart_resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (unlikely(!uart_resource))
|
||||
return -ENXIO;
|
||||
|
||||
@@ -628,8 +629,7 @@ static int msm_request_port(struct uart_port *port)
|
||||
goto fail_release_port;
|
||||
}
|
||||
|
||||
gsbi_resource = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
||||
"gsbi_resource");
|
||||
gsbi_resource = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||
/* Is this a GSBI-based port? */
|
||||
if (gsbi_resource) {
|
||||
size = resource_size(gsbi_resource);
|
||||
@@ -857,6 +857,8 @@ static struct uart_driver msm_uart_driver = {
|
||||
.cons = MSM_CONSOLE,
|
||||
};
|
||||
|
||||
static atomic_t msm_uart_next_id = ATOMIC_INIT(0);
|
||||
|
||||
static int __init msm_serial_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct msm_port *msm_port;
|
||||
@@ -864,6 +866,9 @@ static int __init msm_serial_probe(struct platform_device *pdev)
|
||||
struct uart_port *port;
|
||||
int irq;
|
||||
|
||||
if (pdev->id == -1)
|
||||
pdev->id = atomic_inc_return(&msm_uart_next_id) - 1;
|
||||
|
||||
if (unlikely(pdev->id < 0 || pdev->id >= UART_NR))
|
||||
return -ENXIO;
|
||||
|
||||
@@ -873,7 +878,7 @@ static int __init msm_serial_probe(struct platform_device *pdev)
|
||||
port->dev = &pdev->dev;
|
||||
msm_port = UART_TO_MSM(port);
|
||||
|
||||
if (platform_get_resource_byname(pdev, IORESOURCE_MEM, "gsbi_resource"))
|
||||
if (platform_get_resource(pdev, IORESOURCE_MEM, 1))
|
||||
msm_port->is_uartdm = 1;
|
||||
else
|
||||
msm_port->is_uartdm = 0;
|
||||
@@ -897,8 +902,7 @@ static int __init msm_serial_probe(struct platform_device *pdev)
|
||||
printk(KERN_INFO "uartclk = %d\n", port->uartclk);
|
||||
|
||||
|
||||
resource = platform_get_resource_byname(pdev, IORESOURCE_MEM,
|
||||
"uart_resource");
|
||||
resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (unlikely(!resource))
|
||||
return -ENXIO;
|
||||
port->mapbase = resource->start;
|
||||
@@ -922,11 +926,17 @@ static int __devexit msm_serial_remove(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct of_device_id msm_match_table[] = {
|
||||
{ .compatible = "qcom,msm-uart" },
|
||||
{}
|
||||
};
|
||||
|
||||
static struct platform_driver msm_platform_driver = {
|
||||
.remove = msm_serial_remove,
|
||||
.driver = {
|
||||
.name = "msm_serial",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = msm_match_table,
|
||||
},
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user