Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Sep 2003 19:58:55 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 37471 for review
Message-ID:  <200309040258.h842wteX048209@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=37471

Change 37471 by marcel@marcel_nfs on 2003/09/03 19:58:22

	o  Display flow control capabilities of the UART.
	o  Display the line settings (baudrate, parity, databits and
	   stopbits) for system devices.
	
	The SAB 82532 driver (with uncommitted support for HW
	flow control) now announces itself as:
	
		:
	uart0: <SAB 82532 v3.2, channel A> on puc0
	uart0: RTS iflow, CTS oflow
	uart0: console (9600,n,8,1)
	uart1: <SAB 82532 v3.2, channel B> on puc0
	uart1: RTS iflow, CTS oflow
		:

Affected files ...

.. //depot/projects/uart/dev/uart/uart_core.c#26 edit

Differences ...

==== //depot/projects/uart/dev/uart/uart_core.c#26 (text+ko) ====

@@ -345,21 +345,18 @@
 	if (error)
 		goto fail;
 
-	if (sc->sc_sysdev != NULL) {
-		switch (sc->sc_sysdev->type) {
-		case UART_DEV_CONSOLE:
-			device_printf(dev, "console\n");
-			break;
-		case UART_DEV_DBGPORT:
-			device_printf(dev, "debug port\n");
-			break;
-		case UART_DEV_KEYBOARD:
-			device_printf(dev, "keyboard\n");
-			break;
-		default:
-			device_printf(dev, "unknown system device\n");
-			break;
+	if (sc->sc_hwiflow || sc->sc_hwoflow) {
+		sep = "";
+		device_print_prettyname(dev);
+		if (sc->sc_hwiflow) {
+			printf("%sRTS iflow", sep);
+			sep = ", ";
+		}
+		if (sc->sc_hwoflow) {
+			printf("%sCTS oflow", sep);
+			sep = ", ";
 		}
+		printf("\n");
 	}
 
 	if (bootverbose && (sc->sc_fastintr || sc->sc_polled)) {
@@ -376,6 +373,26 @@
 		printf("\n");
 	}
 
+	if (sc->sc_sysdev != NULL) {
+		switch (sc->sc_sysdev->type) {
+		case UART_DEV_CONSOLE:
+			device_printf(dev, "console");
+			break;
+		case UART_DEV_DBGPORT:
+			device_printf(dev, "debug port");
+			break;
+		case UART_DEV_KEYBOARD:
+			device_printf(dev, "keyboard");
+			break;
+		default:
+			device_printf(dev, "unknown system device");
+			break;
+		}
+		printf(" (%d,%c,%d,%d)\n", sc->sc_sysdev->baudrate,
+		    "noems"[sc->sc_sysdev->parity], sc->sc_sysdev->databits,
+		    sc->sc_sysdev->stopbits);
+	}
+
 	error = (sc->sc_sysdev != NULL && sc->sc_sysdev->attach != NULL)
 	    ? (*sc->sc_sysdev->attach)(sc) : uart_tty_attach(sc);
 	if (error)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309040258.h842wteX048209>