diff options
Diffstat (limited to 'target/linux/leon/patches/010-apbuart_ampopts.patch')
-rw-r--r-- | target/linux/leon/patches/010-apbuart_ampopts.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/leon/patches/010-apbuart_ampopts.patch b/target/linux/leon/patches/010-apbuart_ampopts.patch new file mode 100644 index 0000000000..f47c54a7be --- /dev/null +++ b/target/linux/leon/patches/010-apbuart_ampopts.patch @@ -0,0 +1,41 @@ +From 8129fa5437f3fe5f95bac180a43cd5a856cebdf3 Mon Sep 17 00:00:00 2001 +From: Daniel Hellstrom <daniel@gaisler.com> +Date: Wed, 20 Oct 2010 17:00:41 +0200 +Subject: [PATCH] Added support for ampopts in APBUART driver. Used in AMP systems. + +Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> +--- + drivers/serial/apbuart.c | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +--- a/drivers/serial/apbuart.c ++++ b/drivers/serial/apbuart.c +@@ -26,6 +26,7 @@ + #include <linux/of.h> + #include <linux/of_device.h> + #include <linux/of_platform.h> ++#include <linux/of_irq.h> + #include <linux/platform_device.h> + #include <linux/io.h> + #include <linux/serial_core.h> +@@ -573,7 +574,6 @@ static int __devinit apbuart_probe(struc + printk(KERN_INFO "grlib-apbuart at 0x%llx, irq %d\n", + (unsigned long long) port->mapbase, port->irq); + return 0; +- + } + + static struct of_device_id __initdata apbuart_match[] = { +@@ -620,9 +620,12 @@ static void grlib_apbuart_configure(void + int *vendor = (int *) of_get_property(np, "vendor", NULL); + int *device = (int *) of_get_property(np, "device", NULL); + int *irqs = (int *) of_get_property(np, "interrupts", NULL); ++ int *ampopts = (int *) of_get_property(np, "ampopts", NULL); + regs = (struct amba_prom_registers *) + of_get_property(np, "reg", NULL); + ++ if (ampopts && (*ampopts == 0)) ++ continue; /* Ignore if used by another OS instance */ + if (vendor) + v = *vendor; + if (device) |