diff options
author | Steven A. Falco <sfalco@coincident.com> | 2011-07-13 21:59:31 -0400 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2011-07-14 08:00:30 +0200 |
commit | 25f23f17bcb2bac9fb5af0f5d6d1d8c1c9ea16ff (patch) | |
tree | d5770a87f8d9cf39b4b0f43fa5730adc02b073be /payloads/libpayload/drivers/usb/usbinit.c | |
parent | 4edbe004b8b8c97900573218974191d2a2b77f1c (diff) | |
download | coreboot-25f23f17bcb2bac9fb5af0f5d6d1d8c1c9ea16ff.tar.xz |
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@coincident.com>
Reviewed-on: http://review.coreboot.org/100
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'payloads/libpayload/drivers/usb/usbinit.c')
-rw-r--r-- | 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 f0d5a60d1e..d3cfbb75e1 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; } } |