[coreboot] New patch to review for coreboot: 4ef771d libpayload: Turn the "debug" #define into the usb_debug static inline function.

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Wed Nov 7 00:22:08 CET 2012


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1738

-gerrit

commit 4ef771d1ba65829fd6b19397860515277f1454a2
Author: Gabe Black <gabeblack at google.com>
Date:   Thu Nov 1 15:44:10 2012 -0700

    libpayload: Turn the "debug" #define into the usb_debug static inline function.
    
    The "debug" macro used internally in the libpayload USB subsystem was very
    generically named and would leak into consumers of the library that included
    usb.h directly or indirectly. This change turns that #define from a macro into
    a static inline function to move away from the preprocessor, and also renames
    it to usb_debug so it's less likely to collide with something unrelated.
    
    Change-Id: I18717df111aa9671495f8a2a5bdb2c6311fa7acf
    Signed-off-by: Gabe Black <gabeblack at google.com>
---
 payloads/libpayload/drivers/usb/ehci.c    | 18 ++++++------
 payloads/libpayload/drivers/usb/ehci_rh.c | 12 ++++----
 payloads/libpayload/drivers/usb/ohci.c    | 18 ++++++------
 payloads/libpayload/drivers/usb/ohci_rh.c | 18 ++++++------
 payloads/libpayload/drivers/usb/quirks.c  |  2 +-
 payloads/libpayload/drivers/usb/uhci.c    | 46 +++++++++++++++----------------
 payloads/libpayload/drivers/usb/uhci_rh.c | 18 ++++++------
 payloads/libpayload/drivers/usb/usb.c     | 28 +++++++++----------
 payloads/libpayload/drivers/usb/usbhid.c  | 18 ++++++------
 payloads/libpayload/drivers/usb/usbhub.c  |  4 +--
 payloads/libpayload/drivers/usb/usbmsc.c  | 18 ++++++------
 payloads/libpayload/drivers/usb/xhci.c    | 36 ++++++++++++------------
 payloads/libpayload/drivers/usb/xhci_rh.c |  8 +++---
 payloads/libpayload/include/usb/usb.h     | 10 +++++--
 14 files changed, 129 insertions(+), 125 deletions(-)

diff --git a/payloads/libpayload/drivers/usb/ehci.c b/payloads/libpayload/drivers/usb/ehci.c
index 4d0a209..29b399a 100644
--- a/payloads/libpayload/drivers/usb/ehci.c
+++ b/payloads/libpayload/drivers/usb/ehci.c
@@ -34,8 +34,8 @@
 static void dump_td(u32 addr)
 {
 	qtd_t *td = phys_to_virt(addr);
-	debug("td at phys(%x): status: %x\n\n", addr, td->token & QTD_STATUS_MASK);
-	debug("-   cerr: %x, total_len: %x\n\n", (td->token & QTD_CERR_MASK) >> QTD_CERR_SHIFT,
+	usb_debug("td at phys(%x): status: %x\n\n", addr, td->token & QTD_STATUS_MASK);
+	usb_debug("-   cerr: %x, total_len: %x\n\n", (td->token & QTD_CERR_MASK) >> QTD_CERR_SHIFT,
 		(td->token & QTD_TOTAL_LEN_MASK) >> QTD_TOTAL_LEN_SHIFT);
 }
 
@@ -70,7 +70,7 @@ static int ehci_set_periodic_schedule(ehci_t *ehcic, int enable)
 			&& timeout--)
 		mdelay(1);
 	if (timeout < 0) {
-		debug("ehci periodic schedule status change timed out.\n");
+		usb_debug("ehci periodic schedule status change timed out.\n");
 		return 1;
 	}
 	return 0;
@@ -110,7 +110,7 @@ static int closest_usb2_hub(const usbdev_t *dev, int *const addr, int *const por
 		*port = usb1dev->port;
 		return 0;
 	} else {
-		debug("ehci: Couldn't find closest USB2.0 hub.\n");
+		usb_debug("ehci: Couldn't find closest USB2.0 hub.\n");
 		return 1;
 	}
 }
@@ -192,7 +192,7 @@ static int wait_for_tds(qtd_t *head)
 		if (cur->token & QTD_HALTED) {
 			printf("ERROR with packet\n");
 			dump_td(virt_to_phys(cur));
-			debug("-----------------\n");
+			usb_debug("-----------------\n");
 			return 1;
 		}
 		if (cur->next_qtd & 1) {
@@ -200,7 +200,7 @@ static int wait_for_tds(qtd_t *head)
 		}
 		if (0) dump_td(virt_to_phys(cur));
 		/* helps debugging the TD chain */
-		if (0) debug("\nmoving from %x to %x\n", cur, phys_to_virt(cur->next_qtd));
+		if (0) usb_debug("\nmoving from %x to %x\n", cur, phys_to_virt(cur->next_qtd));
 		cur = phys_to_virt(cur->next_qtd);
 	}
 	return result;
@@ -222,7 +222,7 @@ static int ehci_set_async_schedule(ehci_t *ehcic, int enable)
 			&& timeout--)
 		mdelay(1);
 	if (timeout < 0) {
-		debug("ehci async schedule status change timed out.\n");
+		usb_debug("ehci async schedule status change timed out.\n");
 		return 1;
 	}
 	return 0;
@@ -590,7 +590,7 @@ static u8 *ehci_poll_intr_queue(void *const queue)
 		if (!(intrq->head->td.token & QTD_STATUS_MASK))
 			ret = intrq->head->data;
 		else
-			debug("ehci_poll_intr_queue: transfer failed, "
+			usb_debug("ehci_poll_intr_queue: transfer failed, "
 				"status == 0x%02x\n",
 				intrq->head->td.token & QTD_STATUS_MASK);
 
@@ -606,7 +606,7 @@ static u8 *ehci_poll_intr_queue(void *const queue)
 	}
 	/* reset queue if we fully processed it after underrun */
 	else if (intrq->qh.td.next_qtd & QTD_TERMINATE) {
-		debug("resetting underrun ehci interrupt queue.\n");
+		usb_debug("resetting underrun ehci interrupt queue.\n");
 		memset(&intrq->qh.td, 0, sizeof(intrq->qh.td));
 		intrq->qh.td.next_qtd = virt_to_phys(&intrq->head->td);
 	}
