Patchwork i2c: remove obsolete cleanup for clientdata

login
register
mail settings
Submitter Wolfram Sang
Date Aug. 23, 2010, 3:05 p.m.
Message ID <1282575908-16555-1-git-send-email-w.sang@pengutronix.de>
Download mbox | patch
Permalink /patch/62491/
State New
Headers show

Comments

Wolfram Sang - Aug. 23, 2010, 3:05 p.m.
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 <w.sang@pengutronix.de>
---

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(-)
Mark Brown - Aug. 23, 2010, 3:22 p.m.
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 <w.sang@pengutronix.de>

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jean Delvare - Aug. 23, 2010, 7:03 p.m.
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 <w.sang@pengutronix.de>
> ---
> 
> 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.
Mike Frysinger - Aug. 23, 2010, 9:58 p.m.
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
Wolfram Sang - Aug. 24, 2010, 5:16 a.m.
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.

Patch

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