summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart/uart_bus_ebus.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/uart/uart_bus_ebus.c')
-rw-r--r--sys/dev/uart/uart_bus_ebus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/uart/uart_bus_ebus.c b/sys/dev/uart/uart_bus_ebus.c
index 9445c18..8e7520b 100644
--- a/sys/dev/uart/uart_bus_ebus.c
+++ b/sys/dev/uart/uart_bus_ebus.c
@@ -61,7 +61,7 @@ static driver_t uart_ebus_driver = {
static int
uart_ebus_probe(device_t dev)
{
- const char *nm;
+ const char *nm, *cmpt;
struct uart_softc *sc;
int error;
@@ -69,7 +69,9 @@ uart_ebus_probe(device_t dev)
sc->sc_class = NULL;
nm = ebus_get_name(dev);
- if (!strcmp(nm, "su")) {
+ cmpt = ebus_get_compat(dev);
+ if (!strcmp(nm, "su") || !strcmp(nm, "su_pnp") || (cmpt != NULL &&
+ (!strcmp(cmpt, "su") || !strcmp(cmpt, "su16550")))) {
sc->sc_class = &uart_ns8250_class;
return (uart_bus_probe(dev, 0, 0, 0, 0));
}
OpenPOWER on IntegriCloud