diff options
author | Jean Delvare <khali@linux-fr.org> | 2008-01-27 18:14:51 +0100 |
---|---|---|
committer | Jean Delvare <khali@hyperion.delvare> | 2008-01-27 18:14:51 +0100 |
commit | 961f80f9c0c0f7c45d7818f9c9969dfaa9e4463d (patch) | |
tree | d3ff59a63689c933a0cdf2f975b5b354eb888588 /drivers/media/video/dpc7146.c | |
parent | i2c: Stop using the redundant client list (diff) | |
download | linux-961f80f9c0c0f7c45d7818f9c9969dfaa9e4463d.tar.xz linux-961f80f9c0c0f7c45d7818f9c9969dfaa9e4463d.zip |
i2c: Drivers stop using the redundant client list
The redundant i2c client list maintained by i2c-core is going away
soon, so drivers should stop using it now. Instead, they can use the
standard iterator provided by the device driver model
(device_for_each_child).
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Brownell <david-b@pacbell.net>
Cc: Michael Hunold <michael@mihu.de>
Diffstat (limited to 'drivers/media/video/dpc7146.c')
-rw-r--r-- | drivers/media/video/dpc7146.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/media/video/dpc7146.c b/drivers/media/video/dpc7146.c index 255dae303708..566e479e2629 100644 --- a/drivers/media/video/dpc7146.c +++ b/drivers/media/video/dpc7146.c @@ -87,11 +87,24 @@ struct dpc int cur_input; /* current input */ }; +static int dpc_check_clients(struct device *dev, void *data) +{ + struct dpc* dpc = data; + struct i2c_client *client = i2c_verify_client(dev); + + if( !client ) + return 0; + + if( I2C_SAA7111A == client->addr ) + dpc->saa7111a = client; + + return 0; +} + /* fixme: add vbi stuff here */ static int dpc_probe(struct saa7146_dev* dev) { struct dpc* dpc = NULL; - struct i2c_client *client; dpc = kzalloc(sizeof(struct dpc), GFP_KERNEL); if( NULL == dpc ) { @@ -115,9 +128,7 @@ static int dpc_probe(struct saa7146_dev* dev) } /* loop through all i2c-devices on the bus and look who is there */ - list_for_each_entry(client, &dpc->i2c_adapter.clients, list) - if( I2C_SAA7111A == client->addr ) - dpc->saa7111a = client; + device_for_each_child(&dpc->i2c_adapter.dev, dpc, dpc_check_clients); /* check if all devices are present */ if( 0 == dpc->saa7111a ) { |