summaryrefslogtreecommitdiff
path: root/drivers/serial/uartlite.c
diff options
context:
space:
mode:
authorStephen Neuendorffer <stephen.neuendorffer@xilinx.com>2008-01-08 19:35:05 (GMT)
committerGrant Likely <grant.likely@secretlab.ca>2008-02-06 17:23:21 (GMT)
commit0e349b0e2d90eb1bb76d16c48d0127feebfeeb89 (patch)
treec09f26f4bae9a5431c24c105e1424d035a28b384 /drivers/serial/uartlite.c
parent911a3175997000c1fcddb2013aaa5fbbee79f0f0 (diff)
downloadlinux-0e349b0e2d90eb1bb76d16c48d0127feebfeeb89.tar.xz
[POWERPC] Xilinx: Update compatible to use values generated by BSP generator.
Mainly, this involves two changes: 1) xilinx->xlnx (recognized standard is to use the stock ticker) 2) In order to have the device tree focus on describing what the hardware is as exactly as possible, the compatible strings contain the full IP name and IP version. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/serial/uartlite.c')
-rw-r--r--drivers/serial/uartlite.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index c54a5ad..b22023f 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -17,10 +17,21 @@
#include <linux/tty.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
+#include <linux/init.h>
#include <asm/io.h>
#if defined(CONFIG_OF)
+#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_platform.h>
+
+/* Match table for of_platform binding */
+static struct of_device_id ulite_of_match[] __devinitdata = {
+ { .compatible = "xlnx,opb-uartlite-1.00.b", },
+ { .compatible = "xlnx,xps-uartlite-1.00.a", },
+ {}
+};
+MODULE_DEVICE_TABLE(of, ulite_of_match);
+
#endif
#define ULITE_NAME "ttyUL"
@@ -275,6 +286,9 @@ static void ulite_release_port(struct uart_port *port)
static int ulite_request_port(struct uart_port *port)
{
+ pr_debug("ulite console: port=%p; port->mapbase=%x\n",
+ port, port->mapbase);
+
if (!request_mem_region(port->mapbase, ULITE_REGION, "uartlite")) {
dev_err(port->dev, "Memory region busy\n");
return -EBUSY;
@@ -383,7 +397,7 @@ static inline void __init ulite_console_of_find_device(int id)
const unsigned int *of_id;
int rc;
- for_each_compatible_node(np, NULL, "xilinx,uartlite") {
+ for_each_matching_node(np, ulite_of_match) {
of_id = of_get_property(np, "port-number", NULL);
if ((!of_id) || (*of_id != id))
continue;
@@ -617,13 +631,6 @@ static int __devexit ulite_of_remove(struct of_device *op)
return ulite_release(&op->dev);
}
-/* Match table for of_platform binding */
-static struct of_device_id ulite_of_match[] __devinitdata = {
- { .type = "serial", .compatible = "xilinx,uartlite", },
- {},
-};
-MODULE_DEVICE_TABLE(of, ulite_of_match);
-
static struct of_platform_driver ulite_of_driver = {
.owner = THIS_MODULE,
.name = "uartlite",