Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jun 2013 23:48:08 +0000 (UTC)
From:      Aleksandr Rybalko <ray@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r252394 - head/sys/dev/uart
Message-ID:  <201306292348.r5TNm8xs059266@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ray
Date: Sat Jun 29 23:48:08 2013
New Revision: 252394
URL: http://svnweb.freebsd.org/changeset/base/252394

Log:
  Teach UART to attach Exynos/s3/s5 class driver.
  
  Submitted by:	Ruslan Bukin <br@bsdpad.com>
  Reviewed by:	gonzo

Modified:
  head/sys/dev/uart/uart.h
  head/sys/dev/uart/uart_bus_fdt.c
  head/sys/dev/uart/uart_cpu_fdt.c
  head/sys/dev/uart/uart_subr.c

Modified: head/sys/dev/uart/uart.h
==============================================================================
--- head/sys/dev/uart/uart.h	Sat Jun 29 23:40:44 2013	(r252393)
+++ head/sys/dev/uart/uart.h	Sat Jun 29 23:48:08 2013	(r252394)
@@ -67,6 +67,7 @@ struct uart_class;
 extern struct uart_class uart_imx_class __attribute__((weak));
 extern struct uart_class uart_ns8250_class __attribute__((weak));
 extern struct uart_class uart_quicc_class __attribute__((weak));
+extern struct uart_class uart_s3c2410_class __attribute__((weak));
 extern struct uart_class uart_sab82532_class __attribute__((weak));
 extern struct uart_class uart_sbbc_class __attribute__((weak));
 extern struct uart_class uart_z8530_class __attribute__((weak));

Modified: head/sys/dev/uart/uart_bus_fdt.c
==============================================================================
--- head/sys/dev/uart/uart_bus_fdt.c	Sat Jun 29 23:40:44 2013	(r252393)
+++ head/sys/dev/uart/uart_bus_fdt.c	Sat Jun 29 23:48:08 2013	(r252394)
@@ -109,6 +109,8 @@ uart_fdt_probe(device_t dev)
 		sc->sc_class = &uart_imx_class;
 	else if (ofw_bus_is_compatible(dev, "arm,pl011"))
 		sc->sc_class = &uart_pl011_class;
+	else if (ofw_bus_is_compatible(dev, "exynos"))
+		sc->sc_class = &uart_s3c2410_class;
 	else if (ofw_bus_is_compatible(dev, "cadence,uart"))
 		sc->sc_class = &uart_cdnc_class;
 	else

Modified: head/sys/dev/uart/uart_cpu_fdt.c
==============================================================================
--- head/sys/dev/uart/uart_cpu_fdt.c	Sat Jun 29 23:40:44 2013	(r252393)
+++ head/sys/dev/uart/uart_cpu_fdt.c	Sat Jun 29 23:48:08 2013	(r252394)
@@ -149,6 +149,8 @@ uart_cpu_getdev(int devtype, struct uart
 		class = &uart_ns8250_class;
 	if (fdt_is_compatible(node, "arm,pl011"))
 		class = &uart_pl011_class;
+	if (fdt_is_compatible(node, "exynos"))
+		class = &uart_s3c2410_class;
 	if (fdt_is_compatible(node, "cadence,uart"))
 		class = &uart_cdnc_class;
 

Modified: head/sys/dev/uart/uart_subr.c
==============================================================================
--- head/sys/dev/uart/uart_subr.c	Sat Jun 29 23:40:44 2013	(r252393)
+++ head/sys/dev/uart/uart_subr.c	Sat Jun 29 23:48:08 2013	(r252394)
@@ -54,6 +54,7 @@ static struct uart_class *uart_classes[]
 	&uart_z8530_class,
 #if defined(__arm__)
 	&uart_lpc_class,
+	&uart_s3c2410_class,
 #endif
 };
 static size_t uart_nclasses = sizeof(uart_classes) / sizeof(uart_classes[0]);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306292348.r5TNm8xs059266>