diff options
author | ian <ian@FreeBSD.org> | 2013-04-01 00:44:20 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-04-01 00:44:20 +0000 |
commit | 5b38501da66ed672b34922190744d3b78ac38915 (patch) | |
tree | 7e8822165fb7859a3446e9b064f7645e377504e3 /sys/arm/s3c2xx0 | |
parent | 720da1df6b6f787228bb96d6f4ea9475a9918504 (diff) | |
download | FreeBSD-src-5b38501da66ed672b34922190744d3b78ac38915.zip FreeBSD-src-5b38501da66ed672b34922190744d3b78ac38915.tar.gz |
Fix low-level uart drivers that set their fifo sizes in the softc too late.
uart(4) allocates send and receiver buffers in attach() before it calls
the low-level driver's attach routine. Many low-level drivers set the
fifo sizes in their attach routine, which is too late. Other drivers set
them in the probe() routine, so that they're available when uart(4)
allocates buffers. This fixes the ones that were setting the values too
late by moving the code to probe().
Diffstat (limited to 'sys/arm/s3c2xx0')
-rw-r--r-- | sys/arm/s3c2xx0/uart_dev_s3c2410.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/arm/s3c2xx0/uart_dev_s3c2410.c b/sys/arm/s3c2xx0/uart_dev_s3c2410.c index 9bd9c4b..0f9f798 100644 --- a/sys/arm/s3c2xx0/uart_dev_s3c2410.c +++ b/sys/arm/s3c2xx0/uart_dev_s3c2410.c @@ -233,14 +233,6 @@ static kobj_method_t s3c2410_methods[] = { int s3c2410_bus_probe(struct uart_softc *sc) { - return (0); -} - -static int -s3c2410_bus_attach(struct uart_softc *sc) -{ - uintptr_t irq; - switch(s3c2xx0_softc->sc_cpu) { case CPU_S3C2410: sc->sc_txfifosz = 16; @@ -253,7 +245,15 @@ s3c2410_bus_attach(struct uart_softc *sc) default: return (ENXIO); } - + + return (0); +} + +static int +s3c2410_bus_attach(struct uart_softc *sc) +{ + uintptr_t irq; + sc->sc_hwiflow = 0; sc->sc_hwoflow = 0; |