summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2013-08-21 04:05:06 +0000
committerian <ian@FreeBSD.org>2013-08-21 04:05:06 +0000
commit016d5f2c083974903d94f476f7673665260606c2 (patch)
treec5863baf1b95365c3dd8568230d9e3a08235815a /sys/dev/uart
parent1b0e7b9e07f0d8a61c4240dc05633e83c63ca643 (diff)
downloadFreeBSD-src-016d5f2c083974903d94f476f7673665260606c2.zip
FreeBSD-src-016d5f2c083974903d94f476f7673665260606c2.tar.gz
Check for generic ns16550 after all other types. A device may be compatible
with 16550 but also have a more specific/capable driver earlier in the list.
Diffstat (limited to 'sys/dev/uart')
-rw-r--r--sys/dev/uart/uart_bus_fdt.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/uart/uart_bus_fdt.c b/sys/dev/uart/uart_bus_fdt.c
index 4f6ac9b..064a7df 100644
--- a/sys/dev/uart/uart_bus_fdt.c
+++ b/sys/dev/uart/uart_bus_fdt.c
@@ -101,9 +101,7 @@ uart_fdt_probe(device_t dev)
int err;
sc = device_get_softc(dev);
- if (ofw_bus_is_compatible(dev, "ns16550"))
- sc->sc_class = &uart_ns8250_class;
- else if (ofw_bus_is_compatible(dev, "lpc,uart"))
+ if (ofw_bus_is_compatible(dev, "lpc,uart"))
sc->sc_class = &uart_lpc_class;
else if (ofw_bus_is_compatible(dev, "fsl,imx-uart"))
sc->sc_class = &uart_imx_class;
@@ -113,6 +111,8 @@ uart_fdt_probe(device_t dev)
sc->sc_class = &uart_s3c2410_class;
else if (ofw_bus_is_compatible(dev, "cadence,uart"))
sc->sc_class = &uart_cdnc_class;
+ else if (ofw_bus_is_compatible(dev, "ns16550"))
+ sc->sc_class = &uart_ns8250_class;
else
return (ENXIO);
OpenPOWER on IntegriCloud