diff options
author | ian <ian@FreeBSD.org> | 2013-08-21 04:05:06 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-08-21 04:05:06 +0000 |
commit | 016d5f2c083974903d94f476f7673665260606c2 (patch) | |
tree | c5863baf1b95365c3dd8568230d9e3a08235815a /sys/dev/uart | |
parent | 1b0e7b9e07f0d8a61c4240dc05633e83c63ca643 (diff) | |
download | FreeBSD-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.c | 6 |
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); |