diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-03-28 08:27:02 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:44 -0400 |
commit | 195784b8efd53c1034c6b6d5c8d8d4d25b91d505 (patch) | |
tree | 0e00b4af7c517b0fece5e854a5d0403ade511591 /drivers/media/video | |
parent | e7ddcd98a179c441d54fe84d221cea4e5852b235 (diff) |
V4L/DVB (11253): saa7134: fix RTD Embedded Technologies VFG7350 support.
This card has the saa6752hs on 7-bit address 0x21 instead of 0x20. Add
support in the card definition struct to select which address to use and
update the definitions accordingly.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 8 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-core.c | 5 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-empress.c | 3 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 13 insertions, 4 deletions
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 265a52ff8c33..3a038133b260 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -273,6 +273,7 @@ struct saa7134_board saa7134_boards[] = { | |||
273 | .radio_type = UNSET, | 273 | .radio_type = UNSET, |
274 | .tuner_addr = ADDR_UNSET, | 274 | .tuner_addr = ADDR_UNSET, |
275 | .radio_addr = ADDR_UNSET, | 275 | .radio_addr = ADDR_UNSET, |
276 | .empress_addr = 0x20, | ||
276 | 277 | ||
277 | .inputs = {{ | 278 | .inputs = {{ |
278 | .name = name_comp1, | 279 | .name = name_comp1, |
@@ -409,6 +410,7 @@ struct saa7134_board saa7134_boards[] = { | |||
409 | .radio_type = UNSET, | 410 | .radio_type = UNSET, |
410 | .tuner_addr = ADDR_UNSET, | 411 | .tuner_addr = ADDR_UNSET, |
411 | .radio_addr = ADDR_UNSET, | 412 | .radio_addr = ADDR_UNSET, |
413 | .empress_addr = 0x20, | ||
412 | .tda9887_conf = TDA9887_PRESENT, | 414 | .tda9887_conf = TDA9887_PRESENT, |
413 | .gpiomask = 0x820000, | 415 | .gpiomask = 0x820000, |
414 | .inputs = {{ | 416 | .inputs = {{ |
@@ -819,6 +821,7 @@ struct saa7134_board saa7134_boards[] = { | |||
819 | .radio_type = UNSET, | 821 | .radio_type = UNSET, |
820 | .tuner_addr = ADDR_UNSET, | 822 | .tuner_addr = ADDR_UNSET, |
821 | .radio_addr = ADDR_UNSET, | 823 | .radio_addr = ADDR_UNSET, |
824 | .empress_addr = 0x20, | ||
822 | .inputs = {{ | 825 | .inputs = {{ |
823 | .name = name_comp1, | 826 | .name = name_comp1, |
824 | .vmux = 4, | 827 | .vmux = 4, |
@@ -978,6 +981,7 @@ struct saa7134_board saa7134_boards[] = { | |||
978 | .radio_type = UNSET, | 981 | .radio_type = UNSET, |
979 | .tuner_addr = ADDR_UNSET, | 982 | .tuner_addr = ADDR_UNSET, |
980 | .radio_addr = ADDR_UNSET, | 983 | .radio_addr = ADDR_UNSET, |
984 | .empress_addr = 0x20, | ||
981 | .inputs = {{ | 985 | .inputs = {{ |
982 | .name = name_comp1, | 986 | .name = name_comp1, |
983 | .vmux = 1, | 987 | .vmux = 1, |
@@ -2365,6 +2369,7 @@ struct saa7134_board saa7134_boards[] = { | |||
2365 | .radio_type = UNSET, | 2369 | .radio_type = UNSET, |
2366 | .tuner_addr = ADDR_UNSET, | 2370 | .tuner_addr = ADDR_UNSET, |
2367 | .radio_addr = ADDR_UNSET, | 2371 | .radio_addr = ADDR_UNSET, |
2372 | .empress_addr = 0x21, | ||
2368 | .inputs = {{ | 2373 | .inputs = {{ |
2369 | .name = "Composite 0", | 2374 | .name = "Composite 0", |
2370 | .vmux = 0, | 2375 | .vmux = 0, |
@@ -4133,6 +4138,7 @@ struct saa7134_board saa7134_boards[] = { | |||
4133 | .radio_type = UNSET, | 4138 | .radio_type = UNSET, |
4134 | .tuner_addr = ADDR_UNSET, | 4139 | .tuner_addr = ADDR_UNSET, |
4135 | .radio_addr = ADDR_UNSET, | 4140 | .radio_addr = ADDR_UNSET, |
4141 | .empress_addr = 0x20, | ||
4136 | .tda9887_conf = TDA9887_PRESENT, | 4142 | .tda9887_conf = TDA9887_PRESENT, |
4137 | .inputs = { { | 4143 | .inputs = { { |
4138 | .name = name_tv, | 4144 | .name = name_tv, |
@@ -4169,6 +4175,7 @@ struct saa7134_board saa7134_boards[] = { | |||
4169 | .radio_type = UNSET, | 4175 | .radio_type = UNSET, |
4170 | .tuner_addr = ADDR_UNSET, | 4176 | .tuner_addr = ADDR_UNSET, |
4171 | .radio_addr = ADDR_UNSET, | 4177 | .radio_addr = ADDR_UNSET, |
4178 | .empress_addr = 0x20, | ||
4172 | .tda9887_conf = TDA9887_PRESENT, | 4179 | .tda9887_conf = TDA9887_PRESENT, |
4173 | .inputs = { { | 4180 | .inputs = { { |
4174 | .name = name_tv, | 4181 | .name = name_tv, |
@@ -4206,6 +4213,7 @@ struct saa7134_board saa7134_boards[] = { | |||
4206 | .radio_type = UNSET, | 4213 | .radio_type = UNSET, |
4207 | .tuner_addr = ADDR_UNSET, | 4214 | .tuner_addr = ADDR_UNSET, |
4208 | .radio_addr = ADDR_UNSET, | 4215 | .radio_addr = ADDR_UNSET, |
4216 | .empress_addr = 0x20, | ||
4209 | .tda9887_conf = TDA9887_PRESENT, | 4217 | .tda9887_conf = TDA9887_PRESENT, |
4210 | .inputs = { { | 4218 | .inputs = { { |
4211 | .name = name_tv, | 4219 | .name = name_tv, |
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c index 321f0d724485..4c24c9c7bb5b 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c | |||
@@ -982,8 +982,9 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, | |||
982 | /* load i2c helpers */ | 982 | /* load i2c helpers */ |
983 | if (card_is_empress(dev)) { | 983 | if (card_is_empress(dev)) { |
984 | struct v4l2_subdev *sd = | 984 | struct v4l2_subdev *sd = |
985 | v4l2_i2c_new_subdev(&dev->i2c_adap, "saa6752hs", | 985 | v4l2_i2c_new_subdev(&dev->i2c_adap, |
986 | "saa6752hs", 0x20); | 986 | "saa6752hs", "saa6752hs", |
987 | saa7134_boards[dev->board].empress_addr); | ||
987 | 988 | ||
988 | if (sd) | 989 | if (sd) |
989 | sd->grp_id = GRP_EMPRESS; | 990 | sd->grp_id = GRP_EMPRESS; |
diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c index c6cfe0fe7e3d..9db3472667e5 100644 --- a/drivers/media/video/saa7134/saa7134-empress.c +++ b/drivers/media/video/saa7134/saa7134-empress.c | |||
@@ -416,8 +416,7 @@ static int empress_g_chip_ident(struct file *file, void *fh, | |||
416 | if (chip->match.type == V4L2_CHIP_MATCH_I2C_DRIVER && | 416 | if (chip->match.type == V4L2_CHIP_MATCH_I2C_DRIVER && |
417 | !strcmp(chip->match.name, "saa6752hs")) | 417 | !strcmp(chip->match.name, "saa6752hs")) |
418 | return saa_call_empress(dev, core, g_chip_ident, chip); | 418 | return saa_call_empress(dev, core, g_chip_ident, chip); |
419 | if (chip->match.type == V4L2_CHIP_MATCH_I2C_ADDR && | 419 | if (chip->match.type == V4L2_CHIP_MATCH_I2C_ADDR) |
420 | chip->match.addr == 0x20) | ||
421 | return saa_call_empress(dev, core, g_chip_ident, chip); | 420 | return saa_call_empress(dev, core, g_chip_ident, chip); |
422 | return -EINVAL; | 421 | return -EINVAL; |
423 | } | 422 | } |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index d1498e55bef3..11396687b69c 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -332,6 +332,7 @@ struct saa7134_board { | |||
332 | unsigned int radio_type; | 332 | unsigned int radio_type; |
333 | unsigned char tuner_addr; | 333 | unsigned char tuner_addr; |
334 | unsigned char radio_addr; | 334 | unsigned char radio_addr; |
335 | unsigned char empress_addr; | ||
335 | 336 | ||
336 | unsigned int tda9887_conf; | 337 | unsigned int tda9887_conf; |
337 | unsigned int tuner_config; | 338 | unsigned int tuner_config; |