summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-05-24 16:17:51 +0000
committersam <sam@FreeBSD.org>2007-05-24 16:17:51 +0000
commit96b2598c74345e289772f933830c2cf2b9906277 (patch)
tree4c48d321e0ab9f7436b27dd2379e75f870b110bd /sys/arm
parent7a7c4c420ac6495993c6dea2894beb191ea443fe (diff)
downloadFreeBSD-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.c10
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);
+}
OpenPOWER on IntegriCloud