Added support for ampopts in APBUART driver. Used in AMP systems.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Daniel Hellstrom 2011-01-04 01:41:35 +00:00 committed by David S. Miller
parent d89ddf0da8
commit f28f3313aa
1 changed files with 4 additions and 1 deletions

View File

@ -26,6 +26,7 @@
#include <linux/of.h> #include <linux/of.h>
#include <linux/of_device.h> #include <linux/of_device.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/of_irq.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/serial_core.h> #include <linux/serial_core.h>
@ -573,7 +574,6 @@ static int __devinit apbuart_probe(struct platform_device *op,
printk(KERN_INFO "grlib-apbuart at 0x%llx, irq %d\n", printk(KERN_INFO "grlib-apbuart at 0x%llx, irq %d\n",
(unsigned long long) port->mapbase, port->irq); (unsigned long long) port->mapbase, port->irq);
return 0; return 0;
} }
static struct of_device_id __initdata apbuart_match[] = { static struct of_device_id __initdata apbuart_match[] = {
@ -623,9 +623,12 @@ static void grlib_apbuart_configure(void)
int *vendor = (int *) of_get_property(np, "vendor", NULL); int *vendor = (int *) of_get_property(np, "vendor", NULL);
int *device = (int *) of_get_property(np, "device", NULL); int *device = (int *) of_get_property(np, "device", NULL);
int *irqs = (int *) of_get_property(np, "interrupts", NULL); int *irqs = (int *) of_get_property(np, "interrupts", NULL);
int *ampopts = (int *) of_get_property(np, "ampopts", NULL);
regs = (struct amba_prom_registers *) regs = (struct amba_prom_registers *)
of_get_property(np, "reg", NULL); of_get_property(np, "reg", NULL);
if (ampopts && (*ampopts == 0))
continue; /* Ignore if used by another OS instance */
if (vendor) if (vendor)
v = *vendor; v = *vendor;
if (device) if (device)