aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/ivtv/ivtv-i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/pci/ivtv/ivtv-i2c.c')
-rw-r--r--drivers/media/pci/ivtv/ivtv-i2c.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/media/pci/ivtv/ivtv-i2c.c b/drivers/media/pci/ivtv/ivtv-i2c.c
index 46e262becb67..ceed2d87abfd 100644
--- a/drivers/media/pci/ivtv/ivtv-i2c.c
+++ b/drivers/media/pci/ivtv/ivtv-i2c.c
@@ -267,8 +267,6 @@ int ivtv_i2c_register(struct ivtv *itv, unsigned idx)
267 const char *type = hw_devicenames[idx]; 267 const char *type = hw_devicenames[idx];
268 u32 hw = 1 << idx; 268 u32 hw = 1 << idx;
269 269
270 if (idx >= ARRAY_SIZE(hw_addrs))
271 return -1;
272 if (hw == IVTV_HW_TUNER) { 270 if (hw == IVTV_HW_TUNER) {
273 /* special tuner handling */ 271 /* special tuner handling */
274 sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0, 272 sd = v4l2_i2c_new_subdev(&itv->v4l2_dev, adap, type, 0,
@@ -719,13 +717,10 @@ int init_ivtv_i2c(struct ivtv *itv)
719 return -ENODEV; 717 return -ENODEV;
720 } 718 }
721 if (itv->options.newi2c > 0) { 719 if (itv->options.newi2c > 0) {
722 memcpy(&itv->i2c_adap, &ivtv_i2c_adap_hw_template, 720 itv->i2c_adap = ivtv_i2c_adap_hw_template;
723 sizeof(struct i2c_adapter));
724 } else { 721 } else {
725 memcpy(&itv->i2c_adap, &ivtv_i2c_adap_template, 722 itv->i2c_adap = ivtv_i2c_adap_template;
726 sizeof(struct i2c_adapter)); 723 itv->i2c_algo = ivtv_i2c_algo_template;
727 memcpy(&itv->i2c_algo, &ivtv_i2c_algo_template,
728 sizeof(struct i2c_algo_bit_data));
729 } 724 }
730 itv->i2c_algo.udelay = itv->options.i2c_clock_period / 2; 725 itv->i2c_algo.udelay = itv->options.i2c_clock_period / 2;
731 itv->i2c_algo.data = itv; 726 itv->i2c_algo.data = itv;
@@ -735,8 +730,7 @@ int init_ivtv_i2c(struct ivtv *itv)
735 itv->instance); 730 itv->instance);
736 i2c_set_adapdata(&itv->i2c_adap, &itv->v4l2_dev); 731 i2c_set_adapdata(&itv->i2c_adap, &itv->v4l2_dev);
737 732
738 memcpy(&itv->i2c_client, &ivtv_i2c_client_template, 733 itv->i2c_client = ivtv_i2c_client_template;
739 sizeof(struct i2c_client));
740 itv->i2c_client.adapter = &itv->i2c_adap; 734 itv->i2c_client.adapter = &itv->i2c_adap;
741 itv->i2c_adap.dev.parent = &itv->pdev->dev; 735 itv->i2c_adap.dev.parent = &itv->pdev->dev;
742 736