diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2006-02-22 00:48:00 +0200 |
---|---|---|
committer | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2006-02-22 00:48:00 +0200 |
commit | 016e2c55c79d9394c22e6bfd93ef073caa766706 (patch) | |
tree | e36aa7eca65c2b87f5b02d022791a020becaee38 /linux/drivers/media/video | |
parent | eeaa22858ac00b68bd5fe46af679dd5ffabeb5ce (diff) | |
download | mediapointer-dvb-s2-016e2c55c79d9394c22e6bfd93ef073caa766706.tar.gz mediapointer-dvb-s2-016e2c55c79d9394c22e6bfd93ef073caa766706.tar.bz2 |
Restore power on defaults of tda9887 after tda8290 probe
From: Hartmut Hackmann <hartmut.hackmann@t-online.de>
The probing code for tda8290 changes the state of the tda9887 GP ports.
The patch assumes that if probing for tda8290 failed, this must be a
tda9887 and restores its power on defaults.
This should solve the module load order issue with some pinnacle cards.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-cards.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/tda8290.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c index 3963ac2d1..162a89052 100644 --- a/linux/drivers/media/video/saa7134/saa7134-cards.c +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c @@ -2215,7 +2215,7 @@ struct saa7134_board saa7134_boards[] = { .radio_type = UNSET, .tuner_addr = 0x61, .radio_addr = ADDR_UNSET, - .tda9887_conf = TDA9887_PRESENT, + .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE, .mpeg = SAA7134_MPEG_DVB, .inputs = {{ .name = name_tv, @@ -2239,7 +2239,7 @@ struct saa7134_board saa7134_boards[] = { .radio_type = UNSET, .tuner_addr = 0x61, .radio_addr = ADDR_UNSET, - .tda9887_conf = TDA9887_PRESENT, + .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE, .mpeg = SAA7134_MPEG_DVB, .inputs = {{ .name = name_tv, diff --git a/linux/drivers/media/video/tda8290.c b/linux/drivers/media/video/tda8290.c index 7c1e17ebb..c0f965b03 100644 --- a/linux/drivers/media/video/tda8290.c +++ b/linux/drivers/media/video/tda8290.c @@ -589,9 +589,10 @@ int tda8290_init(struct i2c_client *c) int tda8290_probe(struct i2c_client *c) { - unsigned char soft_reset[] = { 0x00, 0x00 }; - unsigned char easy_mode_b[] = { 0x01, 0x02 }; - unsigned char easy_mode_g[] = { 0x01, 0x04 }; + unsigned char soft_reset[] = { 0x00, 0x00 }; + unsigned char easy_mode_b[] = { 0x01, 0x02 }; + unsigned char easy_mode_g[] = { 0x01, 0x04 }; + unsigned char restore_9886[] = { 0x00, 0xd6, 0x30 }; unsigned char addr_dto_lsb = 0x07; unsigned char data; @@ -608,6 +609,7 @@ int tda8290_probe(struct i2c_client *c) return 0; } } + i2c_master_send(c, restore_9886, 3); return -1; } |