diff --git a/payloads/libpayload/drivers/usb/ehci_rh.c b/payloads/libpayload/drivers/usb/ehci_rh.c
index 5f92bd7..f58e1cf 100644
--- a/payloads/libpayload/drivers/usb/ehci_rh.c
+++ b/payloads/libpayload/drivers/usb/ehci_rh.c
@@ -53,7 +53,7 @@ ehci_rh_destroy (usbdev_t *dev)
 static void
 ehci_rh_hand_over_port (usbdev_t *dev, int port)
 {
-	debug("giving up port %x, it's USB1\n", port+1);
+	usb_debug("giving up port %x, it's USB1\n", port+1);
 
 	/* Clear ConnectStatusChange before evaluation */
 	/* RW/C register, so clear it by writing 1 */
@@ -67,7 +67,7 @@ ehci_rh_hand_over_port (usbdev_t *dev, int port)
 	while (!(RH_INST(dev)->ports[port] & P_CONN_STATUS_CHANGE) && timeout--)
 		mdelay(10);
 	if (!(RH_INST(dev)->ports[port] & P_CONN_STATUS_CHANGE)) {
-		debug("Warning: Handing port over to companion timed out.\n");
+		usb_debug("Warning: Handing port over to companion timed out.\n");
 	}
 
 	/* RW/C register, so clear it by writing 1 */
@@ -79,7 +79,7 @@ static void
 ehci_rh_scanport (usbdev_t *dev, int port)
 {
 	if (RH_INST(dev)->devices[port]!=-1) {
-		debug("Unregister device at port %x\n", port+1);
+		usb_debug("Unregister device at port %x\n", port+1);
 		usb_detach_device(dev->controller, RH_INST(dev)->devices[port]);
 		RH_INST(dev)->devices[port]=-1;
 	}
@@ -118,7 +118,7 @@ ehci_rh_scanport (usbdev_t *dev, int port)
 			ehci_rh_hand_over_port(dev, port);
 			return;
 		}
-		debug("port %x hosts a USB2 device\n", port+1);
+		usb_debug("port %x hosts a USB2 device\n", port+1);
 		RH_INST(dev)->devices[port] = usb_attach_device(dev->controller, dev->address, port, 2);
 	}
 	/* RW/C register, so clear it by writing 1 */
@@ -157,14 +157,14 @@ ehci_rh_init (usbdev_t *dev)
 	RH_INST(dev)->n_ports = EHCI_INST(dev->controller)->capabilities->hcsparams & HCS_NPORTS_MASK;
 	RH_INST(dev)->ports = EHCI_INST(dev->controller)->operation->portsc;
 
