Skip to content

Commit

Permalink
[PATCH] I2C: refactor message in i2c_detach_client
Browse files Browse the repository at this point in the history
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 <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Jean Delvare authored and Greg Kroah-Hartman committed Sep 5, 2005
1 parent 1ff4e30 commit 7bef559
Show file tree
Hide file tree
Showing 37 changed files with 42 additions and 137 deletions.
3 changes: 2 additions & 1 deletion Documentation/i2c/porting-clients
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ Technical changes:
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.
Expand Down
4 changes: 1 addition & 3 deletions Documentation/i2c/writing-clients
Original file line number Diff line number Diff line change
Expand Up @@ -489,10 +489,8 @@ much simpler than the attachment code, fortunately!
/* 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)
Expand Down
4 changes: 1 addition & 3 deletions drivers/hwmon/adm1021.c
Original file line number Diff line number Diff line change
Expand Up @@ -328,10 +328,8 @@ static int adm1021_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/adm1025.c
Original file line number Diff line number Diff line change
Expand Up @@ -517,11 +517,8 @@ static int adm1025_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/adm9240.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,11 +645,8 @@ static int adm9240_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/asb100.c
Original file line number Diff line number Diff line change
Expand Up @@ -867,11 +867,8 @@ static int asb100_detach_client(struct i2c_client *client)
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)
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/ds1621.c
Original file line number Diff line number Diff line change
Expand Up @@ -282,11 +282,8 @@ static int ds1621_detach_client(struct i2c_client *client)

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);

Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/fscher.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,11 +383,8 @@ static int fscher_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/fscpos.c
Original file line number Diff line number Diff line change
Expand Up @@ -549,11 +549,8 @@ static int fscpos_detach_client(struct i2c_client *client)

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;
}
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/gl518sm.c
Original file line number Diff line number Diff line change
Expand Up @@ -492,11 +492,8 @@ static int gl518_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/gl520sm.c
Original file line number Diff line number Diff line change
Expand Up @@ -654,11 +654,8 @@ static int gl520_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/it87.c
Original file line number Diff line number Diff line change
Expand Up @@ -945,11 +945,8 @@ static int it87_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm63.c
Original file line number Diff line number Diff line change
Expand Up @@ -520,11 +520,8 @@ static int lm63_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm78.c
Original file line number Diff line number Diff line change
Expand Up @@ -683,11 +683,8 @@ static int lm78_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm80.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,11 +510,8 @@ static int lm80_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm83.c
Original file line number Diff line number Diff line change
Expand Up @@ -363,11 +363,8 @@ static int lm83_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm87.c
Original file line number Diff line number Diff line change
Expand Up @@ -734,11 +734,8 @@ static int lm87_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm90.c
Original file line number Diff line number Diff line change
Expand Up @@ -562,11 +562,8 @@ static int lm90_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/lm92.c
Original file line number Diff line number Diff line change
Expand Up @@ -399,11 +399,8 @@ static int lm92_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/max1619.c
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,8 @@ static int max1619_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/pc87360.c
Original file line number Diff line number Diff line change
Expand Up @@ -984,11 +984,8 @@ static int pc87360_detach_client(struct i2c_client *client)

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]) {
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/sis5595.c
Original file line number Diff line number Diff line change
Expand Up @@ -618,11 +618,8 @@ static int sis5595_detach_client(struct i2c_client *client)

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);

Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/smsc47b397.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,11 +214,8 @@ static int smsc47b397_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/smsc47m1.c
Original file line number Diff line number Diff line change
Expand Up @@ -497,11 +497,8 @@ static int smsc47m1_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/via686a.c
Original file line number Diff line number Diff line change
Expand Up @@ -700,11 +700,8 @@ static int via686a_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/w83627ehf.c
Original file line number Diff line number Diff line change
Expand Up @@ -774,11 +774,8 @@ static int w83627ehf_detach_client(struct i2c_client *client)

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);

Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/w83627hf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1157,11 +1157,8 @@ static int w83627hf_detach_client(struct i2c_client *client)

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);
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/w83781d.c
Original file line number Diff line number Diff line change
Expand Up @@ -1299,11 +1299,8 @@ w83781d_detach_client(struct i2c_client *client)
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)
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/w83792d.c
Original file line number Diff line number Diff line change
Expand Up @@ -1396,11 +1396,8 @@ w83792d_detach_client(struct i2c_client *client)
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)
Expand Down
5 changes: 1 addition & 4 deletions drivers/hwmon/w83l785ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,8 @@ static int w83l785ts_detach_client(struct i2c_client *client)

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;
Expand Down
5 changes: 1 addition & 4 deletions drivers/i2c/chips/ds1337.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,11 +353,8 @@ static int ds1337_detach_client(struct i2c_client *client)
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);
Expand Down
Loading

0 comments on commit 7bef559

Please sign in to comment.