diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-01-17 10:17:14 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:42:22 -0400 |
commit | fac6986c4777ae85fa2108ea25fee98de2c1f7b2 (patch) | |
tree | 477119cf15d50bcc548ddd6e6ba15eb69e311d23 /drivers/media/video/saa7134/saa7134-i2c.c | |
parent | 5b73e98c83fc5087f591c9b12ee546b97e9283d4 (diff) |
V4L/DVB (10247): saa7134: convert to the new v4l2 framework.
Register v4l2_device and switch to v4l2_subdev to access the i2c modules.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-i2c.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-i2c.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/drivers/media/video/saa7134/saa7134-i2c.c b/drivers/media/video/saa7134/saa7134-i2c.c index 20c1b33caf7b..2e15f43d26ec 100644 --- a/drivers/media/video/saa7134/saa7134-i2c.c +++ b/drivers/media/video/saa7134/saa7134-i2c.c | |||
@@ -327,8 +327,6 @@ static int attach_inform(struct i2c_client *client) | |||
327 | 327 | ||
328 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", | 328 | d1printk( "%s i2c attach [addr=0x%x,client=%s]\n", |
329 | client->driver->driver.name, client->addr, client->name); | 329 | client->driver->driver.name, client->addr, client->name); |
330 | if (client->addr == 0x20 && client->driver && client->driver->command) | ||
331 | dev->mpeg_i2c_client = client; | ||
332 | 330 | ||
333 | /* Am I an i2c remote control? */ | 331 | /* Am I an i2c remote control? */ |
334 | 332 | ||
@@ -357,7 +355,6 @@ static struct i2c_algorithm saa7134_algo = { | |||
357 | 355 | ||
358 | static struct i2c_adapter saa7134_adap_template = { | 356 | static struct i2c_adapter saa7134_adap_template = { |
359 | .owner = THIS_MODULE, | 357 | .owner = THIS_MODULE, |
360 | .class = I2C_CLASS_TV_ANALOG, | ||
361 | .name = "saa7134", | 358 | .name = "saa7134", |
362 | .id = I2C_HW_SAA7134, | 359 | .id = I2C_HW_SAA7134, |
363 | .algo = &saa7134_algo, | 360 | .algo = &saa7134_algo, |
@@ -421,29 +418,13 @@ static void do_i2c_scan(char *name, struct i2c_client *c) | |||
421 | } | 418 | } |
422 | } | 419 | } |
423 | 420 | ||
424 | void saa7134_i2c_call_clients(struct saa7134_dev *dev, | ||
425 | unsigned int cmd, void *arg) | ||
426 | { | ||
427 | BUG_ON(NULL == dev->i2c_adap.algo_data); | ||
428 | i2c_clients_command(&dev->i2c_adap, cmd, arg); | ||
429 | } | ||
430 | |||
431 | int saa7134_i2c_call_saa6752(struct saa7134_dev *dev, | ||
432 | unsigned int cmd, void *arg) | ||
433 | { | ||
434 | if (dev->mpeg_i2c_client == NULL) | ||
435 | return -EINVAL; | ||
436 | return dev->mpeg_i2c_client->driver->command(dev->mpeg_i2c_client, | ||
437 | cmd, arg); | ||
438 | } | ||
439 | EXPORT_SYMBOL_GPL(saa7134_i2c_call_saa6752); | ||
440 | |||
441 | int saa7134_i2c_register(struct saa7134_dev *dev) | 421 | int saa7134_i2c_register(struct saa7134_dev *dev) |
442 | { | 422 | { |
443 | dev->i2c_adap = saa7134_adap_template; | 423 | dev->i2c_adap = saa7134_adap_template; |
444 | dev->i2c_adap.dev.parent = &dev->pci->dev; | 424 | dev->i2c_adap.dev.parent = &dev->pci->dev; |
445 | strcpy(dev->i2c_adap.name,dev->name); | 425 | strcpy(dev->i2c_adap.name,dev->name); |
446 | dev->i2c_adap.algo_data = dev; | 426 | dev->i2c_adap.algo_data = dev; |
427 | i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); | ||
447 | i2c_add_adapter(&dev->i2c_adap); | 428 | i2c_add_adapter(&dev->i2c_adap); |
448 | 429 | ||
449 | dev->i2c_client = saa7134_client_template; | 430 | dev->i2c_client = saa7134_client_template; |