[PATCH] drivers: remove all i2c_set_clientdata(client, NULL)
Dmitry Torokhov
dmitry.torokhov at gmail.com
Tue Jun 1 05:09:12 EST 2010
Hi Wolfram,
On Mon, May 31, 2010 at 02:55:48PM +0200, Wolfram Sang wrote:
> I2C-drivers can use the clientdata-pointer to point to private data. As I2C
> devices are not really unregistered, but merely detached from their driver, it
> used to be the drivers obligation to clear this pointer during remove() or a
> failed probe(). As a couple of drivers forgot to do this, it was agreed that it
> was cleaner if the i2c-core does this clearance when appropriate, as there is
> no guarantee for the lifetime of the clientdata-pointer after remove() anyhow.
> This feature was added to the core with commit
> e4a7b9b04de15f6b63da5ccdd373ffa3057a3681 to fix the faulty drivers.
>
> As there is no need anymore to clear the clientdata-pointer, remove all current
> occurrences in the drivers to simplify the code and prevent confusion.
>
> Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
> Cc: Jean Delvare <khali at linux-fr.org>
> ---
>
> Some more notes:
>
> I waited for rc1 as I knew there were some drivers/patches coming along which
> needed to be processed, too.
>
> I'd suggest that this goes via the i2c-tree, so we get rid of all occurences at
> once.
>
Frankly I'd prefer taking input stuff through my tree with the goal of
.36 merge window just to minimize potential merge issues. This is a
simple cleanup patch that has no dependencies, so there is little gain
from doing it all in one go.
Thanks.
--
Dmitry
More information about the Linuxppc-dev
mailing list