<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From khali@linux-fr.org Sun Jul 31 10:06:53 2005
Date: Sun, 31 Jul 2005 19:02:53 +0200
From: Jean Delvare &lt;khali@linux-fr.org&gt;
To: Greg KH &lt;greg@kroah.com&gt;
Subject: I2C: Improve core debugging messages
Message-Id: &lt;20050731190253.42c1b76b.khali@linux-fr.org&gt;

The debugging messages in i2c-core are more confusing than helpful. Some
lack their trailing newline, some lack a prefix, some are redundant,
some lack precious information. Here is my attempt to introduce some
standardization in there.

I also changed two messages in i2c-dev to make it clear they come from
i2c-dev.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

---
 drivers/i2c/i2c-core.c |   63 ++++++++++++++++++++-----------------------------
 drivers/i2c/i2c-dev.c  |    5 ++-
 2 files changed, 29 insertions(+), 39 deletions(-)

--- gregkh-2.6.orig/drivers/i2c/i2c-core.c	2005-08-08 16:26:24.000000000 -0700
+++ gregkh-2.6/drivers/i2c/i2c-core.c	2005-08-08 16:26:36.000000000 -0700
@@ -188,6 +188,8 @@
 	strlcpy(adap-&gt;class_dev.class_id, adap-&gt;dev.bus_id, BUS_ID_SIZE);
 	class_device_register(&amp;adap-&gt;class_dev);
 
+	dev_dbg(&amp;adap-&gt;dev, "adapter [%s] registered\n", adap-&gt;name);
+
 	/* inform drivers of new adapters */
 	list_for_each(item,&amp;drivers) {
 		driver = list_entry(item, struct i2c_driver, list);
@@ -196,8 +198,6 @@
 			driver-&gt;attach_adapter(adap);
 	}
 
-	dev_dbg(&amp;adap-&gt;dev, "registered as adapter #%d\n", adap-&gt;nr);
-
 out_unlock:
 	up(&amp;core_lists);
 	return res;
@@ -220,8 +220,8 @@
 			break;
 	}
 	if (adap_from_list != adap) {
-		pr_debug("I2C: Attempting to delete an unregistered "
-			 "adapter\n");
+		pr_debug("i2c-core: attempting to delete unregistered "
+			 "adapter [%s]\n", adap-&gt;name);
 		res = -EINVAL;
 		goto out_unlock;
 	}
@@ -230,9 +230,8 @@
 		driver = list_entry(item, struct i2c_driver, list);
 		if (driver-&gt;detach_adapter)
 			if ((res = driver-&gt;detach_adapter(adap))) {
-				dev_warn(&amp;adap-&gt;dev, "can't detach adapter "
-					 "while detaching driver %s: driver "
-					 "not detached!\n", driver-&gt;name);
+				dev_err(&amp;adap-&gt;dev, "detach_adapter failed "
+					"for driver [%s]\n", driver-&gt;name);
 				goto out_unlock;
 			}
 	}
