Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] I2C: Improve core debugging messages

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 <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

Jean Delvare and committed by
Greg Kroah-Hartman
b6d7b3d1 014e4538

+29 -39
+26 -37
drivers/i2c/i2c-core.c
··· 188 188 strlcpy(adap->class_dev.class_id, adap->dev.bus_id, BUS_ID_SIZE); 189 189 class_device_register(&adap->class_dev); 190 190 191 + dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name); 192 + 191 193 /* inform drivers of new adapters */ 192 194 list_for_each(item,&drivers) { 193 195 driver = list_entry(item, struct i2c_driver, list); ··· 197 195 /* We ignore the return code; if it fails, too bad */ 198 196 driver->attach_adapter(adap); 199 197 } 200 - 201 - dev_dbg(&adap->dev, "registered as adapter #%d\n", adap->nr); 202 198 203 199 out_unlock: 204 200 up(&core_lists); ··· 220 220 break; 221 221 } 222 222 if (adap_from_list != adap) { 223 - pr_debug("I2C: Attempting to delete an unregistered " 224 - "adapter\n"); 223 + pr_debug("i2c-core: attempting to delete unregistered " 224 + "adapter [%s]\n", adap->name); 225 225 res = -EINVAL; 226 226 goto out_unlock; 227 227 } ··· 230 230 driver = list_entry(item, struct i2c_driver, list); 231 231 if (driver->detach_adapter) 232 232 if ((res = driver->detach_adapter(adap))) { 233 - dev_warn(&adap->dev, "can't detach adapter " 234 - "while detaching driver %s: driver " 235 - "not detached!\n", driver->name); 233 + dev_err(&adap->dev, "detach_adapter failed " 234 + "for driver [%s]\n", driver->name); 236 235 goto out_unlock; 237 236 } 238 237 } ··· 246 247 * must be deleted, as this would cause invalid states. 247 248 */ 248 249 if ((res=client->driver->detach_client(client))) { 249 - dev_err(&adap->dev, "adapter not " 250 - "unregistered, because client at " 251 - "address %02x can't be detached. ", 250 + dev_err(&adap->dev, "detach_client failed for client " 251 + "[%s] at address 0x%02x\n", client->name, 252 252 client->addr); 253 253 goto out_unlock; 254 254 } ··· 268 270 /* free dynamically allocated bus id */ 269 271 idr_remove(&i2c_adapter_idr, adap->nr); 270 272 271 - dev_dbg(&adap->dev, "adapter unregistered\n"); 273 + dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); 272 274 273 275 out_unlock: 274 276 up(&core_lists); ··· 301 303 goto out_unlock; 302 304 303 305 list_add_tail(&driver->list,&drivers); 304 - pr_debug("i2c-core: driver %s registered.\n", driver->name); 306 + pr_debug("i2c-core: driver [%s] registered\n", driver->name); 305 307 306 308 /* now look for instances of driver on our adapters */ 307 309 if (driver->flags & I2C_DF_NOTIFY) { ··· 329 331 /* Have a look at each adapter, if clients of this driver are still 330 332 * attached. If so, detach them to be able to kill the driver 331 333 * afterwards. 332 - */ 333 - pr_debug("i2c-core: unregister_driver - looking for clients.\n"); 334 - /* removing clients does not depend on the notify flag, else 334 + * 335 + * Removing clients does not depend on the notify flag, else 335 336 * invalid operation might (will!) result, when using stale client 336 337 * pointers. 337 338 */ 338 339 list_for_each(item1,&adapters) { 339 340 adap = list_entry(item1, struct i2c_adapter, list); 340 - dev_dbg(&adap->dev, "examining adapter\n"); 341 341 if (driver->detach_adapter) { 342 342 if ((res = driver->detach_adapter(adap))) { 343 - dev_warn(&adap->dev, "while unregistering " 344 - "dummy driver %s, adapter could " 345 - "not be detached properly; driver " 346 - "not unloaded!",driver->name); 343 + dev_err(&adap->dev, "detach_adapter failed " 344 + "for driver [%s]\n", driver->name); 347 345 goto out_unlock; 348 346 } 349 347 } else { ··· 347 353 client = list_entry(item2, struct i2c_client, list); 348 354 if (client->driver != driver) 349 355 continue; 350 - pr_debug("i2c-core.o: detaching client %s:\n", client->name); 356 + dev_dbg(&adap->dev, "detaching client [%s] " 357 + "at 0x%02x\n", client->name, 358 + client->addr); 351 359 if ((res = driver->detach_client(client))) { 352 - dev_err(&adap->dev, "while " 353 - "unregistering driver " 354 - "`%s', the client at " 355 - "address %02x of " 356 - "adapter could not " 357 - "be detached; driver " 358 - "not unloaded!", 359 - driver->name, 360 + dev_err(&adap->dev, "detach_client " 361 + "failed for client [%s] at " 362 + "0x%02x\n", client->name, 360 363 client->addr); 361 364 goto out_unlock; 362 365 } ··· 363 372 364 373 driver_unregister(&driver->driver); 365 374 list_del(&driver->list); 366 - pr_debug("i2c-core: driver unregistered: %s\n", driver->name); 375 + pr_debug("i2c-core: driver [%s] unregistered\n", driver->name); 367 376 368 377 out_unlock: 369 378 up(&core_lists); ··· 408 417 409 418 if (adapter->client_register) { 410 419 if (adapter->client_register(client)) { 411 - dev_warn(&adapter->dev, "warning: client_register " 412 - "seems to have failed for client %02x\n", 413 - client->addr); 420 + dev_dbg(&adapter->dev, "client_register " 421 + "failed for client [%s] at 0x%02x\n", 422 + client->name, client->addr); 414 423 } 415 424 } 416 - 417 - dev_dbg(&adapter->dev, "client [%s] registered to adapter\n", 418 - client->name); 419 425 420 426 if (client->flags & I2C_CLIENT_ALLOW_USE) 421 427 client->usage_count = 0; ··· 424 436 425 437 snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id), 426 438 "%d-%04x", i2c_adapter_id(adapter), client->addr); 427 - pr_debug("registering %s\n", client->dev.bus_id); 439 + dev_dbg(&adapter->dev, "client [%s] registered with bus id %s\n", 440 + client->name, client->dev.bus_id); 428 441 device_register(&client->dev); 429 442 device_create_file(&client->dev, &dev_attr_client_name); 430 443
+3 -2
drivers/i2c/i2c-dev.c
··· 434 434 435 435 devfs_mk_cdev(MKDEV(I2C_MAJOR, i2c_dev->minor), 436 436 S_IFCHR|S_IRUSR|S_IWUSR, "i2c/%d", i2c_dev->minor); 437 - dev_dbg(&adap->dev, "Registered as minor %d\n", i2c_dev->minor); 437 + pr_debug("i2c-dev: adapter [%s] registered as minor %d\n", 438 + adap->name, i2c_dev->minor); 438 439 439 440 /* register this i2c device with the driver core */ 440 441 i2c_dev->adap = adap; ··· 472 471 wait_for_completion(&i2c_dev->released); 473 472 kfree(i2c_dev); 474 473 475 - dev_dbg(&adap->dev, "Adapter unregistered\n"); 474 + pr_debug("i2c-dev: adapter [%s] unregistered\n", adap->name); 476 475 return 0; 477 476 } 478 477