[coreboot] Patch set updated for coreboot: c080577 libpayload: Implement usb_exit

Patrick Georgi (patrick@georgi-clan.de) gerrit at coreboot.org
Fri Nov 4 21:28:15 CET 2011


Patrick Georgi (patrick at georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/397

-gerrit

commit c0805779c25bb3819eb9d244fdfd7d7ca894516f
Author: Patrick Georgi <patrick.georgi at secunet.com>
Date:   Fri Nov 4 12:06:06 2011 +0100

    libpayload: Implement usb_exit
    
    So far it was empty and never published. It now exists and shuts down
    all controllers (esp. EHCI which resets the port routers).
    
    Change-Id: I81e355e8a05778d6397675417b085a094a6f48ee
    Signed-off-by: Patrick Georgi <patrick.georgi at secunet.com>
---
 payloads/libpayload/drivers/usb/usb.c     |   16 ++++++++++++++++
 payloads/libpayload/drivers/usb/usbinit.c |    5 -----
 payloads/libpayload/include/libpayload.h  |    1 +
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/payloads/libpayload/drivers/usb/usb.c b/payloads/libpayload/drivers/usb/usb.c
index 4f42332..995b4c2 100644
--- a/payloads/libpayload/drivers/usb/usb.c
+++ b/payloads/libpayload/drivers/usb/usb.c
@@ -68,6 +68,22 @@ detach_controller (hci_t *controller)
 }
 
 /**
+ * Shut down all controllers
+ */
+int
+usb_exit (void)
+{
+	if (usb_hcs == 0)
+		return 0;
+	hci_t *controller = usb_hcs;
+	while (controller != 0) {
+		controller->shutdown(controller);
+		controller = controller->next;
+	}
+	return 0;
+}
+
+/**
  * Polls all hubs on all USB controllers, to find out about device changes
  */
 void
diff --git a/payloads/libpayload/drivers/usb/usbinit.c b/payloads/libpayload/drivers/usb/usbinit.c
index 3964197..8499b82 100644
--- a/payloads/libpayload/drivers/usb/usbinit.c
+++ b/payloads/libpayload/drivers/usb/usbinit.c
@@ -139,8 +139,3 @@ usb_initialize (void)
 	return 0;
 }
 
-int
-usb_exit (void)
-{
-	return 0;
-}
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 80eaaa4..0e892c8 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -123,6 +123,7 @@ void rtc_read_clock(struct tm *tm);
  * @{
  */
 int usb_initialize(void);
+int usb_exit (void);
 int usbhid_havechar(void);
 int usbhid_getchar(void);
 /** @} */




More information about the coreboot mailing list