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

i2c: Make i2c_del_driver a void function

Make i2c_del_driver a void function, like all other driver removal
functions. It always returned 0 even when errors occured, and nobody
ever actually checked the return value anyway. And we cannot fail
a module removal anyway.

Signed-off-by: Jean Delvare <khali@linux-fr.org>

authored by

Jean Delvare and committed by
Jean Delvare
b3e82096 a97f1ed0

+7 -15
+1 -4
Documentation/i2c/writing-clients
··· 586 586 void foo_cleanup(void) 587 587 { 588 588 if (foo_initialized == 1) { 589 - if ((res = i2c_del_driver(&foo_driver))) { 590 - printk("foo: Driver registration failed, module not removed.\n"); 591 - return; 592 - } 589 + i2c_del_driver(&foo_driver); 593 590 foo_initialized --; 594 591 } 595 592 }
+3 -9
drivers/i2c/i2c-core.c
··· 599 599 * i2c_del_driver - unregister I2C driver 600 600 * @driver: the driver being unregistered 601 601 */ 602 - int i2c_del_driver(struct i2c_driver *driver) 602 + void i2c_del_driver(struct i2c_driver *driver) 603 603 { 604 604 struct list_head *item1, *item2, *_n; 605 605 struct i2c_client *client; 606 606 struct i2c_adapter *adap; 607 - 608 - int res = 0; 609 607 610 608 mutex_lock(&core_lists); 611 609 ··· 618 620 list_for_each(item1,&adapters) { 619 621 adap = list_entry(item1, struct i2c_adapter, list); 620 622 if (driver->detach_adapter) { 621 - if ((res = driver->detach_adapter(adap))) { 623 + if (driver->detach_adapter(adap)) { 622 624 dev_err(&adap->dev, "detach_adapter failed " 623 625 "for driver [%s]\n", 624 626 driver->driver.name); 625 - goto out_unlock; 626 627 } 627 628 } else { 628 629 list_for_each_safe(item2, _n, &adap->clients) { ··· 631 634 dev_dbg(&adap->dev, "detaching client [%s] " 632 635 "at 0x%02x\n", client->name, 633 636 client->addr); 634 - if ((res = driver->detach_client(client))) { 637 + if (driver->detach_client(client)) { 635 638 dev_err(&adap->dev, "detach_client " 636 639 "failed for client [%s] at " 637 640 "0x%02x\n", client->name, 638 641 client->addr); 639 - goto out_unlock; 640 642 } 641 643 } 642 644 } ··· 646 650 list_del(&driver->list); 647 651 pr_debug("i2c-core: driver [%s] unregistered\n", driver->driver.name); 648 652 649 - out_unlock: 650 653 mutex_unlock(&core_lists); 651 - return 0; 652 654 } 653 655 EXPORT_SYMBOL(i2c_del_driver); 654 656
+2 -1
drivers/macintosh/therm_windtunnel.c
··· 459 459 static int 460 460 therm_of_remove( struct of_device *dev ) 461 461 { 462 - return i2c_del_driver( &g4fan_driver ); 462 + i2c_del_driver( &g4fan_driver ); 463 + return 0; 463 464 } 464 465 465 466 static struct of_device_id therm_of_match[] = {{
+1 -1
include/linux/i2c.h
··· 371 371 extern int i2c_add_numbered_adapter(struct i2c_adapter *); 372 372 373 373 extern int i2c_register_driver(struct module *, struct i2c_driver *); 374 - extern int i2c_del_driver(struct i2c_driver *); 374 + extern void i2c_del_driver(struct i2c_driver *); 375 375 376 376 static inline int i2c_add_driver(struct i2c_driver *driver) 377 377 {