-	debug("root hub has %x ports\n", RH_INST(dev)->n_ports);
+	usb_debug("root hub has %x ports\n", RH_INST(dev)->n_ports);
 
 	/* If the host controller has port power control, enable power on
 	 * all ports and wait 20ms.
 	 */
 	if (EHCI_INST(dev->controller)->capabilities->hcsparams
 			& HCS_PORT_POWER_CONTROL) {
-		debug("host controller has port power control, "
+		usb_debug("host controller has port power control, "
 				"giving power to all ports.\n");
 		for (i=0; i < RH_INST(dev)->n_ports; i++)
 			RH_INST(dev)->ports[i] |= P_PP;
diff --git a/payloads/libpayload/drivers/usb/ohci.c b/payloads/libpayload/drivers/usb/ohci.c
index 5708515..095eec9 100644
--- a/payloads/libpayload/drivers/usb/ohci.c
+++ b/payloads/libpayload/drivers/usb/ohci.c
@@ -206,9 +206,9 @@ dump_td(td_t *cur, int level)
 #ifdef USB_DEBUG
 	static const char *spaces="          ";
 	const char *spc=spaces+(10-level);
-	debug("%std at %x (%s), condition code: %s\n", spc, cur, direction[(cur->config & TD_DIRECTION_MASK) >> TD_DIRECTION_SHIFT],
+	usb_debug("%std at %x (%s), condition code: %s\n", spc, cur, direction[(cur->config & TD_DIRECTION_MASK) >> TD_DIRECTION_SHIFT],
 		completion_codes[(cur->config & TD_CC_MASK) >> TD_CC_SHIFT]);
-	debug("%s toggle: %x\n", spc, !!(cur->config & TD_TOGGLE_DATA1));
+	usb_debug("%s toggle: %x\n", spc, !!(cur->config & TD_TOGGLE_DATA1));
 #endif
 }
 
@@ -227,7 +227,7 @@ wait_for_ed(usbdev_t *dev, ed_t *head, int pages)
 		timeout--) {
 		/* don't log every ms */
 		if (!(timeout % 100))
-		debug("intst: %x; ctrl: %x; cmdst: %x; head: %x -> %x, tail: %x, condition: %x\n",
+		usb_debug("intst: %x; ctrl: %x; cmdst: %x; head: %x -> %x, tail: %x, condition: %x\n",
 			OHCI_INST(dev->controller)->opreg->HcInterruptStatus,
 			OHCI_INST(dev->controller)->opreg->HcControl,
 			OHCI_INST(dev->controller)->opreg->HcCommandStatus,
@@ -244,7 +244,7 @@ wait_for_ed(usbdev_t *dev, ed_t *head, int pages)
 	ohci_process_done_queue(OHCI_INST(dev->controller), 1);
 
 	if (head->head_pointer & 1) {
-		debug("HALTED!\n");
+		usb_debug("HALTED!\n");
 		return 1;
 	}
 	return 0;
@@ -363,7 +363,7 @@ ohci_control (usbdev_t *dev, direction_t dir, int drlen, void *devreq, int dalen
 	head->tail_pointer = virt_to_phys(final_td);
 	head->head_pointer = virt_to_phys(first_td);
 
-	debug("doing control transfer with %x. first_td at %x\n",
+	usb_debug("doing control transfer with %x. first_td at %x\n",
 		head->config & ED_FUNC_MASK, virt_to_phys(first_td));
 
 	/* activate schedule */
@@ -389,7 +389,7 @@ static int
 ohci_bulk (endpoint_t *ep, int dalen, u8 *data, int finalize)
 {
 	int i;
-	debug("bulk: %x bytes from %x, finalize: %x, maxpacketsize: %x\n", dalen, data, finalize, ep->maxpacketsize);
+	usb_debug("bulk: %x bytes from %x, finalize: %x, maxpacketsize: %x\n", dalen, data, finalize, ep->maxpacketsize);
 
 	td_t *cur, *next;
 
@@ -465,7 +465,7 @@ ohci_bulk (endpoint_t *ep, int dalen, u8 *data, int finalize)
 	head->tail_pointer = virt_to_phys(cur);
 	head->head_pointer = virt_to_phys(first_td) | (ep->toggle?ED_TOGGLE:0);
 
-	debug("doing bulk transfer with %x(%x). first_td at %x, last %x\n",
+	usb_debug("doing bulk transfer with %x(%x). first_td at %x, last %x\n",
 		head->config & ED_FUNC_MASK,
 		(head->config & ED_EP_MASK) >> ED_EP_SHIFT,
 		virt_to_phys(first_td), virt_to_phys(cur));
@@ -738,7 +738,7 @@ ohci_process_done_queue(ohci_t *const ohci, const int spew_debug)
 		++i;
 	}
 	if (spew_debug)
-		debug("Processed %d done TDs.\n", i);
+		usb_debug("Processed %d done TDs.\n", i);
 
 	j = 0;
 	/* Process interrupt queue TDs in right order. */
@@ -763,6 +763,6 @@ ohci_process_done_queue(ohci_t *const ohci, const int spew_debug)
 		++j;
 	}
 	if (spew_debug)
-		debug("processed %d done tds, %d intr tds thereof.\n", i, j);
+		usb_debug("processed %d done tds, %d intr tds thereof.\n", i, j);
 }
 
diff --git a/payloads/libpayload/drivers/usb/ohci_rh.c b/payloads/libpayload/drivers/usb/ohci_rh.c
index ac92f45..eb3e10b 100644
--- a/payloads/libpayload/drivers/usb/ohci_rh.c
+++ b/payloads/libpayload/drivers/usb/ohci_rh.c
@@ -65,17 +65,17 @@ ohci_rh_enable_port (usbdev_t *dev, int port)
 		}
 		if (OHCI_INST (dev->controller)->opreg->HcRhPortStatus[port]
 				& PortResetStatus) {
-			debug("Warning: root-hub port reset timed out.\n");
+			usb_debug("Warning: root-hub port reset timed out.\n");
 			break;
 		}
 		if ((200-timeout) < 20)
-			debug("Warning: port reset too short: %dms; "
+			usb_debug("Warning: port reset too short: %dms; "
 					"should be at least 10ms.\n",
 					(200-timeout)/2);
 		/* clear reset status change */
 		OHCI_INST (dev->controller)->opreg->HcRhPortStatus[port] =
 			PortResetStatusChange;
-		debug ("rh port reset finished after %dms.\n", (200-timeout)/2);
+		usb_debug ("rh port reset finished after %dms.\n", (200-timeout)/2);
 	}
 }
 
@@ -96,7 +96,7 @@ static void
 ohci_rh_scanport (usbdev_t *dev, int port)
 {
 	if (port >= RH_INST(dev)->numports) {
-		debug("Invalid port %d\n", port);
+		usb_debug("Invalid port %d\n", port);
 		return;
 	}
 
@@ -117,7 +117,7 @@ ohci_rh_scanport (usbdev_t *dev, int port)
 	mdelay(100); // wait for signal to stabilize
 
 	if (!(OHCI_INST(dev->controller)->opreg->HcRhPortStatus[port] & PortEnableStatus)) {
-		debug ("port enable failed\n");
+		usb_debug ("port enable failed\n");
 		return;
 	}
 
@@ -132,12 +132,12 @@ ohci_rh_report_port_changes (usbdev_t *dev)
 
 	if (!(OHCI_INST (dev->controller)->opreg->HcInterruptStatus & RootHubStatusChange)) return -1;
 	OHCI_INST (dev->controller)->opreg->HcInterruptStatus = RootHubStatusChange;
-	debug("port change\n");
+	usb_debug("port change\n");
 
 	for (i = 0; i < RH_INST(dev)->numports; i++) {
 		// maybe detach+attach happened between two scans?
 		if (OHCI_INST (dev->controller)->opreg->HcRhPortStatus[i] & ConnectStatusChange) {
-			debug("attachment change on port %d\n", i);
+			usb_debug("attachment change on port %d\n", i);
 			return i;
 		}
 	}
@@ -177,7 +177,7 @@ ohci_rh_init (usbdev_t *dev)
 
 	RH_INST (dev)->numports = OHCI_INST (dev->controller)->opreg->HcRhDescriptorA & NumberDownstreamPortsMask;
 	RH_INST (dev)->port = malloc(sizeof(int) * RH_INST (dev)->numports);
-	debug("%d ports registered\n", RH_INST (dev)->numports);
+	usb_debug("%d ports registered\n", RH_INST (dev)->numports);
 
 	for (i = 0; i < RH_INST (dev)->numports; i++) {
 		ohci_rh_enable_port (dev, i);
@@ -190,5 +190,5 @@ ohci_rh_init (usbdev_t *dev)
 	dev->hub = -1;
 	dev->port = -1;
 
-	debug("rh init done\n");
+	usb_debug("rh init done\n");
 }
diff --git a/payloads/libpayload/drivers/usb/quirks.c b/payloads/libpayload/drivers/usb/quirks.c
index 96acd08..a8f2622 100644
--- a/payloads/libpayload/drivers/usb/quirks.c
+++ b/payloads/libpayload/drivers/usb/quirks.c
@@ -64,7 +64,7 @@ u32 usb_quirk_check(u16 vendor, u16 device)
 	for (i = 0; i < ARRAY_SIZE(usb_quirks); i++) {
 		if ((usb_quirks[i].vendor == vendor) &&
 				(usb_quirks[i].device == device)) {
-			debug("USB quirks enabled: %08x\n",
+			usb_debug("USB quirks enabled: %08x\n",
 					usb_quirks[i].quirks);
 			return usb_quirks[i].quirks;
 		}
diff --git a/payloads/libpayload/drivers/usb/uhci.c b/payloads/libpayload/drivers/usb/uhci.c
index 7647707..ab4f798 100644
--- a/payloads/libpayload/drivers/usb/uhci.c
+++ b/payloads/libpayload/drivers/usb/uhci.c
@@ -50,14 +50,14 @@ static u8* uhci_poll_intr_queue (void *queue);
 static void
 uhci_dump (hci_t *controller)
 {
-	debug ("dump:\nUSBCMD: %x\n", uhci_reg_read16 (controller, USBCMD));
-	debug ("USBSTS: %x\n", uhci_reg_read16 (controller, USBSTS));
-	debug ("USBINTR: %x\n", uhci_reg_read16 (controller, USBINTR));
-	debug ("FRNUM: %x\n", uhci_reg_read16 (controller, FRNUM));
-	debug ("FLBASEADD: %x\n", uhci_reg_read32 (controller, FLBASEADD));
-	debug ("SOFMOD: %x\n", uhci_reg_read8 (controller, SOFMOD));
-	debug ("PORTSC1: %x\n", uhci_reg_read16 (controller, PORTSC1));
-	debug ("PORTSC2: %x\n", uhci_reg_read16 (controller, PORTSC2));
+	usb_debug ("dump:\nUSBCMD: %x\n", uhci_reg_read16 (controller, USBCMD));
+	usb_debug ("USBSTS: %x\n", uhci_reg_read16 (controller, USBSTS));
+	usb_debug ("USBINTR: %x\n", uhci_reg_read16 (controller, USBINTR));
+	usb_debug ("FRNUM: %x\n", uhci_reg_read16 (controller, FRNUM));
+	usb_debug ("FLBASEADD: %x\n", uhci_reg_read32 (controller, FLBASEADD));
+	usb_debug ("SOFMOD: %x\n", uhci_reg_read8 (controller, SOFMOD));
+	usb_debug ("PORTSC1: %x\n", uhci_reg_read16 (controller, PORTSC1));
+	usb_debug ("PORTSC2: %x\n", uhci_reg_read16 (controller, PORTSC2));
 }
 #endif
 
@@ -80,22 +80,22 @@ td_dump (td_t *td)
 			sprintf(td_value, "%x", td->token & TD_PID_MASK);
 			td_type=td_value;
 	}
-	debug ("%s packet (at %lx) to %x.%x failed\n", td_type,
+	usb_debug ("%s packet (at %lx) to %x.%x failed\n", td_type,
 		virt_to_phys (td), (td->token & TD_DEVADDR_MASK) >> TD_DEVADDR_SHIFT,
 		(td->token & TD_EP_MASK) >> TD_EP_SHIFT);
-	debug ("td (counter at %x) returns: ", td->ctrlsts >> TD_COUNTER_SHIFT);
-	debug (" bitstuff err: %x, ", !!(td->ctrlsts & TD_STATUS_BITSTUFF_ERR));
-	debug (" CRC err: %x, ", !!(td->ctrlsts & TD_STATUS_CRC_ERR));
-	debug (" NAK rcvd: %x, ", !!(td->ctrlsts & TD_STATUS_NAK_RCVD));
-	debug (" Babble: %x, ", !!(td->ctrlsts & TD_STATUS_BABBLE));
-	debug (" Data Buffer err: %x, ", !!(td->ctrlsts & TD_STATUS_DATABUF_ERR));
-	debug (" Stalled: %x, ", !!(td->ctrlsts & TD_STATUS_STALLED));
-	debug (" Active: %x\n", !!(td->ctrlsts & TD_STATUS_ACTIVE));
+	usb_debug ("td (counter at %x) returns: ", td->ctrlsts >> TD_COUNTER_SHIFT);
+	usb_debug (" bitstuff err: %x, ", !!(td->ctrlsts & TD_STATUS_BITSTUFF_ERR));
+	usb_debug (" CRC err: %x, ", !!(td->ctrlsts & TD_STATUS_CRC_ERR));
+	usb_debug (" NAK rcvd: %x, ", !!(td->ctrlsts & TD_STATUS_NAK_RCVD));
+	usb_debug (" Babble: %x, ", !!(td->ctrlsts & TD_STATUS_BABBLE));
+	usb_debug (" Data Buffer err: %x, ", !!(td->ctrlsts & TD_STATUS_DATABUF_ERR));
+	usb_debug (" Stalled: %x, ", !!(td->ctrlsts & TD_STATUS_STALLED));
+	usb_debug (" Active: %x\n", !!(td->ctrlsts & TD_STATUS_ACTIVE));
 	if (td->ctrlsts & TD_STATUS_BABBLE)
-		debug (" Babble because of %s\n",
+		usb_debug (" Babble because of %s\n",
 			(td->ctrlsts & TD_STATUS_BITSTUFF_ERR) ? "host" : "device");
 	if (td->ctrlsts & TD_STATUS_ACTIVE)
-		debug (" still active - timeout?\n");
+		usb_debug (" still active - timeout?\n");
 }
 
 static void
@@ -113,12 +113,12 @@ uhci_reset (hci_t *controller)
 	while (((uhci_reg_read16 (controller, USBCMD) & 2) != 0) && timeout--)
 		udelay (500);
 	if (timeout < 0)
-		debug ("Warning: uhci: host controller reset timed out.\n");
+		usb_debug ("Warning: uhci: host controller reset timed out.\n");
 
 	uhci_reg_write32 (controller, FLBASEADD,
 			  (u32) virt_to_phys (UHCI_INST (controller)->
 					      framelistptr));
-	//debug ("framelist at %p\n",UHCI_INST(controller)->framelistptr);
+	//usb_debug ("framelist at %p\n",UHCI_INST(controller)->framelistptr);
 
 	/* disable irqs */
 	uhci_reg_write16 (controller, USBINTR, 0);
@@ -364,7 +364,7 @@ uhci_control (usbdev_t *dev, direction_t dir, int drlen, void *devreq, int dalen
 	if (td == 0) {
 		result = 0;
 	} else {
-		debug ("control packet, req %x\n", req);
+		usb_debug ("control packet, req %x\n", req);
 		td_dump (td);
 		result = 1;
 	}
@@ -445,7 +445,7 @@ uhci_bulk (endpoint_t *ep, int size, u8 *data, int finalize)
 		size -= maxpsize;
 	}
 	if (run_schedule (ep->dev, tds) == 1) {
-		debug("Stalled. Trying to clean up.\n");
+		usb_debug("Stalled. Trying to clean up.\n");
 		clear_stall (ep);
 		free (tds);
 		return 1;
diff --git a/payloads/libpayload/drivers/usb/uhci_rh.c b/payloads/libpayload/drivers/usb/uhci_rh.c
index 547f064..44ba498 100644
--- a/payloads/libpayload/drivers/usb/uhci_rh.c
+++ b/payloads/libpayload/drivers/usb/uhci_rh.c
@@ -49,7 +49,7 @@ uhci_rh_enable_port (usbdev_t *dev, int port)
 	else if (port == 2)
 		port = PORTSC2;
 	else {
-		debug("Invalid port %d\n", port);
+		usb_debug("Invalid port %d\n", port);
 		return;
 	}
 
@@ -73,7 +73,7 @@ uhci_rh_enable_port (usbdev_t *dev, int port)
 		udelay(500); timeout--;
 	} while (((value & (1 << 2)) == 0) && (value & 0x01) && timeout);
 	if (!timeout)
-		debug("Warning: uhci_rh: port enabling timed out.\n");
+		usb_debug("Warning: uhci_rh: port enabling timed out.\n");
 }
 
 /* disable root hub */
@@ -86,7 +86,7 @@ uhci_rh_disable_port (usbdev_t *dev, int port)
 	else if (port == 2)
 		port = PORTSC2;
 	else {
-		debug("Invalid port %d\n", port);
+		usb_debug("Invalid port %d\n", port);
 		return;
 	}
 	uhci_reg_write16(controller, port,
@@ -100,7 +100,7 @@ uhci_rh_disable_port (usbdev_t *dev, int port)
 		udelay(500); timeout--;
 	} while (((value & (1 << 2)) != 0) && timeout);
 	if (!timeout)
-		debug("Warning: uhci_rh: port disabling timed out.\n");
+		usb_debug("Warning: uhci_rh: port disabling timed out.\n");
 }
 
 static void
@@ -114,7 +114,7 @@ uhci_rh_scanport (usbdev_t *dev, int port)
 		portsc = PORTSC2;
 		offset = 1;
 	} else {
-		debug("Invalid port %d\n", port);
+		usb_debug("Invalid port %d\n", port);
 		return;
 	}
 	int devno = RH_INST (dev)->port[offset];
@@ -147,25 +147,25 @@ uhci_rh_report_port_changes (usbdev_t *dev)
 	stored = (RH_INST (dev)->port[0] == -1);
 	real = ((uhci_reg_read16 (dev->controller, PORTSC1) & 1) == 0);
 	if (stored != real) {
-		debug("change on port 1\n");
+		usb_debug("change on port 1\n");
 		return 1;
 	}
 
 	stored = (RH_INST (dev)->port[1] == -1);
 	real = ((uhci_reg_read16 (dev->controller, PORTSC2) & 1) == 0);
 	if (stored != real) {
-		debug("change on port 2\n");
+		usb_debug("change on port 2\n");
 		return 2;
 	}
 
 	// maybe detach+attach happened between two scans?
 
 	if ((uhci_reg_read16 (dev->controller, PORTSC1) & 2) > 0) {
-		debug("possibly re-attached on port 1\n");
+		usb_debug("possibly re-attached on port 1\n");
 		return 1;
 	}
 	if ((uhci_reg_read16 (dev->controller, PORTSC2) & 2) > 0) {
-		debug("possibly re-attached on port 2\n");
+		usb_debug("possibly re-attached on port 2\n");
 		return 2;
 	}
 
diff --git a/payloads/libpayload/drivers/usb/usb.c b/payloads/libpayload/drivers/usb/usb.c
index d5514f9..e51adac 100644
--- a/payloads/libpayload/drivers/usb/usb.c
+++ b/payloads/libpayload/drivers/usb/usb.c
@@ -108,7 +108,7 @@ void
 init_device_entry (hci_t *controller, int i)
 {
 	if (controller->devices[i] != 0)
-		debug("warning: device %d reassigned?\n", i);
+		usb_debug("warning: device %d reassigned?\n", i);
 	controller->devices[i] = malloc(sizeof(usbdev_t));
 	controller->devices[i]->controller = controller;
 	controller->devices[i]->address = -1;
@@ -162,13 +162,13 @@ get_descriptor (usbdev_t *dev, unsigned char bmRequestType, int descType,
 	dr.wIndex = langID;
 	dr.wLength = 8;
 	if (dev->controller->control (dev, IN, sizeof (dr), &dr, 8, buf)) {
-		debug ("getting descriptor size (type %x) failed\n",
+		usb_debug ("getting descriptor size (type %x) failed\n",
 			descType);
 	}
 
 	if (descType == 1) {
 		device_descriptor_t *dd = (device_descriptor_t *) buf;
-		debug ("maxPacketSize0: %x\n", dd->bMaxPacketSize0);
+		usb_debug ("maxPacketSize0: %x\n", dd->bMaxPacketSize0);
 		if (dd->bMaxPacketSize0 != 0)
 			dev->endpoints[0].maxpacketsize = dd->bMaxPacketSize0;
 	}
@@ -186,7 +186,7 @@ get_descriptor (usbdev_t *dev, unsigned char bmRequestType, int descType,
 	dr.wLength = size;
 	if (dev->controller->
 	    control (dev, IN, sizeof (dr), &dr, size, result)) {
-		debug ("getting descriptor (type %x, size %x) failed\n",
+		usb_debug ("getting descriptor (type %x, size %x) failed\n",
 			descType, size);
 	}
 
@@ -242,7 +242,7 @@ get_free_address (hci_t *controller)
 		if (controller->devices[i] == 0)
 			return i;
 	}
-	debug ("no free address found\n");
+	usb_debug ("no free address found\n");
 	return -1;		// no free address
 }
 
@@ -277,7 +277,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 	dev->endpoints[0].direction = SETUP;
 	mdelay (50);
 	if (dev->controller->control (dev, OUT, sizeof (dr), &dr, 0, 0)) {
-		debug ("set_address failed\n");
+		usb_debug ("set_address failed\n");
 		return -1;
 	}
 	mdelay (50);
@@ -291,7 +291,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 		 dd->bcdUSB >> 8, dd->bcdUSB & 0xff);
 	dev->quirks = usb_quirk_check(dd->idVendor, dd->idProduct);
 
-	debug ("\ndevice has %x configurations\n", dd->bNumConfigurations);
+	usb_debug ("\ndevice has %x configurations\n", dd->bNumConfigurations);
 	if (dd->bNumConfigurations == 0) {
 		/* device isn't usable */
 		printf ("... no usable configuration!\n");
@@ -309,7 +309,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 		int i;
 		int num = cd->bNumInterfaces;
 		interface_descriptor_t *current = interface;
-		debug ("device has %x interfaces\n", num);
+		usb_debug ("device has %x interfaces\n", num);
 		if (num > 1) {
 			int interfaces = usb_interface_check(dd->idVendor, dd->idProduct);
 			if (interfaces) {
@@ -331,7 +331,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 		}
 		for (i = 0; i < num; i++) {
 			int j;
-			debug (" #%x has %x endpoints, interface %x:%x, protocol %x\n",
+			usb_debug (" #%x has %x endpoints, interface %x:%x, protocol %x\n",
 					current->bInterfaceNumber, current->bNumEndpoints, current->bInterfaceClass, current->bInterfaceSubClass, current->bInterfaceProtocol);
 			endpoint_descriptor_t *endp =
 				(endpoint_descriptor_t *) (((char *) current)
@@ -349,7 +349,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 				static const char *transfertypes[4] = {
 					"control", "isochronous", "bulk", "interrupt"
 				};
-				debug ("   #%x: Endpoint %x (%s), max packet size %x, type %s\n", j, endp->bEndpointAddress & 0x7f, ((endp->bEndpointAddress & 0x80) != 0) ? "in" : "out", endp->wMaxPacketSize, transfertypes[endp->bmAttributes]);
+				usb_debug ("   #%x: Endpoint %x (%s), max packet size %x, type %s\n", j, endp->bEndpointAddress & 0x7f, ((endp->bEndpointAddress & 0x80) != 0) ? "in" : "out", endp->wMaxPacketSize, transfertypes[endp->bmAttributes]);
 #endif
 				endpoint_t *ep =
 					&dev->endpoints[dev->num_endp++];
@@ -403,7 +403,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 #ifdef CONFIG_USB_HID
 		controller->devices[adr]->init = usb_hid_init;
 #else
-		debug ("NOTICE: USB HID support not compiled in\n");
+		usb_debug ("NOTICE: USB HID support not compiled in\n");
 #endif
 		break;
 	case physical_device:
@@ -420,7 +420,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 #ifdef CONFIG_USB_MSC
 		controller->devices[adr]->init = usb_msc_init;
 #else
-		debug ("NOTICE: USB MSC support not compiled in\n");
+		usb_debug ("NOTICE: USB MSC support not compiled in\n");
 #endif
 		break;
 	case hub_device:
@@ -428,7 +428,7 @@ set_address (hci_t *controller, int speed, int hubport, int hubaddr)
 #ifdef CONFIG_USB_HUB
 		controller->devices[adr]->init = usb_hub_init;
 #else
-		debug ("NOTICE: USB hub support not compiled in.\n");
+		usb_debug ("NOTICE: USB hub support not compiled in.\n");
 #endif
 		break;
 	case cdc_device:
@@ -480,7 +480,7 @@ int
 usb_attach_device(hci_t *controller, int hubaddress, int port, int speed)
 {
 	static const char* speeds[] = { "full", "low", "high" };
-	debug ("%sspeed device\n", (speed <= 2) ? speeds[speed] : "invalid value - no");
+	usb_debug ("%sspeed device\n", (speed <= 2) ? speeds[speed] : "invalid value - no");
 	int newdev = set_address (controller, speed, port, hubaddress);
 	if (newdev == -1)
 		return -1;
diff --git a/payloads/libpayload/drivers/usb/usbhid.c b/payloads/libpayload/drivers/usb/usbhid.c
index d5141c6..496fbaa 100644
--- a/payloads/libpayload/drivers/usb/usbhid.c
+++ b/payloads/libpayload/drivers/usb/usbhid.c
@@ -324,7 +324,7 @@ usb_hid_process_keyboard_event(usb_hid_keyboard_event_t *current,
 
 		if (keypress == -1) {
 			/* Debug: Print unknown keys */
-			debug ("usbhid: <%x> %x [ %x %x %x %x %x %x ] %d\n",
+			usb_debug ("usbhid: <%x> %x [ %x %x %x %x %x %x ] %d\n",
 				current->modifiers, current->repeats,
 			current->keys[0], current->keys[1],
 			current->keys[2], current->keys[3],
@@ -429,18 +429,18 @@ usb_hid_init (usbdev_t *dev)
 
 	if (interface->bInterfaceSubClass == hid_subclass_boot) {
 		u8 countrycode;
-		debug ("  supports boot interface..\n");
-		debug ("  it's a %s\n",
+		usb_debug ("  supports boot interface..\n");
+		usb_debug ("  it's a %s\n",
 			boot_protos[interface->bInterfaceProtocol]);
 		switch (interface->bInterfaceProtocol) {
 		case hid_boot_proto_keyboard:
 			dev->data = malloc (sizeof (usbhid_inst_t));
 			if (!dev->data)
 				fatal("Not enough memory for USB HID device.\n");
-			debug ("  configuring...\n");
+			usb_debug ("  configuring...\n");
 			usb_hid_set_protocol(dev, interface, hid_proto_boot);
 			usb_hid_set_idle(dev, interface, KEYBOARD_REPEAT_MS);
-			debug ("  activating...\n");
+			usb_debug ("  activating...\n");
 
 			HID_INST (dev)->descriptor =
 				(hid_descriptor_t *)
@@ -451,7 +451,7 @@ usb_hid_init (usbdev_t *dev)
 			/* 35 countries defined: */
 			if (countrycode > 35)
 				countrycode = 0;
-			debug ("  Keyboard has %s layout (country code %02x)\n",
+			usb_debug ("  Keyboard has %s layout (country code %02x)\n",
 					countries[countrycode][0], countrycode);
 
 			/* Set keyboard layout accordingly */
@@ -470,14 +470,14 @@ usb_hid_init (usbdev_t *dev)
 					continue;
 				break;
 			}
-			debug ("  found endpoint %x for interrupt-in\n", i);
+			usb_debug ("  found endpoint %x for interrupt-in\n", i);
 			/* 20 buffers of 8 bytes, for every 10 msecs */
 			HID_INST(dev)->queue = dev->controller->create_intr_queue (&dev->endpoints[i], 8, 20, 10);
 			keycount = 0;
-			debug ("  configuration done.\n");
+			usb_debug ("  configuration done.\n");
 			break;
 		case hid_boot_proto_mouse:
-			debug("NOTICE: USB mice are not supported.\n");
+			usb_debug("NOTICE: USB mice are not supported.\n");
 			break;
 		}
 	}
diff --git a/payloads/libpayload/drivers/usb/usbhub.c b/payloads/libpayload/drivers/usb/usbhub.c
index 09ab9cc..47215fc 100644
--- a/payloads/libpayload/drivers/usb/usbhub.c
+++ b/payloads/libpayload/drivers/usb/usbhub.c
@@ -97,7 +97,7 @@ usb_hub_scanport (usbdev_t *dev, int port)
 		mdelay(1); timeout--;
 	} while ((buf[0] & PORT_RESET) && timeout);
 	if (!timeout)
-		debug("Warning: usbhub: port reset timed out.\n");
+		usb_debug("Warning: usbhub: port reset timed out.\n");
 
 	/* wait for port to be enabled. the hub is responsible for this */
 	timeout = 500; /* time out after 500ms */
@@ -106,7 +106,7 @@ usb_hub_scanport (usbdev_t *dev, int port)
 		mdelay(1); timeout--;
 	} while (!(buf[0] & PORT_ENABLE) && timeout);
 	if (!timeout)
-		debug("Warning: usbhub: port enabling timed out.\n");
+		usb_debug("Warning: usbhub: port enabling timed out.\n");
 
 	get_status (dev, port, DR_PORT, 4, buf);
 	/* bit  10  9
diff --git a/payloads/libpayload/drivers/usb/usbmsc.c b/payloads/libpayload/drivers/usb/usbmsc.c
index 8f23247..5cfb3c6 100644
--- a/payloads/libpayload/drivers/usb/usbmsc.c
+++ b/payloads/libpayload/drivers/usb/usbmsc.c
@@ -381,7 +381,7 @@ read_capacity (usbdev_t *dev)
 	cb.command = 0x25;	// read capacity
 	u8 buf[8];
 
-	debug ("Reading capacity of mass storage device.\n");
+	usb_debug ("Reading capacity of mass storage device.\n");
 	int count = 0, ret;
 	while (count++ < 20) {
 		switch (ret = execute_command
@@ -430,9 +430,9 @@ usb_msc_init (usbdev_t *dev)
 	interface_descriptor_t *interface =
 		(interface_descriptor_t *) (((char *) cd) + cd->bLength);
 
-	debug ("  it uses %s command set\n",
+	usb_debug ("  it uses %s command set\n",
 		msc_subclass_strings[interface->bInterfaceSubClass]);
-	debug ("  it uses %s protocol\n",
+	usb_debug ("  it uses %s protocol\n",
 		msc_protocol_strings[interface->bInterfaceProtocol]);
 
 
@@ -479,11 +479,11 @@ usb_msc_init (usbdev_t *dev)
 		printf("couldn't find bulk-out endpoint");
 		return;
 	}
-	debug ("  using endpoint %x as in, %x as out\n",
+	usb_debug ("  using endpoint %x as in, %x as out\n",
 		MSC_INST (dev)->bulk_in->endpoint,
 		MSC_INST (dev)->bulk_out->endpoint);
 
-	debug ("  has %d luns\n", get_max_luns (dev) + 1);
+	usb_debug ("  has %d luns\n", get_max_luns (dev) + 1);
 
 	printf ("  Waiting for device to become ready...");
 	timeout = 30 * 10; /* SCSI/ATA specs say we have to wait up to 30s. Ugh */
@@ -507,12 +507,12 @@ usb_msc_init (usbdev_t *dev)
 		printf ("ok.\n");
 	}
 
-	debug ("  spin up");
+	usb_debug ("  spin up");
 	for (i = 0; i < 30; i++) {
-		debug (".");
+		usb_debug (".");
 		switch (spin_up (dev)) {
 		case MSC_COMMAND_OK:
-			debug (" OK.");
+			usb_debug (" OK.");
 			break;
 		case MSC_COMMAND_FAIL:
 			mdelay (100);
@@ -522,7 +522,7 @@ usb_msc_init (usbdev_t *dev)
 		}
 		break;
 	}
-	debug ("\n");
+	usb_debug ("\n");
 
 	if ((read_capacity (dev) == MSC_COMMAND_OK) && usbdisk_create) {
 		usbdisk_create (dev);
diff --git a/payloads/libpayload/drivers/usb/xhci.c b/payloads/libpayload/drivers/usb/xhci.c
index 828e0ea..f784686 100644
--- a/payloads/libpayload/drivers/usb/xhci.c
+++ b/payloads/libpayload/drivers/usb/xhci.c
@@ -86,27 +86,27 @@ xhci_init (pcidev_t addr)
 	if (pci_read_config32 (controller->bus_address, 0x14) > 0) {
 		fatal("We don't do 64bit addressing.\n");
 	}
-	debug("regbase: %lx\n", controller->reg_base);
+	usb_debug("regbase: %lx\n", controller->reg_base);
 
 	XHCI_INST (controller)->capreg = (void*)controller->reg_base;
 	XHCI_INST (controller)->opreg = (void*)(controller->reg_base + XHCI_INST (controller)->capreg->caplength);
 	XHCI_INST (controller)->hcrreg = (void*)(controller->reg_base + XHCI_INST (controller)->capreg->rtsoff);
 	XHCI_INST (controller)->dbreg = (void*)(controller->reg_base + XHCI_INST (controller)->capreg->dboff);
-	debug("caplen: %lx\nrtsoff: %lx\ndboff: %lx\n", XHCI_INST (controller)->capreg->caplength, XHCI_INST (controller)->capreg->rtsoff, XHCI_INST (controller)->capreg->dboff);
-	debug("caplength: %x\n", XHCI_INST (controller)->capreg->caplength);
-	debug("hciversion: %x.%x\n", XHCI_INST (controller)->capreg->hciver_hi, XHCI_INST (controller)->capreg->hciver_lo);
+	usb_debug("caplen: %lx\nrtsoff: %lx\ndboff: %lx\n", XHCI_INST (controller)->capreg->caplength, XHCI_INST (controller)->capreg->rtsoff, XHCI_INST (controller)->capreg->dboff);
+	usb_debug("caplength: %x\n", XHCI_INST (controller)->capreg->caplength);
+	usb_debug("hciversion: %x.%x\n", XHCI_INST (controller)->capreg->hciver_hi, XHCI_INST (controller)->capreg->hciver_lo);
 	if ((XHCI_INST (controller)->capreg->hciversion < 0x96) || (XHCI_INST (controller)->capreg->hciversion > 0x100)) {
 		fatal("Unsupported xHCI version\n");
 	}
-	debug("maxslots: %x\n", XHCI_INST (controller)->capreg->MaxSlots);
-	debug("maxports: %x\n", XHCI_INST (controller)->capreg->MaxPorts);
+	usb_debug("maxslots: %x\n", XHCI_INST (controller)->capreg->MaxSlots);
+	usb_debug("maxports: %x\n", XHCI_INST (controller)->capreg->MaxPorts);
 	int pagesize = XHCI_INST (controller)->opreg->pagesize << 12;
-	debug("pagesize: %x\n", pagesize);
+	usb_debug("pagesize: %x\n", pagesize);
 
 	XHCI_INST (controller)->dcbaa = memalign(64, (XHCI_INST (controller)->capreg->MaxSlots+1)*sizeof(devctxp_t));
 	memset((void*)XHCI_INST (controller)->dcbaa, 0, (XHCI_INST (controller)->capreg->MaxSlots+1)*sizeof(devctxp_t));
 
-	debug("max scratchpad bufs: %x\n", XHCI_INST (controller)->capreg->Max_Scratchpad_Bufs);
+	usb_debug("max scratchpad bufs: %x\n", XHCI_INST (controller)->capreg->Max_Scratchpad_Bufs);
 	if (XHCI_INST (controller)->capreg->Max_Scratchpad_Bufs > 0) {
 		XHCI_INST (controller)->dcbaa->ptr = memalign(64, XHCI_INST (controller)->capreg->Max_Scratchpad_Bufs * 8);
 	}
@@ -118,7 +118,7 @@ xhci_init (pcidev_t addr)
 	while ((XHCI_INST (controller)->opreg->usbsts & USBSTS_CNR) != 0) mdelay(1);
 	printf("ok.\n");
 
-	debug("ERST Max: %lx -> %lx entries\n", XHCI_INST (controller)->capreg->ERST_Max, 1<<(XHCI_INST (controller)->capreg->ERST_Max));
+	usb_debug("ERST Max: %lx -> %lx entries\n", XHCI_INST (controller)->capreg->ERST_Max, 1<<(XHCI_INST (controller)->capreg->ERST_Max));
 
 	// enable all available slots
 	XHCI_INST (controller)->opreg->config = XHCI_INST (controller)->capreg->MaxSlots & CONFIG_MASK_MaxSlotsEn;
@@ -161,7 +161,7 @@ xhci_init (pcidev_t addr)
 	cmd->cmd_No_Op.TRB_Type = TRB_CMD_NOOP;
 
 	// ring the HC doorbell
-	debug("Posting command at %lx\n", virt_to_phys(cmd));
+	usb_debug("Posting command at %lx\n", virt_to_phys(cmd));
 	cmd->cmd_No_Op.C = XHCI_INST (controller)->cmd_ccs; // enable command
 	XHCI_INST (controller)->dbreg[0] = 0; // and tell controller to consume commands
 
@@ -169,27 +169,27 @@ xhci_init (pcidev_t addr)
 	trb_t *ev = &XHCI_INST (controller)->ev_ring[0];
 	trb_t *ev1 = &XHCI_INST (controller)->ev_ring[1];
 	while (ev->event_cmd_cmpl.C != XHCI_INST (controller)->ev_ccs) {
-		debug("CRCR: %lx, USBSTS: %lx\n",  XHCI_INST (controller)->opreg->crcr_lo, XHCI_INST (controller)->opreg->usbsts);
-		debug("ev0.C %x, ev1.C %x\n", ev->event_cmd_cmpl.C, ev1->event_cmd_cmpl.C);
+		usb_debug("CRCR: %lx, USBSTS: %lx\n",  XHCI_INST (controller)->opreg->crcr_lo, XHCI_INST (controller)->opreg->usbsts);
+		usb_debug("ev0.C %x, ev1.C %x\n", ev->event_cmd_cmpl.C, ev1->event_cmd_cmpl.C);
 		mdelay(100);
 	}
-	debug("command ring is %srunning\n", (XHCI_INST (controller)->opreg->crcr_lo & CRCR_CRR)?"":"not ");
+	usb_debug("command ring is %srunning\n", (XHCI_INST (controller)->opreg->crcr_lo & CRCR_CRR)?"":"not ");
 	switch (ev->event_cmd_cmpl.TRB_Type) {
 		case TRB_EV_CMD_CMPL:
-			debug("Completed command TRB at %lx. Code: %d\n",
+			usb_debug("Completed command TRB at %lx. Code: %d\n",
 				ev->event_cmd_cmpl.Cmd_TRB_Pointer_lo, ev->event_cmd_cmpl.Completion_Code);
 			break;
 		case TRB_EV_PORTSC:
-			debug("Port Status Change Event. Completion Code: %d\n Port: %d. Ignoring.\n",
+			usb_debug("Port Status Change Event. Completion Code: %d\n Port: %d. Ignoring.\n",
 				ev->event_cmd_cmpl.Completion_Code, ev->event_portsc.Port);
 			// we ignore the event as we look for the PORTSC registers instead, at a time when it suits _us_
 			break;
 		default:
-			debug("Unknown event: %d, Completion Code: %d\n", ev->event_cmd_cmpl.TRB_Type, ev->event_cmd_cmpl.Completion_Code);
+			usb_debug("Unknown event: %d, Completion Code: %d\n", ev->event_cmd_cmpl.TRB_Type, ev->event_cmd_cmpl.Completion_Code);
 			break;
 	}
-	debug("CRCR: %lx, USBSTS: %lx\n",  XHCI_INST (controller)->opreg->crcr_lo, XHCI_INST (controller)->opreg->usbsts);
-	debug("ev0.C %x, ev1.C %x, ev1.CC %d\n", ev->event_cmd_cmpl.C, ev1->event_cmd_cmpl.C, ev1->event_cmd_cmpl.Completion_Code);
+	usb_debug("CRCR: %lx, USBSTS: %lx\n",  XHCI_INST (controller)->opreg->crcr_lo, XHCI_INST (controller)->opreg->usbsts);
+	usb_debug("ev0.C %x, ev1.C %x, ev1.CC %d\n", ev->event_cmd_cmpl.C, ev1->event_cmd_cmpl.C, ev1->event_cmd_cmpl.Completion_Code);
 
 	controller->devices[0]->controller = controller;
 	controller->devices[0]->init = xhci_rh_init;
diff --git a/payloads/libpayload/drivers/usb/xhci_rh.c b/payloads/libpayload/drivers/usb/xhci_rh.c
index 1547ef6..58eb6c3 100644
--- a/payloads/libpayload/drivers/usb/xhci_rh.c
+++ b/payloads/libpayload/drivers/usb/xhci_rh.c
@@ -64,7 +64,7 @@ xhci_rh_scanport (usbdev_t *dev, int port)
 	val |= PORTSC_CSC;
 	XHCI_INST (dev->controller)->opreg->prs[port].portsc = val;
 
-	debug("device attach status on port %x: %x\n", port, XHCI_INST (dev->controller)->opreg->prs[port].portsc & PORTSC_CCS);
+	usb_debug("device attach status on port %x: %x\n", port, XHCI_INST (dev->controller)->opreg->prs[port].portsc & PORTSC_CCS);
 }
 
 static int
@@ -77,7 +77,7 @@ xhci_rh_report_port_changes (usbdev_t *dev)
 
 	for (i = 0; i < RH_INST (dev)->numports; i++) {
 		if (XHCI_INST (dev->controller)->opreg->prs[i].portsc & PORTSC_CSC) {
-			debug("found connect status change on port %d\n", i);
+			usb_debug("found connect status change on port %d\n", i);
 			return i;
 		}
 	}
@@ -116,7 +116,7 @@ xhci_rh_init (usbdev_t *dev)
 
 	RH_INST (dev)->numports = XHCI_INST (dev->controller)->capreg->MaxPorts;
 	RH_INST (dev)->port = malloc(sizeof(int) * RH_INST (dev)->numports);
-	debug("%d ports registered\n", RH_INST (dev)->numports);
+	usb_debug("%d ports registered\n", RH_INST (dev)->numports);
 
 	for (i = 0; i < RH_INST (dev)->numports; i++) {
 		xhci_rh_enable_port (dev, i);
@@ -129,5 +129,5 @@ xhci_rh_init (usbdev_t *dev)
 	dev->hub = -1;
 	dev->port = -1;
 
-	debug("rh init done\n");
+	usb_debug("rh init done\n");
 }
diff --git a/payloads/libpayload/include/usb/usb.h b/payloads/libpayload/include/usb/usb.h
index 27af9bc..17eca01 100644
--- a/payloads/libpayload/include/usb/usb.h
+++ b/payloads/libpayload/include/usb/usb.h
@@ -253,10 +253,14 @@ int usb_interface_check(u16 vendor, u16 device);
 #define USB_QUIRK_TEST				(1 << 31)
 #define USB_QUIRK_NONE				 0
 
+static inline void usb_debug(const char *fmt, ...)
+{
 #ifdef USB_DEBUG
-# define debug(fmt, ...)	printf(fmt, ##__VA_ARGS__)
-#else
-# define debug(fmt, ...)	while (0) { printf(fmt, ##__VA_ARGS__); }
+	va_list ap;
+	va_start(ap, fmt);
+	vprintf(fmt, ap);
+	va_end(ap);
 #endif
+}
 
 #endif




More information about the coreboot mailing list