diff options
author | sam <sam@FreeBSD.org> | 2007-05-24 16:17:51 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2007-05-24 16:17:51 +0000 |
commit | 96b2598c74345e289772f933830c2cf2b9906277 (patch) | |
tree | 4c48d321e0ab9f7436b27dd2379e75f870b110bd /sys/arm | |
parent | 7a7c4c420ac6495993c6dea2894beb191ea443fe (diff) | |
download | FreeBSD-src-96b2598c74345e289772f933830c2cf2b9906277.zip FreeBSD-src-96b2598c74345e289772f933830c2cf2b9906277.tar.gz |
Don't muck with the internal state of a uart during probe, all we
should setup is the class. This corrects an issue where enabling
uart1 on the avila board caused uart0 to stop working during boot
(no msgs generated by rc scripts were displayed).
Reviewed by: imp
MFC after: 3 weeks
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/xscale/ixp425/uart_bus_ixp425.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/arm/xscale/ixp425/uart_bus_ixp425.c b/sys/arm/xscale/ixp425/uart_bus_ixp425.c index a27557a..b694e9bd 100644 --- a/sys/arm/xscale/ixp425/uart_bus_ixp425.c +++ b/sys/arm/xscale/ixp425/uart_bus_ixp425.c @@ -62,17 +62,15 @@ static driver_t uart_ixp425_driver = { uart_ixp425_methods, sizeof(struct uart_softc), }; +DRIVER_MODULE(uart, ixp, uart_ixp425_driver, uart_devclass, 0, 0); -extern SLIST_HEAD(uart_devinfo_list, uart_devinfo) uart_sysdevs; static int uart_ixp425_probe(device_t dev) { struct uart_softc *sc; sc = device_get_softc(dev); - sc->sc_sysdev = SLIST_FIRST(&uart_sysdevs); sc->sc_class = &uart_ns8250_class; - bcopy(&sc->sc_sysdev->bas, &sc->sc_bas, sizeof(sc->sc_bas)); /* * XXX set UART Unit Enable (0x40) AND * receiver timeout int enable (0x10). @@ -84,8 +82,6 @@ uart_ixp425_probe(device_t dev) bus_space_write_4(&ixp425_a4x_bs_tag, device_get_unit(dev) == 0 ? IXP425_UART0_VBASE : IXP425_UART1_VBASE, IXP425_UART_IER, IXP425_UART_IER_UUE | IXP425_UART_IER_RTOIE); - return(uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0)); -} - -DRIVER_MODULE(uart, ixp, uart_ixp425_driver, uart_devclass, 0, 0); + return uart_bus_probe(dev, 0, IXP425_UART_FREQ, 0, 0); +} |