aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-03-28 08:27:02 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:44 -0400
commit195784b8efd53c1034c6b6d5c8d8d4d25b91d505 (patch)
tree0e00b4af7c517b0fece5e854a5d0403ade511591 /drivers/media/video
parente7ddcd98a179c441d54fe84d221cea4e5852b235 (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.c8
-rw-r--r--drivers/media/video/saa7134/saa7134-core.c5
-rw-r--r--drivers/media/video/saa7134/saa7134-empress.c3
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
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;