From: Oliver Neukum <oneukum@xxxxxxx> This converts the DEBUG level printk to dynamic debugging Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> --- drivers/usb/host/ohci-dbg.c | 104 ++++++++++++++++++++++---------------------- drivers/usb/host/ohci-hcd.c | 4 -- drivers/usb/host/ohci-q.c | 2 - 3 files changed, 51 insertions(+), 59 deletions(-) diff --git a/drivers/usb/host/ohci-dbg.c b/drivers/usb/host/ohci-dbg.c index 3fca52e..f0523c8 100644 --- a/drivers/usb/host/ohci-dbg.c +++ b/drivers/usb/host/ohci-dbg.c @@ -9,8 +9,6 @@ /*-------------------------------------------------------------------------*/ -#ifdef DEBUG - #define edstring(ed_type) ({ char *temp; \ switch (ed_type) { \ case PIPE_CONTROL: temp = "ctrl"; break; \ @@ -20,57 +18,6 @@ } temp;}) #define pipestring(pipe) edstring(usb_pipetype(pipe)) -/* debug| print the main components of an URB - * small: 0) header + data packets 1) just header - */ -static void __maybe_unused -urb_print(struct urb * urb, char * str, int small, int status) -{ - unsigned int pipe= urb->pipe; - - if (!urb->dev || !urb->dev->bus) { - printk(KERN_DEBUG "%s URB: no dev\n", str); - return; - } - -#ifndef OHCI_VERBOSE_DEBUG - if (status != 0) -#endif - printk(KERN_DEBUG "%s %p dev=%d ep=%d%s-%s flags=%x len=%d/%d stat=%d\n", - str, - urb, - usb_pipedevice (pipe), - usb_pipeendpoint (pipe), - usb_pipeout (pipe)? "out" : "in", - pipestring (pipe), - urb->transfer_flags, - urb->actual_length, - urb->transfer_buffer_length, - status); - -#ifdef OHCI_VERBOSE_DEBUG - if (!small) { - int i, len; - - if (usb_pipecontrol (pipe)) { - printk (KERN_DEBUG "%s: setup(8):", __FILE__); - for (i = 0; i < 8 ; i++) - printk (" %02x", ((__u8 *) urb->setup_packet) [i]); - printk ("\n"); - } - if (urb->transfer_buffer_length > 0 && urb->transfer_buffer) { - printk (KERN_DEBUG "%s: data(%d/%d):", __FILE__, - urb->actual_length, - urb->transfer_buffer_length); - len = usb_pipeout (pipe)? - urb->transfer_buffer_length: urb->actual_length; - for (i = 0; i < 16 && i < len; i++) - printk (" %02x", ((__u8 *) urb->transfer_buffer) [i]); - printk ("%s stat:%d\n", i < len? "...": "", status); - } - } -#endif -} #define ohci_dbg_sw(ohci, next, size, format, arg...) \ do { \ @@ -91,6 +38,7 @@ urb_print(struct urb * urb, char * str, int small, int status) } while (0); +#ifdef DEBUG static void ohci_dump_intr_mask ( struct ohci_hcd *ohci, char *label, @@ -873,5 +821,55 @@ static inline void remove_debug_files (struct ohci_hcd *ohci) #endif +/* debug| print the main components of an URB + * small: 0) header + data packets 1) just header + */ +static void __maybe_unused +urb_print(struct urb * urb, char * str, int small, int status) +{ + unsigned int pipe= urb->pipe; + struct device *ddev; + + if (!urb->dev || !urb->dev->bus) { + pr_debug("%s URB: no dev\n", str); + return; + } + + ddev = &urb->dev->dev; + + dev_dbg(ddev, "%s %p dev=%d ep=%d%s-%s flags=%x len=%d/%d stat=%d\n", + str, + urb, + usb_pipedevice (pipe), + usb_pipeendpoint (pipe), + usb_pipeout (pipe)? "out" : "in", + pipestring (pipe), + urb->transfer_flags, + urb->actual_length, + urb->transfer_buffer_length, + status); + + if (!small) { + int i, len; + + if (usb_pipecontrol (pipe)) { + dev_dbg(ddev, "%s: setup(8):", __FILE__); + for (i = 0; i < 8 ; i++) + dev_dbg(ddev," %02x", ((__u8 *) urb->setup_packet) [i]); + dev_dbg(ddev,"\n"); + } + if (urb->transfer_buffer_length > 0 && urb->transfer_buffer) { + dev_dbg(ddev, "%s: data(%d/%d):", __FILE__, + urb->actual_length, + urb->transfer_buffer_length); + len = usb_pipeout (pipe)? + urb->transfer_buffer_length: urb->actual_length; + for (i = 0; i < 16 && i < len; i++) + dev_dbg(ddev," %02x", ((__u8 *) urb->transfer_buffer) [i]); + dev_dbg(ddev,"%s stat:%d\n", i < len? "...": "", status); + } + } +} + /*-------------------------------------------------------------------------*/ diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 8ada13f..0ca937e 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -127,9 +127,7 @@ static int ohci_urb_enqueue ( unsigned long flags; int retval = 0; -#ifdef OHCI_VERBOSE_DEBUG urb_print(urb, "SUB", usb_pipein(pipe), -EINPROGRESS); -#endif /* every endpoint has a ed, locate and maybe (re)initialize it */ if (! (ed = ed_get (ohci, urb->ep, urb->dev, pipe, urb->interval))) @@ -284,9 +282,7 @@ static int ohci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) unsigned long flags; int rc; -#ifdef OHCI_VERBOSE_DEBUG urb_print(urb, "UNLINK", 1, status); -#endif spin_lock_irqsave (&ohci->lock, flags); rc = usb_hcd_check_unlink_urb(hcd, urb, status); diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index e7f577e..6473cdf 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c @@ -68,9 +68,7 @@ __acquires(ohci->lock) break; } -#ifdef OHCI_VERBOSE_DEBUG urb_print(urb, "RET", usb_pipeout (urb->pipe), status); -#endif /* urb->complete() can reenter this HCD */ usb_hcd_unlink_urb_from_ep(ohci_to_hcd(ohci), urb); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html