[coreboot] New patch to review: 2052a69 Print a warning when an unknow USB controller type is detected.

Steven A. Falco (sfalco@coincident.com) gerrit at coreboot.org
Thu Jul 14 04:03:38 CEST 2011


Steven A. Falco (sfalco at coincident.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/100

-gerrit

commit 2052a695ec9a3a831d1314742ef736a426c397d1
Author: Steven A. Falco <sfalco at coincident.com>
Date:   Wed Jul 13 21:59:31 2011 -0400

    Print a warning when an unknow USB controller type is detected.
    
    The Intel E6XX Atom processor reports an unknown USB controller type (in
    addition to the standard EHCI and OHCI ones).  Add a default case to
    print a warning when an unknown controller type is detected.
    
    Change-Id: I885d0ccec4c46fd212cceac599290e9bf85edbbb
    Signed-off-by: Steven A. Falco <sfalco at coincident.com>
---
 payloads/libpayload/drivers/usb/usbinit.c |   45 ++++++++++++++++------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/payloads/libpayload/drivers/usb/usbinit.c b/payloads/libpayload/drivers/usb/usbinit.c
index f0d5a60..d3cfbb7 100644
--- a/payloads/libpayload/drivers/usb/usbinit.c
+++ b/payloads/libpayload/drivers/usb/usbinit.c
@@ -70,40 +70,47 @@ usb_controller_initialize (int bus, int dev, int func)
 
 		printf ("%02x:%02x.%x %04x:%04x.%d ", bus, dev, func,
 			pciid >> 16, pciid & 0xFFFF, func);
-		if (prog_if == 0) {
-			printf ("UHCI controller\n");
+		switch(prog_if) {
+			case 0x00:
+				printf ("UHCI controller\n");
 #ifdef CONFIG_USB_UHCI
-			uhci_init (addr);
+				uhci_init (addr);
 #else
-			printf ("Not supported.\n");
+				printf ("Not supported.\n");
 #endif
-		}
-		if (prog_if == 0x10) {
-			printf ("OHCI controller\n");
+				break;
+
+			case 0x10:
+				printf ("OHCI controller\n");
 #ifdef CONFIG_USB_OHCI
-			ohci_init(addr);
+				ohci_init(addr);
 #else
-			printf ("Not supported.\n");
+				printf ("Not supported.\n");
 #endif
+				break;
 
-		}
-		if (prog_if == 0x20) {
-			printf ("EHCI controller\n");
+			case 0x20:
+				printf ("EHCI controller\n");
 #ifdef CONFIG_USB_EHCI
-			ehci_init(addr);
+				ehci_init(addr);
 #else
-			printf ("Not supported.\n");
+				printf ("Not supported.\n");
 #endif
+				break;
 
-		}
-		if (prog_if == 0x30) {
-			printf ("xHCI controller\n");
+			case 0x30:
+				printf ("xHCI controller\n");
 #ifdef CONFIG_USB_XHCI
-			xhci_init(addr);
+				xhci_init(addr);
 #else
-			printf ("Not supported.\n");
+				printf ("Not supported.\n");
 #endif
+				break;
 
+			default:
+				printf ("unknown controller %x not supported\n",
+						prog_if);
+				break;
 		}
 	}
 




More information about the coreboot mailing list