Message ID | 1282575908-16555-1-git-send-email-w.sang@pengutronix.de |
---|---|
State | Accepted |
Headers | show |
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>
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.
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
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.
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; }
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(-)