2010-08-23 15:06:59

by Wolfram Sang

[permalink] [raw]
Subject: [PATCH] i2c: remove obsolete cleanup for clientdata

A few new i2c-drivers came into the kernel which clear the clientdata-pointer
on exit. This is obsolete meanwhile, so fix it and hope the word will spread.

Signed-off-by: Wolfram Sang <[email protected]>
---

Jean, I dunno if it fits for 2.6.36. It is not precisely a regression.
Though, if it enters with the next merge window, the next set of "faulty"
drivers may come in at the same time...

drivers/misc/bh1780gli.c | 1 -
drivers/regulator/ad5398.c | 1 -
drivers/regulator/isl6271a-regulator.c | 2 --
drivers/rtc/rtc-ds3232.c | 2 --
4 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/misc/bh1780gli.c b/drivers/misc/bh1780gli.c
index 714c6b4..d5f3a3f 100644
--- a/drivers/misc/bh1780gli.c
+++ b/drivers/misc/bh1780gli.c
@@ -190,7 +190,6 @@ static int __devexit bh1780_remove(struct i2c_client *client)

ddata = i2c_get_clientdata(client);
sysfs_remove_group(&client->dev.kobj, &bh1780_attr_group);
- i2c_set_clientdata(client, NULL);
kfree(ddata);

return 0;
diff --git a/drivers/regulator/ad5398.c b/drivers/regulator/ad5398.c
index d59d2f2..15ff61d 100644
--- a/drivers/regulator/ad5398.c
+++ b/drivers/regulator/ad5398.c
@@ -256,7 +256,6 @@ static int __devexit ad5398_remove(struct i2c_client *client)

regulator_unregister(&chip->rdev);
kfree(chip);
- i2c_set_clientdata(client, NULL);

return 0;
}
diff --git a/drivers/regulator/isl6271a-regulator.c b/drivers/regulator/isl6271a-regulator.c
index e49d2bd..65ecd82 100644
--- a/drivers/regulator/isl6271a-regulator.c
+++ b/drivers/regulator/isl6271a-regulator.c
@@ -191,8 +191,6 @@ static int __devexit isl6271a_remove(struct i2c_client *i2c)
struct isl_pmic *pmic = i2c_get_clientdata(i2c);
int i;

- i2c_set_clientdata(i2c, NULL);
-
for (i = 0; i < 3; i++)
regulator_unregister(pmic->rdev[i]);

diff --git a/drivers/rtc/rtc-ds3232.c b/drivers/rtc/rtc-ds3232.c
index 9daed8d..9de8516 100644
--- a/drivers/rtc/rtc-ds3232.c
+++ b/drivers/rtc/rtc-ds3232.c
@@ -268,7 +268,6 @@ out_irq:
free_irq(client->irq, client);

out_free:
- i2c_set_clientdata(client, NULL);
kfree(ds3232);
return ret;
}
@@ -287,7 +286,6 @@ static int __devexit ds3232_remove(struct i2c_client *client)
}

rtc_device_unregister(ds3232->rtc);
- i2c_set_clientdata(client, NULL);
kfree(ds3232);
return 0;
}
--
1.7.1


2010-08-23 15:22:18

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] i2c: remove obsolete cleanup for clientdata

On Mon, Aug 23, 2010 at 05:05:08PM +0200, Wolfram Sang wrote:
> A few new i2c-drivers came into the kernel which clear the clientdata-pointer
> on exit. This is obsolete meanwhile, so fix it and hope the word will spread.
>
> Signed-off-by: Wolfram Sang <[email protected]>

Acked-by: Mark Brown <[email protected]>

2010-08-23 19:03:55

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH] i2c: remove obsolete cleanup for clientdata

On Mon, 23 Aug 2010 17:05:08 +0200, Wolfram Sang wrote:
> A few new i2c-drivers came into the kernel which clear the clientdata-pointer
> on exit. This is obsolete meanwhile, so fix it and hope the word will spread.
>
> Signed-off-by: Wolfram Sang <[email protected]>
> ---
>
> Jean, I dunno if it fits for 2.6.36. It is not precisely a regression.
> Though, if it enters with the next merge window, the next set of "faulty"
> drivers may come in at the same time...

Applied, and queued for 2.6.36. I agree that this kind of cleanup fits
well as an exception to the bugfix-only rule.

--
Jean Delvare

2010-08-23 21:58:40

by Mike Frysinger

[permalink] [raw]
Subject: Re: [PATCH] i2c: remove obsolete cleanup for clientdata

On Mon, Aug 23, 2010 at 11:05, Wolfram Sang <wrote:
> A few new i2c-drivers came into the kernel which clear the clientdata-pointer
> on exit. This is obsolete meanwhile, so fix it and hope the word will spread.

on a related note, do we need to clear it when erroring at probe time
? doesnt seem like that is necessary either ...
-mike

2010-08-24 05:17:20

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PATCH] i2c: remove obsolete cleanup for clientdata

On Mon, Aug 23, 2010 at 05:58:17PM -0400, Mike Frysinger wrote:
> On Mon, Aug 23, 2010 at 11:05, Wolfram Sang <wrote:
> > A few new i2c-drivers came into the kernel which clear the clientdata-pointer
> > on exit. This is obsolete meanwhile, so fix it and hope the word will spread.
>
> on a related note, do we need to clear it when erroring at probe time
> ? doesnt seem like that is necessary either ...

Correct, you don't have to. The core will do it.

--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |


Attachments:
(No filename) (613.00 B)
signature.asc (197.00 B)
Digital signature
Download all attachments