[RFC 1/2] uhci: change dependency for debug parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Oliver Neukum <oneukum@xxxxxxx>

To allow a full switch to dynamic debugging make the
debug parameter conditional on defined(DEBUF) || defined(DYNAMIC_DEBUG)

Signed-off-by: Oliver Neukum <oneukum@xxxxxxx>
---
 drivers/usb/host/uhci-hcd.c | 44 +++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 21 deletions(-)

diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
index 4a86b63..c53058d 100644
--- a/drivers/usb/host/uhci-hcd.c
+++ b/drivers/usb/host/uhci-hcd.c
@@ -69,19 +69,14 @@ MODULE_PARM_DESC(ignore_oc, "ignore hardware overcurrent indications");
  *            show all queues in /sys/kernel/debug/uhci/[pci_addr]
  * debug = 3, show all TDs in URBs when dumping
  */
-#ifdef DEBUG
-#define DEBUG_CONFIGURED	1
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
 static int debug = 1;
 module_param(debug, int, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug level");
 
-#else
-#define DEBUG_CONFIGURED	0
-#define debug			0
-#endif
-
 static char *errbuf;
 #define ERRBUF_LEN    (32 * 1024)
+#endif
 
 static struct kmem_cache *uhci_up_cachep;	/* urb_priv */
 
@@ -462,12 +457,14 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd)
 			if (uhci->rh_state >= UHCI_RH_RUNNING) {
 				dev_err(uhci_dev(uhci),
 					"host controller halted, very bad!\n");
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
 				if (debug > 1 && errbuf) {
 					/* Print the schedule for debugging */
 					uhci_sprint_schedule(uhci, errbuf,
 						ERRBUF_LEN - EXTRA_SPACE);
 					lprintk(errbuf);
 				}
+#endif
 				uhci_hc_died(uhci);
 				usb_hc_died(hcd);
 
@@ -516,13 +513,12 @@ static void release_uhci(struct uhci_hcd *uhci)
 {
 	int i;
 
-	if (DEBUG_CONFIGURED) {
-		spin_lock_irq(&uhci->lock);
-		uhci->is_initialized = 0;
-		spin_unlock_irq(&uhci->lock);
 
-		debugfs_remove(uhci->dentry);
-	}
+	spin_lock_irq(&uhci->lock);
+	uhci->is_initialized = 0;
+	spin_unlock_irq(&uhci->lock);
+
+	debugfs_remove(uhci->dentry);
 
 	for (i = 0; i < UHCI_NUM_SKELQH; i++)
 		uhci_free_qh(uhci, uhci->skelqh[i]);
@@ -823,8 +819,10 @@ static int uhci_count_ports(struct usb_hcd *hcd)
 		if (!(portstatus & 0x0080) || portstatus == 0xffff)
 			break;
 	}
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
 	if (debug)
 		dev_info(uhci_dev(uhci), "detected %d ports\n", port);
+#endif
 
 	/* Anything greater than 7 is weird so we'll ignore it. */
 	if (port > UHCI_RH_MAXCHILD) {
@@ -868,14 +866,14 @@ static int __init uhci_hcd_init(void)
 			ignore_oc ? ", overcurrent ignored" : "");
 	set_bit(USB_UHCI_LOADED, &usb_hcds_loaded);
 
-	if (DEBUG_CONFIGURED) {
-		errbuf = kmalloc(ERRBUF_LEN, GFP_KERNEL);
-		if (!errbuf)
-			goto errbuf_failed;
-		uhci_debugfs_root = debugfs_create_dir("uhci", usb_debug_root);
-		if (!uhci_debugfs_root)
-			goto debug_failed;
-	}
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
+	errbuf = kmalloc(ERRBUF_LEN, GFP_KERNEL);
+	if (!errbuf)
+		goto errbuf_failed;
+#endif
+	uhci_debugfs_root = debugfs_create_dir("uhci", usb_debug_root);
+	if (!uhci_debugfs_root)
+		goto debug_failed;
 
 	uhci_up_cachep = kmem_cache_create("uhci_urb_priv",
 		sizeof(struct urb_priv), 0, 0, NULL);
@@ -909,9 +907,11 @@ up_failed:
 	debugfs_remove(uhci_debugfs_root);
 
 debug_failed:
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
 	kfree(errbuf);
 
 errbuf_failed:
+#endif
 
 	clear_bit(USB_UHCI_LOADED, &usb_hcds_loaded);
 	return retval;
@@ -927,7 +927,9 @@ static void __exit uhci_hcd_cleanup(void)
 #endif
 	kmem_cache_destroy(uhci_up_cachep);
 	debugfs_remove(uhci_debugfs_root);
+#if defined(DEBUG) || defined(DYNAMIC_DEBUG)
 	kfree(errbuf);
+#endif
 	clear_bit(USB_UHCI_LOADED, &usb_hcds_loaded);
 }
 
-- 
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux