summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_dev_msm.c
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-05-23 20:54:25 +0000
committerian <ian@FreeBSD.org>2015-05-23 20:54:25 +0000
commitf3f411e10b20906a8640a6316ddcc3c1f24725e3 (patch)
treeb8226cf0be8fe4cd6baeb7595bf89042db51e870 /sys/dev/uart/uart_dev_msm.c
parentce1bf49e72ea9be2396679cd9569beeec685e9c6 (diff)
downloadFreeBSD-src-f3f411e10b20906a8640a6316ddcc3c1f24725e3.zip
FreeBSD-src-f3f411e10b20906a8640a6316ddcc3c1f24725e3.tar.gz
MFC r279723, r279724:
Define new linker set, UART_FDT_CLASS_AND_DEVICE, for registering full (class and device) FDT UART. Define second one, UART_FDT_CLASS, for UART class only. Move the uart_class definitions and fdt compat data into the individual uart implementations, and export them using the new linker-set mechanism.
Diffstat (limited to 'sys/dev/uart/uart_dev_msm.c')
-rw-r--r--sys/dev/uart/uart_dev_msm.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/uart/uart_dev_msm.c b/sys/dev/uart/uart_dev_msm.c
index 12dc8a7..114a415 100644
--- a/sys/dev/uart/uart_dev_msm.c
+++ b/sys/dev/uart/uart_dev_msm.c
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
#include <dev/uart/uart.h>
#include <dev/uart/uart_cpu.h>
+#include <dev/uart/uart_cpu_fdt.h>
#include <dev/uart/uart_bus.h>
#include <dev/uart/uart_dev_msm.h>
@@ -558,7 +559,7 @@ msm_bus_ungrab(struct uart_softc *sc)
uart_unlock(sc->sc_hwmtx);
}
-struct uart_class uart_msm_class = {
+static struct uart_class uart_msm_class = {
"msm",
msm_methods,
sizeof(struct msm_uart_softc),
@@ -566,3 +567,9 @@ struct uart_class uart_msm_class = {
.uc_range = 8,
.uc_rclk = DEF_CLK,
};
+
+static struct ofw_compat_data compat_data[] = {
+ {"qcom,msm-uartdm", (uintptr_t)&uart_msm_class},
+ {NULL, (uintptr_t)NULL},
+};
+UART_FDT_CLASS_AND_DEVICE(compat_data);
OpenPOWER on IntegriCloud