I2C: refactor message in i2c_detach_client
Subsystems (9)
Hardware monitoring I2C IT87 hardware monitoring driver LM90 hardware monitor driver +5 more subsystems
PATCH 1/1 I2C: refactor message in i2c_detach_client
Hi Greg, all,
We could refactor the error message 34 different i2c drivers print if i2c_detach_client() fails in this function itself. Saves quite a few lines of code. Documentation is updated to reflect that change.
Note that this patch should be applied after Rudolf Marek's w83792d patches.
Signed-off-by Jean Delvare <[email protected]>
Documentation/i2c/porting-clients | 3 ++- Documentation/i2c/writing-clients | 4 +--- drivers/hwmon/adm1021.c | 4 +--- drivers/hwmon/adm1025.c | 5 +---- drivers/hwmon/adm9240.c | 5 +---- drivers/hwmon/asb100.c | 5 +---- drivers/hwmon/ds1621.c | 5 +---- drivers/hwmon/fscher.c | 5 +---- drivers/hwmon/fscpos.c | 5 +---- drivers/hwmon/gl518sm.c | 5 +---- drivers/hwmon/gl520sm.c | 5 +---- drivers/hwmon/it87.c | 5 +---- drivers/hwmon/lm63.c | 5 +---- drivers/hwmon/lm78.c | 5 +---- drivers/hwmon/lm80.c | 5 +---- drivers/hwmon/lm83.c | 5 +---- drivers/hwmon/lm87.c | 5 +---- drivers/hwmon/lm90.c | 5 +---- drivers/hwmon/lm92.c | 5 +---- drivers/hwmon/max1619.c | 5 +---- drivers/hwmon/pc87360.c | 5 +---- drivers/hwmon/sis5595.c | 5 +---- drivers/hwmon/smsc47b397.c | 5 +---- drivers/hwmon/smsc47m1.c | 5 +---- drivers/hwmon/via686a.c | 5 +---- drivers/hwmon/w83627ehf.c | 5 +---- drivers/hwmon/w83627hf.c | 5 +---- drivers/hwmon/w83781d.c | 5 +---- drivers/hwmon/w83792d.c | 5 +---- drivers/hwmon/w83l785ts.c | 5 +---- drivers/i2c/chips/ds1337.c | 5 +---- drivers/i2c/chips/eeprom.c | 4 +--- drivers/i2c/chips/max6875.c | 4 +--- drivers/i2c/chips/pca9539.c | 4 +--- drivers/i2c/chips/pcf8574.c | 5 +---- drivers/i2c/chips/pcf8591.c | 5 +---- drivers/i2c/i2c-core.c | 6 +++++- 37 files changed, 42 insertions(+), 137 deletions(-)
drivers/hwmon/adm1021.c +1 -3
@@ -328,10 +328,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/adm1025.c +1 -4
@@ -517,11 +517,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/adm9240.c +1 -4
@@ -645,11 +645,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/asb100.c +1 -4
@@ -867,11 +867,8 @@if (data)hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"client deregistration failed; " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }/* main client */ if (data)
drivers/hwmon/ds1621.c +1 -4
@@ -282,11 +282,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);
drivers/hwmon/fscher.c +1 -4
@@ -383,11 +383,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/fscpos.c +1 -4
@@ -549,11 +549,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, client" -" not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ; }
drivers/hwmon/gl518sm.c +1 -4
@@ -492,11 +492,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/gl520sm.c +1 -4
@@ -654,11 +654,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/it87.c +1 -4
@@ -945,11 +945,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }if (i2c_is_isa_client (client))release_region (client->addr,IT87_EXTENT );
drivers/hwmon/lm63.c +1 -4
@@ -520,11 +520,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/lm78.c +1 -4
@@ -683,11 +683,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }if (i2c_is_isa_client (client))release_region (client->addr,LM78_EXTENT );
drivers/hwmon/lm80.c +1 -4
@@ -510,11 +510,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/lm83.c +1 -4
@@ -363,11 +363,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/lm87.c +1 -4
@@ -734,11 +734,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/lm90.c +1 -4
@@ -562,11 +562,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/lm92.c +1 -4
@@ -399,11 +399,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/max1619.c +1 -4
@@ -322,11 +322,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/hwmon/pc87360.c +1 -4
@@ -984,11 +984,8 @@hwmon_device_unregister (data->class_dev); -if ((i =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((i =i2c_detach_client (client)))return i; - }for (i =0 ; i <3 ; i++) {if (data->address[i]) {
drivers/hwmon/sis5595.c +1 -4
@@ -618,11 +618,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,SIS5595_EXTENT );
drivers/hwmon/smsc47b397.c +1 -4
@@ -214,11 +214,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,SMSC_EXTENT );kfree (data);
drivers/hwmon/smsc47m1.c +1 -4
@@ -497,11 +497,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,SMSC_EXTENT );kfree (data);
drivers/hwmon/via686a.c +1 -4
@@ -700,11 +700,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,VIA686A_EXTENT );kfree (data);
drivers/hwmon/w83627ehf.c +1 -4
@@ -774,11 +774,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,REGION_LENGTH );kfree (data);
drivers/hwmon/w83627hf.c +1 -4
@@ -1157,11 +1157,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }release_region (client->addr,WINB_EXTENT );kfree (data);
drivers/hwmon/w83781d.c +1 -4
@@ -1299,11 +1299,8 @@if (i2c_is_isa_client (client))release_region (client->addr,W83781D_EXTENT ); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }/* main client */ if (data)
drivers/hwmon/w83792d.c +1 -4
@@ -1396,11 +1396,8 @@if (data)hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }/* main client */ if (data)
drivers/hwmon/w83l785ts.c +1 -4
@@ -267,11 +267,8 @@hwmon_device_unregister (data->class_dev); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (data);return 0 ;
drivers/i2c/chips/ds1337.c +1 -4
@@ -353,11 +353,8 @@int err;struct ds1337_data *data =i2c_get_clientdata (client); -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed, " -"client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }list_del (&data->list);kfree (data);
drivers/i2c/chips/eeprom.c +1 -3
@@ -230,10 +230,8 @@int err; err =i2c_detach_client (client); -if (err) { -dev_err (&client->dev,"Client deregistration failed, client not detached.\n" ); +if (err)return err; - }kfree (i2c_get_clientdata (client));
drivers/i2c/chips/max6875.c +1 -3
@@ -239,10 +239,8 @@int err; err =i2c_detach_client (client); -if (err) { -dev_err (&client->dev,"i2c_detach_client() failed\n" ); +if (err)return err; - }kfree (i2c_get_clientdata (client));return 0 ; }
drivers/i2c/chips/pca9539.c +1 -3
@@ -163,10 +163,8 @@ {int err; -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev,"Client deregistration failed.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (i2c_get_clientdata (client));return 0 ;
drivers/i2c/chips/pcf8574.c +1 -4
@@ -185,11 +185,8 @@ {int err; -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (i2c_get_clientdata (client));return 0 ;
drivers/i2c/chips/pcf8591.c +1 -4
@@ -240,11 +240,8 @@ {int err; -if ((err =i2c_detach_client (client))) { -dev_err (&client->dev, -"Client deregistration failed, client not detached.\n" ); +if ((err =i2c_detach_client (client)))return err; - }kfree (i2c_get_clientdata (client));return 0 ;
drivers/i2c/i2c-core.c +5 -1
@@ -449,8 +449,12 @@struct i2c_adapter *adapter = client->adapter;int res =0 ; -if ((client->flags &I2C_CLIENT_ALLOW_USE ) && (client->usage_count >0 )) +if ((client->flags &I2C_CLIENT_ALLOW_USE ) + && (client->usage_count >0 )) { +dev_warn (&client->dev,"Client [%s] still busy, " +"can't detach\n" , client->name) return -EBUSY; + }if (adapter->client_unregister) { res = adapter->client_unregister (client);
Documentation/i2c/porting-clients +2 -1
@@ -94,7 +94,8 @@ limited to the strictly necessary steps. * [Detach] Get rid of data, remove the call to - i2c_deregister_entry. + i2c_deregister_entry. Do not log an error message if + i2c_detach_client fails, as i2c-core will now do it for you. * [Update] Don't access client->data directly, use i2c_get_clientdata(client) instead.
Documentation/i2c/writing-clients +1 -3
@@ -489,10 +489,8 @@ /* SENSORS ONLY END */ /* Try to detach the client from i2c space */ - if ((err = i2c_detach_client(client))) { - printk("foo.o: Client deregistration failed, client not detached.\n"); + if ((err = i2c_detach_client(client))) return err; - } /* HYBRID SENSORS CHIP ONLY START */ if i2c_is_isa_client(client)
Signature · 1 line
Jean Delvare