aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/saa7134/saa7134-i2c.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-01-17 10:17:14 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:22 -0400
commitfac6986c4777ae85fa2108ea25fee98de2c1f7b2 (patch)
tree477119cf15d50bcc548ddd6e6ba15eb69e311d23 /drivers/media/video/saa7134/saa7134-i2c.c
parent5b73e98c83fc5087f591c9b12ee546b97e9283d4 (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.c21
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
358static struct i2c_adapter saa7134_adap_template = { 356static 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
424void 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
431int 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}
439EXPORT_SYMBOL_GPL(saa7134_i2c_call_saa6752);
440
441int saa7134_i2c_register(struct saa7134_dev *dev) 421int 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;