diff options
author | ian <ian@FreeBSD.org> | 2015-03-07 15:24:15 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2015-03-07 15:24:15 +0000 |
commit | 550c116c702749dbb815eb45b23be45cebc2bddf (patch) | |
tree | 88196238c24ac63246b527ccfa8cfddcb66fc935 /sys/arm/samsung | |
parent | 7292a1689e4ab84c597c91255e4c24a2313d2420 (diff) | |
download | FreeBSD-src-550c116c702749dbb815eb45b23be45cebc2bddf.zip FreeBSD-src-550c116c702749dbb815eb45b23be45cebc2bddf.tar.gz |
Move the uart_class definitions and fdt compat data into the individual
uart implementations, and export them using the new linker-set mechanism.
Differential Revision: https://reviews.freebsd.org/D1993
Submitted by: Michal Meloun
Diffstat (limited to 'sys/arm/samsung')
-rw-r--r-- | sys/arm/samsung/exynos/exynos_uart.c | 9 | ||||
-rw-r--r-- | sys/arm/samsung/s3c2xx0/uart_bus_s3c2410.c | 2 | ||||
-rw-r--r-- | sys/arm/samsung/s3c2xx0/uart_cpu_s3c2410.c | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/sys/arm/samsung/exynos/exynos_uart.c b/sys/arm/samsung/exynos/exynos_uart.c index 0b3c7f7..9e33bcb 100644 --- a/sys/arm/samsung/exynos/exynos_uart.c +++ b/sys/arm/samsung/exynos/exynos_uart.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 <arm/samsung/exynos/exynos_uart.h> @@ -372,7 +373,7 @@ exynos4210_bus_ioctl(struct uart_softc *sc, int request, intptr_t data) return (EINVAL); } -struct uart_class uart_exynos4210_class = { +static struct uart_class uart_exynos4210_class = { "exynos4210 class", exynos4210_methods, 1, @@ -380,3 +381,9 @@ struct uart_class uart_exynos4210_class = { .uc_range = 8, .uc_rclk = 0, }; + +static struct ofw_compat_data compat_data[] = { + {"exynos", (uintptr_t)&uart_exynos4210_class}, + {NULL, (uintptr_t)NULL}, +}; +UART_FDT_CLASS_AND_DEVICE(compat_data); diff --git a/sys/arm/samsung/s3c2xx0/uart_bus_s3c2410.c b/sys/arm/samsung/s3c2xx0/uart_bus_s3c2410.c index 2102d8b..882a546 100644 --- a/sys/arm/samsung/s3c2xx0/uart_bus_s3c2410.c +++ b/sys/arm/samsung/s3c2xx0/uart_bus_s3c2410.c @@ -19,6 +19,8 @@ __FBSDID("$FreeBSD$"); #include "uart_if.h" +extern struct uart_class uart_s3c2410_class; + static int uart_s3c2410_probe(device_t dev); static device_method_t uart_s3c2410_methods[] = { diff --git a/sys/arm/samsung/s3c2xx0/uart_cpu_s3c2410.c b/sys/arm/samsung/s3c2xx0/uart_cpu_s3c2410.c index 1beb12d..4be4b39 100644 --- a/sys/arm/samsung/s3c2xx0/uart_cpu_s3c2410.c +++ b/sys/arm/samsung/s3c2xx0/uart_cpu_s3c2410.c @@ -39,11 +39,11 @@ __FBSDID("$FreeBSD$"); #include <arm/samsung/s3c2xx0/s3c2xx0var.h> +extern struct uart_class uart_s3c2410_class; + bus_space_tag_t uart_bus_space_io; bus_space_tag_t uart_bus_space_mem; -extern struct uart_ops uart_s3c2410_ops; - vm_offset_t s3c2410_uart_vaddr; unsigned int s3c2410_pclk; |