@@ -247,9 +246,8 @@
 		 * must be deleted, as this would cause invalid states.
 		 */
 		if ((res=client-&gt;driver-&gt;detach_client(client))) {
-			dev_err(&amp;adap-&gt;dev, "adapter not "
-				"unregistered, because client at "
-				"address %02x can't be detached. ",
+			dev_err(&amp;adap-&gt;dev, "detach_client failed for client "
+				"[%s] at address 0x%02x\n", client-&gt;name,
 				client-&gt;addr);
 			goto out_unlock;
 		}
@@ -270,7 +268,7 @@
 	/* free dynamically allocated bus id */
 	idr_remove(&amp;i2c_adapter_idr, adap-&gt;nr);
 
-	dev_dbg(&amp;adap-&gt;dev, "adapter unregistered\n");
+	dev_dbg(&amp;adap-&gt;dev, "adapter [%s] unregistered\n", adap-&gt;name);
 
  out_unlock:
 	up(&amp;core_lists);
@@ -303,7 +301,7 @@
 		goto out_unlock;
 	
 	list_add_tail(&amp;driver-&gt;list,&amp;drivers);
-	pr_debug("i2c-core: driver %s registered.\n", driver-&gt;name);
+	pr_debug("i2c-core: driver [%s] registered\n", driver-&gt;name);
 
 	/* now look for instances of driver on our adapters */
 	if (driver-&gt;flags &amp; I2C_DF_NOTIFY) {
@@ -331,21 +329,17 @@
 	/* Have a look at each adapter, if clients of this driver are still
 	 * attached. If so, detach them to be able to kill the driver 
 	 * afterwards.
-	 */
-	pr_debug("i2c-core: unregister_driver - looking for clients.\n");
-	/* removing clients does not depend on the notify flag, else 
+	 *
+	 * Removing clients does not depend on the notify flag, else
 	 * invalid operation might (will!) result, when using stale client
 	 * pointers.
 	 */
 	list_for_each(item1,&amp;adapters) {
 		adap = list_entry(item1, struct i2c_adapter, list);
-		dev_dbg(&amp;adap-&gt;dev, "examining adapter\n");
 		if (driver-&gt;detach_adapter) {
 			if ((res = driver-&gt;detach_adapter(adap))) {
-				dev_warn(&amp;adap-&gt;dev, "while unregistering "
-				       "dummy driver %s, adapter could "
-				       "not be detached properly; driver "
-				       "not unloaded!",driver-&gt;name);
+				dev_err(&amp;adap-&gt;dev, "detach_adapter failed "
+					"for driver [%s]\n", driver-&gt;name);
 				goto out_unlock;
 			}
 		} else {
@@ -353,16 +347,13 @@
 				client = list_entry(item2, struct i2c_client, list);
 				if (client-&gt;driver != driver)
 					continue;
-				pr_debug("i2c-core.o: detaching client %s:\n", client-&gt;name);
+				dev_dbg(&amp;adap-&gt;dev, "detaching client [%s] "
+					"at 0x%02x\n", client-&gt;name,
+					client-&gt;addr);
 				if ((res = driver-&gt;detach_client(client))) {
-					dev_err(&amp;adap-&gt;dev, "while "
-						"unregistering driver "
-						"`%s', the client at "
-						"address %02x of "
-						"adapter could not "
-						"be detached; driver "
-						"not unloaded!",
-						driver-&gt;name,
+					dev_err(&amp;adap-&gt;dev, "detach_client "
+						"failed for client [%s] at "
+						"0x%02x\n", client-&gt;name,
 						client-&gt;addr);
 					goto out_unlock;
 				}
@@ -372,7 +363,7 @@
 
 	driver_unregister(&amp;driver-&gt;driver);
 	list_del(&amp;driver-&gt;list);
-	pr_debug("i2c-core: driver unregistered: %s\n", driver-&gt;name);
+	pr_debug("i2c-core: driver [%s] unregistered\n", driver-&gt;name);
 
  out_unlock:
 	up(&amp;core_lists);
@@ -417,15 +408,12 @@
 	
 	if (adapter-&gt;client_register)  {
 		if (adapter-&gt;client_register(client))  {
-			dev_warn(&amp;adapter-&gt;dev, "warning: client_register "
-				"seems to have failed for client %02x\n",
-				client-&gt;addr);
+			dev_dbg(&amp;adapter-&gt;dev, "client_register "
+				"failed for client [%s] at 0x%02x\n",
+				client-&gt;name, client-&gt;addr);
 		}
 	}
 
-	dev_dbg(&amp;adapter-&gt;dev, "client [%s] registered to adapter\n",
-		client-&gt;name);
-
 	if (client-&gt;flags &amp; I2C_CLIENT_ALLOW_USE)
 		client-&gt;usage_count = 0;
 
@@ -436,7 +424,8 @@
 	
 	snprintf(&amp;client-&gt;dev.bus_id[0], sizeof(client-&gt;dev.bus_id),
 		"%d-%04x", i2c_adapter_id(adapter), client-&gt;addr);
-	pr_debug("registering %s\n", client-&gt;dev.bus_id);
+	dev_dbg(&amp;adapter-&gt;dev, "client [%s] registered with bus id %s\n",
+		client-&gt;name, client-&gt;dev.bus_id);
 	device_register(&amp;client-&gt;dev);
 	device_create_file(&amp;client-&gt;dev, &amp;dev_attr_client_name);
 	
--- gregkh-2.6.orig/drivers/i2c/i2c-dev.c	2005-08-08 16:19:53.000000000 -0700
+++ gregkh-2.6/drivers/i2c/i2c-dev.c	2005-08-08 16:28:28.000000000 -0700
@@ -434,7 +434,8 @@
 
 	devfs_mk_cdev(MKDEV(I2C_MAJOR, i2c_dev-&gt;minor),
 			S_IFCHR|S_IRUSR|S_IWUSR, "i2c/%d", i2c_dev-&gt;minor);
-	dev_dbg(&amp;adap-&gt;dev, "Registered as minor %d\n", i2c_dev-&gt;minor);
+	pr_debug("i2c-dev: adapter [%s] registered as minor %d\n",
+		 adap-&gt;name, i2c_dev-&gt;minor);
 
 	/* register this i2c device with the driver core */
 	i2c_dev-&gt;adap = adap;
@@ -471,7 +472,7 @@
 	wait_for_completion(&amp;i2c_dev-&gt;released);
 	kfree(i2c_dev);
 
-	dev_dbg(&amp;adap-&gt;dev, "Adapter unregistered\n");
+	pr_debug("i2c-dev: adapter [%s] unregistered\n", adap-&gt;name);
 	return 0;
 }
 
</pre></body></html>